oracle實驗記錄 (transport tablespace(EXPDP/IMPDP))
使用EXPDP/IMPDP(EXP/IMP)方式
oracle 10g 允許在不同平臺 transport tablespace
SQL> desc v$transportable_platform;
名稱 是否為空? 型別
----------------------------------------- -------- ----------------------------
PLATFORM_ID NUMBER
PLATFORM_NAME VARCHAR2(101)
ENDIAN_FORMAT VARCHAR2(14)
SQL> select platform_name from v$transportable_platform;
PLATFORM_NAME
--------------------------------------------------------------------------------
Solaris[tm] OE (32-bit)
Solaris[tm] OE (64-bit)
Microsoft Windows IA (32-bit)
Linux IA (32-bit)
AIX-Based Systems (64-bit)
HP-UX (64-bit)
HP Tru64 UNIX
HP-UX IA (64-bit)
Linux IA (64-bit)
HP Open VMS
Microsoft Windows IA (64-bit)
PLATFORM_NAME
--------------------------------------------------------------------------------
IBM zSeries Based Linux
Linux 64-bit for AMD
Apple Mac OS
Microsoft Windows 64-bit for AMD
Solaris Operating System (x86)
IBM Power Based Linux
已選擇17行
以上是oracle所支援的平臺
有些限制條件
1.source db 與target DB 有相同的字符集,nls_database_parameters 中NLS_CHARACTERSET,NLS_NCHAR_CHARACTERSET必須一樣
2.不能有同名tablespace,不過 10G 可用alter tablespace rename解決
3.SYSTEM TABLESPACE 不能transport,sys物件在的tablespace不能transport
4.是不是自包含的(用TRANSPORT_FULL_CHECK可以解決 )不過匯出INDEX TABLESPACE 沒匯出依賴的表tablespace還是會報錯,分割槽表沒全部包含,表lob列所在tablespace沒包含 都會報錯
C:\>expdp system/a831115@xh directory=expdpt dumpfile=e.dmp transport_tablespaces=
system
Export: Release 10.2.0.1.0 - Production on 星期三, 23 9月, 2009 12:12:14
Copyright (c) 2003, 2005, Oracle. All rights reserved.
連線到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
ORA-39001: 引數值無效
ORA-39134: 不能包含作為可傳輸表空間的 "SYSTEM" 表空間~~~~~~~~~~~~SYSTEM 不行
SQL> conn / as sysdba
已連線。
SQL> create table t6 (a int) tablespace testxh;
表已建立。
SQL> alter tablespace testxh read only(使用RMAN TRANSPORT TABLESPACE 不用read only)
2 ;
表空間已更改。
C:\>expdp system/a831115@xh directory=expdpt dumpfile=e.dmp transport_tablespaces=
testxh
Export: Release 10.2.0.1.0 - Production on 星期三, 23 9月, 2009 12:13:39
Copyright (c) 2003, 2005, Oracle. All rights reserved.
連線到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
啟動 "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01": system/********@xh directory=expdpt d
umpfile=e.dmp transport_tablespaces=testxh
ORA-39123: 資料泵可傳輸的表空間作業中止
ORA-29341: 可傳送集不是自包含的~~~~~~~~~~~~~~~~~~~中含有SYS物件不行
表已刪除。
SQL> conn / as sysdba
已連線。
SQL> execute dbms_tts.transport_set_check('testxh',true);檢查下時候可以transport
SQL> select * from transport_set_violations;
VIOLATIONS
--------------------------------------------------------------------------------
Sys owned object T6 in tablespace TESTXH not allowed in pluggable set
有內容就是有錯誤,解決相關問題
SQL> alter table t6 move tablespace users;
表已更改。
SQL> execute dbms_tts.transport_set_check('testxh',true);
PL/SQL 過程已成功完成。
SQL> select * from transport_set_violations;
未選定行~~~~~~~~~~~~~可以transport 該tablespace了
另外對於
dbms_tts.transport_set_check 有以下引數
引數名稱 型別 輸入/輸出預設值?
------------------------------ ----------------------- ------ --------
TS_LIST CLOB IN
INCL_CONSTRAINTS BOOLEAN IN DEFAULT
FULL_CHECK BOOLEAN IN DEFAULT
不指定FULL_CHECK DEFAULT n 不會檢查tablespace是否是自包含的
SQL> conn xh/a123
已連線。
SQL> select count(*) from t1;
COUNT(*)
----------
1
SQL> alter table t1 move tablespace testxh;
表已更改。
SQL> create index t1_ind on t1(a);
索引已建立。
SQL> select tablespace_name from user_indexes where index_name='T1_IND';
TABLESPACE_NAME
------------------------------
USERS
SQL> select tablespace_name from user_tables where table_name='T1';
TABLESPACE_NAME
------------------------------
TESTXH
上面可以看到index與table不在同一tablespace
SQL> conn / as sysdba
已連線。
SQL> execute dbms_tts.transport_set_check('testxh',true);
PL/SQL 過程已成功完成。
SQL> select * from transport_set_violations;
未選定行~~~~~~~~~~~~~~~~~~~沒檢查出來INDEX 與table不在同一tablespace
SQL> execute dbms_tts.transport_set_check('testxh',true,true);
PL/SQL 過程已成功完成。
SQL> select * from transport_set_violations;
VIOLATIONS
--------------------------------------------------------------------------------
Index XH.T1_IND in tablespace USERS points to table XH.T1 in tablespace TESTXH
檢查出來了 INDEX 與table不在同一tablespace
SQL> conn xh/a123
已連線。
SQL> alter index t1_ind rebuild tablespace testxh; 解決
索引已更改。
SQL> conn / as sysdba
已連線。
SQL> execute dbms_tts.transport_set_check('testxh',true,true);
PL/SQL 過程已成功完成。
SQL> select * from transport_set_violations;
未選定行
SQL> alter tablespace testxh read only;
表空間已更改。
C:\>expdp system/a831115@xh directory=expdpt dumpfile=e.dmp transport_tablespaces=
testxh
Export: Release 10.2.0.1.0 - Production on 星期三, 23 9月, 2009 13:33:19
SQL> host copy d:\xhdatafile\testxh.dbf e:\orcldatafile\testxh.dbf
已複製 1 個檔案。
SQL> host copy D:\expdp\e.dmp e:\test\e.dmp
已複製 1 個檔案
DMP檔案和DATAFILE 都複製過去
SET ORACLE_SID=ORCL
C:\>sqlplus / as sysdba
SQL> create directory dumplist as 'e:\test';
目錄已建立。
C:\>impdp system/a831115 directory=dumplist dumpfile=e.dmp transport_datafiles=e:\
orcldatafile\testxh.dbf remap_schema=xh:system
作業 "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" 已於 13:48:18 成功完成
SQL> select tablespace_name from dba_tablespaces;
TABLESPACE_NAME
------------------------------
SYSTEM
UNDOTBS1
SYSAUX
TEMP
USERS
EXAMPLE
TEST
RMAN_TS
TESTXH~~~~~~~~~~orcl db多了這個 tablespace
已選擇9行。
SQL> conn system/a831115
已連線。
SQL> select count(*) from t1; TESTXH TABLESPACE 中物件也給了 ORCL DB SYSTEM USER
COUNT(*)
----------
1
SQL> col tablespace_name format a10
SQL> col file_name format a30
SQL> select tablespace_name,file_name from dba_data_files;
TABLESPACE FILE_NAME
---------- ------------------------------
SYSTEM E:\SYSDATAFILE2.DBF
TEST D:\TEST.DBF
EXAMPLE E:\ORACLE\PRODUCT\10.2.0\ORADA
TA\ORCL\EXAMPLE01.DBF
USERS E:\ORACLE\PRODUCT\10.2.0\ORADA
TA\ORCL\USERS01.DBF
SYSAUX E:\ORACLE\PRODUCT\10.2.0\ORADA
TA\ORCL\SYSAUX01.DBF
TABLESPACE FILE_NAME
---------- ------------------------------
UNDOTBS1 E:\ORACLE\PRODUCT\10.2.0\ORADA
TA\ORCL\UNDOTBS01.DBF
SYSTEM E:\ORACLE\PRODUCT\10.2.0\ORADA
TA\ORCL\SYSTEM01.DBF
RMAN_TS D:\RMAN_TS.DBF
TESTXH E:\ORCLDATAFILE\TESTXH.DBF~~~~~~~~~~~~~~~~~~~~~~
已選擇9行。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12020513/viewspace-615395/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle實驗記錄 (transport tablespace(Rman))Oracle
- oracle實驗記錄 (exp/imp transport tablespace)Oracle
- oracle實驗記錄 (expdp/impdp使用)Oracle
- oracle實驗記錄 (bigfile tablespace)Oracle
- oracle實驗記錄 (oracle 10G rman transport database)OracleDatabase
- oracle expdp and impdpOracle
- expdp / impdp 之 remap_schema remap_tablespaceREM
- expdp / impdp 之 remap_schema remap_tablespaceREM
- oracle實驗記錄 (恢復read only tablespace(1))Oracle
- oracle實驗記錄 (恢復read only tablespace(2))Oracle
- oracle expdp/impdp用法Oracle
- ORACLE expdp/impdp詳解Oracle
- Oracle expdp/impdp 使用示例Oracle
- oracle10g ASM transport_tablespaceOracleASM
- TRANSPORT TABLESPACE總結
- oracle expdp和impdp使用例子Oracle
- ORACLE 10G expdp/impdpOracle 10g
- Oracle10g expdp & impdpOracle
- oracle資料庫的impdp,expdpOracle資料庫
- oracle EXPDP/IMPDP 常用命令Oracle
- Oracle 邏輯備份 expdp/impdpOracle
- expdp&impdp For Oracle 10GOracle 10g
- Oracle 10g expdp/impdp的CONTENT選項體驗Oracle 10g
- 23.EXPDP 和 IMPDP(筆記)筆記
- Oracle使用資料泵 (expdp/impdp)實施遷移Oracle
- oracle實驗記錄 (flashback)Oracle
- oracle實驗記錄 (OMF)Oracle
- oracle實驗記錄 (NET)Oracle
- oracle實驗記錄 (audit)Oracle
- impdp/expdp 示例
- oracle匯入匯出之expdp/impdpOracle
- Oracle expdp impdp dump引數介紹Oracle
- Oracle 傳輸表空間-EXPDP/IMPDPOracle
- ORACLE EXPDP IMPDP 中停止和啟動Oracle
- oracle 10g imp/exp IMPDP/EXPDPOracle 10g
- oracle 10.2.0.4 expdp全庫匯出 和分使用者impdp匯入的記錄Oracle
- oracle實驗記錄 (oracle reset parameter)Oracle
- expdp 和impdp的筆記[轉帖]筆記