国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

Oracle利用傳輸表空間導出導入數據的步驟

2024-08-29 13:52:11
字體:
來源:轉載
供稿:網友
示例:準備兩個數據庫(ltdb和ePRas),從ltdb導出tsts表空間(用戶ts,包含2個數據文件到epras。

詳細的執行步驟:

1.ltdb導出可傳輸表空間(以sysdba執行導出)到dmp文件。

2.將ltdb的tsts表空間改為只讀。

3.用操作系統命令復制數據文件和dmp文件到另一個位置給另一個數據庫epras使用。

如果在一臺服務器上,dmp文件可以不必復制,復制完成后,將ltdb的tsts表空間改為可讀寫。

4.在epras數據庫創建ts用戶(此時不必授權)。

5.導入可傳輸表空間(以sysdba執行導入)到dmp文件到epras數據庫。

6.將epras的tsts表空間改為可讀寫,給ts用戶授權。

好處很明顯,和數據exp/imp相比,速度很快,dmp文件只包含表空間元數據10g支持不同平臺的表空間傳輸,支持大頭/小頭操作系統之間的傳輸/*

在Oracle以前的版本中,可傳輸的表空間的特性可以讓表空間在相同的體系結構和操作系統之間遷移.

在 Oracle 數據庫 10g 中,這個局限消失了:只要操作系統字節順序相同,您就可以在平臺

之間傳輸表空間。一些操作系統(包括 Windows)在低位內存地址中用最低有效字節存儲

多字節二進制數據;因此這種系統被稱為低地址低字節序。相反,其它的操作系統

(包括 Solaris)將最高有效字節存儲在低位內存地址中,因此這種系統被稱為低地址高字節序。

當一個低地址高字節序的系統試圖從一個低地址低字節序的系統中讀取數據時,需要一個轉換過程

— 否則,字節順序將導致不能正確解釋讀取的數據。

不過,當在相同字節順序的平臺之間傳輸表空間時,不需要任何轉換。

Oracle 10g的表空間跨平臺遷移,與Oracle9i比較就是增加了一個使用Rman進行的文件格式轉換的過程。

實際上僅僅是轉換了數據文件頭的格式信息。

COLUMN PLATFORM_NAME FORMAT A30

檢查可轉換平臺

SELECT * FROM V$TRANSPORTABLE_PLATFORM;

PLATFORM_ID PLATFORM_NAME ENDIAN_FORMAT

----------- ---------------------------------------- --------------

1 Solaris[tm] OE (32-bit) Big

2 Solaris[tm] OE (64-bit) Big

7 Microsoft Windows IA (32-bit) Little

10 linux IA (32-bit) Little

6 AIX-Based Systems (64-bit) Big

3 HP-UX (64-bit) Big

5 HP Tru64 UNIX Little

4 HP-UX IA (64-bit) Big

11 Linux IA (64-bit) Little

15 HP Open VMS Little

8 Microsoft Windows IA (64-bit) Little

9 IBM zSeries Based Linux Big

13 Linux 64-bit for AMD Little

16 Apple Mac OS Big

12 Microsoft Windows 64-bit for AMD Little

17 Solaris Operating System (x86) Little

18 IBM Power Based Linux Big

17 rows selected

檢查源平臺

SELECT d.PLATFORM_NAME, ENDIAN_FORMAT

FROM V$TRANSPORTABLE_PLATFORM tp, V$DATABASE d

WHERE tp.PLATFORM_NAME = d.PLATFORM_NAME;

PLATFORM_NAME ENDIAN_FORMAT

---------------------------------------- --------------

Solaris[tm] OE (64-bit) Big

檢查目標平臺

SELECT d.PLATFORM_NAME, ENDIAN_FORMAT

FROM V$TRANSPORTABLE_PLATFORM tp, V$DATABASE d

WHERE tp.PLATFORM_NAME = d.PLATFORM_NAME;

PLATFORM_NAME ENDIAN_FORMAT

------------------------------ -------------

Microsoft Windows IA (32-bit) Little

檢查待轉換表空間

EXECUTE DBMS_TTS.TRANSPORT_SET_CHECK('tswin1,tswin2', TRUE);

PL/SQL procedure successfully completed.

是否有沖突

SELECT * FROM TRANSPORT_SET_VIOLATIONS;

no rows selected

運行rman

rman TARGET /

CONVERT TABLESPACE tswin1,tswin2

TO PLATFORM 'Microsoft Windows IA (32-bit)'

FORMAT '/tmp/rman/%U';

在以上的例子中,轉換后的文件名難于辨認并很難與原始文件關聯還可以使用其它格式來為數據文件命名。

CONVERT TABLESPACE tswin1,tswin2

TO PLATFORM 'Microsoft Windows IA (32-bit)'

db_file_name_convert '/tmp/LTDB','/tmp/rman'

此處將在轉換后保留文件名。

*/

======詳細執行結果===============

1.ltdb導出

root@t2000 # su - oracle

Sun Microsystems Inc. SunOS 5.10 Generic January 2005

$ ORACLE_SID=LTDB

$ export ORACLE_SID

$ sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on Thu Jun 15 15:54:18 2006

Copyright (c) 1982, 2005, Oracle. All rights reserved.

SQL> conn / as sysdba

Connected.

SQL> create tablespace TSTS datafile '/tmp/LTDB/TSTS01.DBF' size 10M ,'/tmp/LTDB/TSTS02.DBF' size 10M;

Tablespace created.

SQL> create user ts identified by ts default tablespace tsts;

User created.

SQL> grant connect to ts;

Grant succeeded.

SQL> grant resource to ts;

Grant succeeded.

SQL> conn ts/ts

Connected.

SQL> create table t1(c1 varchar(255),c2 varchar(255));

Table created.

SQL> insert into t1 select sys_guid(),sys_guid() from dual connect by level <=10000;

10000 rows created.

SQL> commit;

Commit complete.

SQL> select * from t1 where rownum<=5;

C1 C2

-------------------------------- --------------------------------

163FD8C45C092993E04400144F025BB6 163FD8C45C0A2993E04400144F025BB6

163FD8C45C0B2993E04400144F025BB6 163FD8C45C0C2993E04400144F025BB6

163FD8C45C0D2993E04400144F025BB6 163FD8C45C0E2993E04400144F025BB6

163FD8C45C0F2993E04400144F025BB6 163FD8C45C102993E04400144F025BB6

163FD8C45C112993E04400144F025BB6 163FD8C45C122993E04400144F025BB6

SQL> conn system/sys

Connected.

SQL> alter tablespace tsts read only

SQL> /

Tablespace altered.

SQL> ho

$ exp userid=/'sys/sys as sysdba/' tablespaces=tsts file=/tmp/tsts.dmp l transport_tablespace=y

Export: Release 10.2.0.1.0 - Production on Thu Jun 15 16:20:29 2006

Copyright (c) 1982, 2005, Oracle. All rights reserved.

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production

With the Partitioning, OLAP and Data Mining options

Export done in ZHS16GBK character set and AL16UTF16 NCHAR character set

Note: table data (rows) will not be exported

About to export transportable tablespace metadata...

For tablespace TSTS ...

. exporting cluster definitions

. exporting table definitions

. . exporting table

. exporting referential integrity constraints

. exporting triggers

. end transportable tablespace metadata export

Export terminated successfully without warnings.

2.epras導入

=============================================

root@t2000 # su - oracle

Sun Microsystems Inc. SunOS 5.10 Generic January 2005

$ sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on Thu Jun 15 16:26:11 2006

Copyright (c) 1982, 2005, Oracle. All rights reserved.

SQL> conn / as sysdba

Connected.

SQL> ho

復制數據文件,此時數據庫ltdb的tsts表空間還是read only

$ cp /tmp/LTDB/TS*DBF /oracle

建立目標數據庫上的用戶,如果不建立,導入時需要加touser=參數,否則會出錯

SQL> create user ts identified by ts;

User created.

SQL> ho

SQL> revoke connect from ts;

Revoke succeeded.

SQL> revoke resource from ts;

Revoke succeeded.

SQL> ho

$ imp userid=/'sys/sys as sysdba/' tablespaces=tsts file=/tmp/tsts.dmp transport_tablespace=y datafiles=/oracle/TSTS01.DBF, /oracle/TSTS02.DBF

Import: Release 10.2.0.1.0 - Production on Thu Jun 15 18:24:06 2006

Copyright (c) 1982, 2005, Oracle. All rights reserved.

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production

With the Partitioning, OLAP and Data Mining options

Export file created by EXPORT:V10.02.01 via conventional path

About to import transportable tablespace(s) metadata...

import done in ZHS16GBK character set and AL16UTF16 NCHAR character set

. importing SYS's objects into SYS

. importing SYS's objects into SYS

. importing TS's objects into TS

. . importing table "T1"

. importing SYS's objects into SYS

Import terminated successfully without warnings.

$ exit

SQL> alter tablespace tsts read write;

Tablespace altered.

SQL> select table_name from all_tables where owner='TS';

TABLE_NAME

------------------------------

T1

SQL> grant connect to TS;

Grant succeeded.

SQL> grant resource to TS;

Grant succeeded.

SQL> conn ts/ts

Connected.

SQL> set lines 132

SQL> set pages 9999

SQL> col c1 format a40

SQL> col c2 format a40

SQL> select * from t1 where rownum<=5;

C1 C2

---------------------------------------- ----------------------------------------

163FD8C45C092993E04400144F025BB6 163FD8C45C0A2993E04400144F025BB6

163FD8C45C0B2993E04400144F025BB6 163FD8C45C0C2993E04400144F025BB6

163FD8C45C0D2993E04400144F025BB6 163FD8C45C0E2993E04400144F025BB6

163FD8C45C0F2993E04400144F025BB6 163FD8C45C102993E04400144F025BB6

163FD8C45C112993E04400144F025BB6 163FD8C45C122993E04400144F025BB6

SQL>


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 天台县| 无极县| 山西省| 咸丰县| 达尔| 伊宁县| 西乌珠穆沁旗| 达拉特旗| 游戏| 永丰县| 克东县| 泰宁县| 湖南省| 天门市| 阿勒泰市| 宜黄县| 章丘市| 科尔| 宾川县| 来安县| 兰西县| 安丘市| 沙河市| 平凉市| 阳东县| 洛扎县| 文安县| 杂多县| 周至县| 枣庄市| 黔南| 绩溪县| 博客| 木里| 建德市| 株洲县| 朝阳区| 正宁县| 利川市| 富川| 雷州市|