oracle表空間傳輸
表空間傳輸
一、簡介
可傳輸表空間(還有個集)最大的優勢是其速度比 export/import或unload/load要快的多。因為可傳輸表空間主要是複製資料檔案到目標路徑,然後再使用export/import或 Data Pump export/import等應用僅匯出/匯入表空間物件的後設資料到新資料庫。
(1)可傳輸表空間的特性主要用於進行庫對庫的表空間複製,要進行傳輸的表空間必須置於read-only模式。如果生產庫不允許表空間置為只讀模式,沒關係,方法還是有的,透過RMAN備份也可以建立可傳輸表空間集。
(2)要使用可傳輸表空間的特性,oracle至少是8i企業版或更高版本。如果是相同作業系統平臺相互匯入,則8i及以上版本均可支援,但如果是不同作業系統平臺,資料庫版本至少10g。
(3)被傳輸的表空間即可以是字典管理,也可以是本地管理。並且自oracle9i開始,被傳輸表空間的block size可以與目標資料庫的block size不同。
一 些作業系統(包括 Windows)在低位記憶體地址中用最低有效位元組儲存多位元組二進位制資料;因此這種系統被稱為低地址低位元組序。相反,其它的作業系統(包括 Solaris)將最高有效位元組儲存在低位記憶體地址中,因此這種系統被稱為低地址高位元組序。當一個低地址高位元組序的系統試圖從一個低地址低位元組序的系統中 讀取資料時,需要一個轉換過程— 否則,位元組順序將導致不能正確解釋讀取的資料。不過,當在相同位元組順序的平臺之間傳輸表空間時,不需要任何轉換。
如果平臺間的endian不同,那麼在執行匯入操作之之前必須首先轉換源平臺的表空間到目標格式,如果平臺間endian format相同,則可以跳過轉換的步驟,即使是不同平臺。當然前提是各平臺的資料庫版本都不低於10g。
在表空間可被傳輸到不同平臺之前,資料檔案的檔案頭必須能夠識別其所屬的原平臺是什麼,對於oracle資料庫初始化引數中COMPATIBLE置為10.0.0或更高之後,你必須至少將表空間置為read-write一次,這點非常重要。
表空間傳輸是透過oracle的邏輯匯出命令exp/imp新增引數transport_tablespace=y進行匯出匯入。
執行表空間傳輸有以下限制條件:
(1)源資料庫和目標資料庫必須處於相同的平臺。10g以後可以用RMAN命令修改資料檔案實現跨平臺移動表空間。
(2)對於源資料庫和目標資料庫版本不同時,源資料庫的版本必須低於目標資料庫。
(3)兩邊設定的資料庫字符集和國家字符集必須一致。
(4)目標資料庫不能存在需要匯入的表空間。
(5)源資料庫和目標資料庫的blocksize必須一致(9i前)。
自oracle10gR2開始,可以傳輸含XMLTypes的表空間,不過必須使用imp/exp而不能選擇資料泵(impdp/expdp)。並確保imp/exp命令的CONSTRAINTS和TRIGGERS引數設定為Y。
下列指令碼可以列出資料庫中哪些表空間含XMLTypes:
select distinct p.tablespace_name
from dba_tablespaces p,
dba_xml_tables x,
dba_users u,
all_all_tables t
where t.table_name = x.table_name
and t.tablespace_name = p.tablespace_name
and x.owner = u.username
傳輸表空間的一些限制:
(1)高階佇列(Advanced Queues):可傳輸表空間的特性並不支援8.0相容的高階佇列
(2)系統表空間(SYSTEM Tablespace Objects):不能傳輸SYSTEM表空間或者SYS使用者擁有的物件。
(3) 對映型別(Opaque Types):由應用指定並且對映到資料庫(如RAW,BFILE等)的型別可以被傳輸,但是它們並不會被做為跨平臺轉換的一部分。其實際型別是什麼只有 指定它的應用清楚,所以必須保證這個應用解決讀取各種endian問題後再考慮將其傳輸到新平臺。
(4)浮點資料(Floating-Point Numbers):BINARY_FLOAT和BINARY_DOUBLE型別可以使用資料泵匯入匯出但不支援EXP。
二、表空間傳輸的步驟:
1、需要移動的表空間必須是自包含的。
如果表空間中的資料與其他表空間中的資料有參照關係,那麼在移動表空間時,凡是相關的表空間都需要一同移動。、
可以透過如下命令檢查是否為自包含表空間:
SQL>execute dbms_tts.transport_set_check(ts_list=>'',incl_constraints=>TRUE);
引數ts_list指定需要傳輸的表空間,incl_constraints指定是否檢查完整性約束。執行完後,檢查臨時表transport_set_violations,如果沒有返回資訊,表示表空間為自包含。
2、將需要傳輸的表空間設定為只讀。
SQL>alter tablespace XXX read only;
如果生產庫不允許表空間只讀,可以選擇透過RMAN備份生成表空間集的方式進行
3、以sysdba身份連線資料庫執行exp匯出。
C:>exp userid='sys/sys@jiong as sysdba' file=d:\testspace.dmp log=d:\testspaceexp.log transport_tablespace=y tablespaces=testspace buffer=10240000
只是匯出的待傳輸表空間的目錄結構資訊(後設資料),並不包含實際資料,因此匯出的速度非常快,而且檔案也很小
4、使用RMAN轉換所要傳輸表空間的資料檔案頭為目標系統檔案(10g下在不同的平臺傳輸時)
這步轉換可以在源資料庫也可以在目標資料庫進行。
RMAN>convert tablespace "TESTSPACE" to platform 'Microsoft Windows IA (32-bit)' format 'd:\TESTSPACE01.DBF'
記住這步結束後別忘了將表空間置回可寫:
alter tablespace TESTSPACE read write
關於platform引數可以透過查詢v$db_transportable_platform得到。
(1)v$db_transportable_platform
V$DB_TRANSPORTABLE_PLATFORM displays all platforms to which the database can be transported using the RMAN CONVERT DATABASE command. The transportable database feature only supports transports of the same endian platform. Therefore, V$DB_TRANSPORTABLE_PLATFORM displays fewer rows than V$TRANSPORTABLE_PLATFORM.
(2)v$transportable_platform
V$TRANSPORTABLE_PLATFORM displays all platform names and their identifiers
5、複製表空間轉換後的資料檔案及匯出檔案到目標平臺
6、使用imp匯入表空間
這裡需要注意,在目標資料庫需要先建立原先表空間裡物件所屬的使用者,但是又不能使用同名的表空間,所以這個使用者會建立在其他表空間上。
還有,如果傳輸的表空間集block_size與目標庫的預設block_size不同,那你的第一步就得是設定目標庫中DB_nK_CACHE_SIZE的初始化引數(9i以上)。
c:>imp userid='sys/sys@mood as sysdba' file=d:\testspace.dmp log=d:\testspaceimp.log tablespaces=testspace datafiles=d:\TESTSPACE01.DBF transport_tablespace=y
將使用者預設表空間修改為匯入的表空間:
alter user TUSER default tablespace TESTSPACE
如果需要,將匯入到目標資料庫的表空間置為可寫,因為匯入後也是處於read only狀態。
alter tablespace TESTSPACE read write
===================================================測 試========================================================
1、建立測試表空間和測試使用者、表
create tablespace TESTSPACE datafile
'E:\oracle\product\10.2.0\oradata\jiong\TESTSPACE01.DBF' size 50m
autoextend on next 64m maxsize unlimited
extent management local
segment space management auto
create user tuser identified by tuser default tablespace TESTSPACE
grant connect,resource to tuser
conn tuser/tuser@jiong
create table tobject as select * from all_objects
2、檢查自包含性
conn sys/sys@jiong as sysdba
SQL>execute dbms_tts.transport_set_check(ts_list=>'TESTSPACE',incl_constraints=>TRUE);
select * from transport_set_violations;
設定表空間只讀
alter tablespace TESTSPACE read only
3、執行匯出
exp userid='sys/sys@jiong as sysdba' file=d:\testspace.dmp log=d:\testspaceexp.log transport_tablespace=y tablespaces=TESTSPACE buffer=10240000
4、模擬平臺轉換(同一平臺傳輸不需要這步)
RMAN>convert tablespace "TESTSPACE" to platform 'Microsoft Windows IA (32-bit)' format 'd:\TESTSPACE01.DBF' --這個是轉換的目標地址
5、複製表空間轉換後的資料檔案及匯出檔案到目標平臺
即上面的'd:\TESTSPACE01.DBF'和'd:\testspace.dmp'
6、先在目標資料庫建立使用者TUSER
create user tuser identified by tuser --由於還沒有TESTSPACE所以使用者預設表空間是其他表空間
grant connect,resource to tuser
使用imp匯入表空間
c:>imp userid='sys/sys@mood as sysdba' file=d:\testspace.dmp log=d:\testspaceimp.log tablespaces=testspace datafiles=d:\TESTSPACE01.DBF transport_tablespace=y
alter user TUSER default tablespace TESTSPACE --將預設表空間修改為TESTSPACE
============================================================================================================================================
ORACLE傳輸表空間的補充
對 於跨平臺的傳輸,查詢V$TRANSPORTABLE_PLATFORM檢視檢查兩平臺的endian format。如果你準備傳輸表空間集到不同endian平臺,必須首先轉換表空間集的endian與目標平臺相同。前面提到,如果涉及了endian的 轉換,可以在生成可傳輸表空間集時進行(源平臺進行),或者在匯入表空間集之前進行(目標平臺進行),轉換的命令都是一個,只是引數略有不同,關於命令的 用法暫且不提,後面會有專門章節介紹和實踐。在這裡我們先來深入一個這個操作究竟放在哪裡合適。按說這個操作放在哪裡執行都可以,應該沒有什麼可爭辯的, 但是值的注意的是針對我們操作的資料庫,特別是對於正在執行的生產資料庫,三思建議你採用在目標平臺上進行轉換的操作,緣由如下:
(1)縮短停機時間
在建立可傳輸表空間集之前,需要將要傳輸的表空間狀態置為read-only。你可以將資料檔案迅速複製一份映象,並生成包含後設資料的export檔案,然後即可將表空間狀態置為read-write狀態。這種安排使得表空間必須保持為只讀的時間儘可能的短。
(2) 提高執行效能
生產資料庫往往同時在處理多個應用,而此時如果再用其進行轉換操作可能增加系統負載,並且系統此時由於執行的任務較多,轉換效率也並非最高。將轉換操作移到目標平臺進行,通常對於目標平臺都是做為備份角色,其系統負載相對是比較低的,執行轉換操作的效率相對也會更高。
(3)簡化複製操作
透過在目標平臺執行轉換命令時指定db_file_name_convert引數,直接將資料檔案轉換到目標目錄內,簡化複製時的操作。
===========================================================================================================================================
表空間不能置read only時的表空間傳輸
常 規的表空間傳輸要求被傳輸的表空間在傳輸過程中必須置為read-only,而在實際操作過程中,對於某些生產資料庫,將表空間置為read-only 是件非常複雜的事情甚至完全不允許,尤其對於超大的表空間,因為被傳輸的表空間在此期間仍可進行讀寫操作,而且把表空間置為read-only 模式可能會花費較長時間。
這裡藉助RMAN的資料庫複製功能,透過複製資料庫來解決這一問題,具體操作如下:
一、建立測試表空間和測試使用者、表
create tablespace TESTSPACE datafile
'E:\oracle\product\10.2.0\oradata\mood\TESTSPACE01.DBF' size 50m
autoextend on next 64m maxsize unlimited
extent management local
segment space management auto;
create user tuser identified by tuser default tablespace TESTSPACE;
grant connect,resource to tuser;
conn tuser/tuser@mood
create table tobject as select * from all_objects;
二、檢查自包含性
conn sys/sys@mood as sysdba
SQL>execute dbms_tts.transport_set_check(ts_list=>'TESTSPACE',incl_constraints=>TRUE);
select * from transport_set_violations;
三、構造“只讀”的表空間(關鍵步驟)
[設定表空間只讀 alter tablespace TESTSPACE read only;] 此步在24小時生產系統一般不允許,這裡由RMAN的資料庫複製功能實現。
1、確認目標資料庫具有必須的備份
E:\oracle>rman target sys/sys@mood
RMAN>list backup; --一般生產環境都是有備份的
如果沒有則進行全備:
RMAN> backup database plus archivelog delete input;
2、生成可傳輸集
E:\oracle>rman target sys/sys@mood --連線生產資料庫
RMAN>transport tablespace TESTSPACE TABLESPACE DESTINATION = 'e:\exp' auxiliary destination = 'E:\auxiliary';
生成的可傳輸檔案將會被儲存至tablespace destination引數指定的位置,其它輔助檔案生成到auxiliary destination引數指定的位置
這句生成語句,可以有很多變化,這一點是read only表空間無法比擬的:
(1)加UNTIL SCN XXX,指定SCN號
(2)UNTIL TIME 'SYSDATE-1',指定時間點
(3)DATAPUMP DIRECTORY ttsdir --指定已定義的DIRECTORY
DUMP FILE 'dmpfile.dmp' --指定後設資料檔案
IMPORT SCRIPT. 'impscript.sql' --指定匯入指令碼
EXPORT LOG 'explog.log'; --指定匯出日誌檔案
dmpfile.dmp及explog.log檔案會自動儲存到ttsdir指向的物理路徑,其它檔案均被生成到TABLESPACE DESTINATION目錄內
注 意:這裡不需要像RMAN資料庫複製那樣自己建立輔助例項並使用,RMAN自己會構建輔助例項,並在完成資料檔案和相關後設資料匯出操作後將這個輔助例項刪 除。在參考其他文件時描述了大量輔助例項建立的步驟,但其實都是不需要的。如果在生成傳輸集時連線了自定義的輔助例項,那麼會報錯:RMAN- 05022: TRANSPORT TABLESPACE may not be used with user-managed auxiliary instance
注意:TRANSPORT TABLESPACE 命令執行過程中,恢復集檔案並不會自動轉換到目標資料庫的endian 格式。如果需要轉換,你必須在建立可傳輸集前使用rman 的convert 命令轉換資料檔案到目標資料庫的endian 格式:
RMAN>convert tablespace "TESTSPACE" to platform 'Microsoft Windows IA (32-bit)' format 'd:\TESTSPACE01.DBF' --這個是轉換的目標地址
RMAN 在刪除自動例項時,最後會報無法刪除檔案的錯誤,可能為一個BUG,但對於實際使用無影響,因為輔助例項在傳輸完後已無用,可以直接手動刪除。RMAN自 動例項的資料檔案均在auxiliary destination引數指定位置下的一個資料夾中,由於複製了生產庫,所以在實際操作中應該需要注意這個空間要足夠大。
四、複製到目標平臺後執行匯出
登入目標資料庫,執行前面TABLESPACE DESTINATION目錄下自動生成的impscrpt.sql指令碼就OK了:
sqlplus sys/sys@RUI as sysdba --執行指令碼前先確認目標資料庫已建立傳輸的表空間的使用者,這裡是前面建的tuser
SQL>@e:\exp\impscrpt.sql
也可以自己寫impdp,注意這裡使用的是datapump,所以切記前面傳輸的表空間中
impdp sys/sys@rui as sysdba DUMPFILE=e:\exp\DMPFILE.DMP DIRECTORY=DATA_PUMP_DIR TRANSPORT_DATAFILES=e:\exp\TESTSPACE01.DBF
透過impdp 匯入有一個好處,可以透過REMAP_SCHEMA 引數指定表空間所屬的schema,而不用建立表空間在源庫中對應的使用者
五、將目標資料庫新複製的表空間置為read write
SQL>alter user tuser default tablespace TESTSPACE;
SQL>alter tablespace TESTSPACE read write;
傳輸完成!
============================================================================================================================================
實戰RMAN備份傳輸表空間
http://space.itpub.net/7551038/viewspace-614393
前 面各章從理論到實踐詳細論述了關於可傳輸表空間,還有個集(Transportable Tablespace Sets)的建立,其中都提到了很重要一點,就是被傳輸的表空間在傳輸過程中必須置為read-only。而在實際操作過程中,對於某些生產資料庫,將表 空間置為read-only是件非常複雜的事情甚至完全不允許,有了RMAN的Transportable Tablespace,這一切都得以避免。RMAN透過備份建立可傳輸表空間集,它並不需要存取活動的資料檔案,相應也就不需要將表空間置為read- only。因此,資料庫可用性得到提升,尤其對於超大的表空間,因為被傳輸的表空間在此期間仍可進行讀寫操作,而且把表空間置為read-only模式可 能會花費較長時間,
使用RMAN建立可傳輸表空間集,允許你在傳輸過程中指定目標恢復時間點或SCN,這樣傳輸的資料可以更靈 活,不必完全複製現有表空間,只要備份中存在,你就可以選擇性的恢復資料。例如,你的備份策略為保留一週,你希望建立的可傳輸表空間中資料是截止本月底最 後一天的資料,那麼你在下個月第一週內任何時候都可以進行傳輸操作而不需要考慮這期間生產庫是否會有寫入操作。
使用rman備份建立Transportable Tablespace Sets主要是透過RMAN中的TRANSPORT TABLESPACE命令完成的。
提 示:即使並未使用rman備份資料庫,TRANSPORT TABLESPACE命令也可以用來建立transportable tablespace sets。不過,你必須有要傳輸的表空間集資料檔案複製,然後使用rman的catalog命令將資料檔案、歸檔日誌等檔案的複製載入rman資料庫。只 有rman擁有了所需備份才能夠正常執行TRANSPORT TABLESPACE。
一、適用場合
基本上,任何需要傳輸表空間的情況,你都可以使用rman的TRANSPORT TABLESPACE命令去建立,只要擁有所需的備份。
二、相關概念
RMAN建立可傳輸表空間集與RMAN Tablespace Point-in-Time Recovery (TSPITR)極其相似,如果你有過TSPITR的操作經驗,那麼操作這個同樣不在話下。
單槍不能成事,Oracle的霸業就是靠無數相互關聯的物件以不同方式巧妙組合而成。對於建立TTS而言,RMAN仍然不是一個人在戰鬥,他不是一個人:
RMAN客戶端(Recovery Manager client)
源庫(source database),即要傳輸的表空間所在庫。
源庫歸檔及備份(Archived redo logs and backups)
輔助例項(auxiliary instance),這個大家應該都比較熟了,如果你還不瞭解可以參見"Duplicate建立副本資料庫"系列第2章。
輔助集(auxiliary set),包括資料檔案等其它傳送所需但又並不是恢復集一部分的檔案。例如SYSTEM表空間,Undo表空間之類。而輔助例項通常也不是一個人,它也有 一些關聯檔案,例如控制檔案、初始化引數檔案、線上日誌等,這些檔案並不屬於輔助集,雖然是起輔助目的,但它們的老主顧顯然是輔助例項。
輔助檔案暫存地(auxiliary destination)即輔助集所包含的物件在rman transport tablespace命令執行過程中物理存放的位置,執行完之後這些檔案會被刪除。
提示:auxiliary destination並非必須指定,如果不指定的話,必須確保協助例項相關的各檔案在初始化引數中均已指定具體儲存位置。
表空間目的地(tablespace destination),tablespace transport命令執行期間生成的傳輸集資料檔案及其它輸出檔案的儲存路徑。
可傳輸集(transportable set),由待傳輸表空間資料檔案以及expdp生成的匯出檔案(export dump file)組成的,用於填充到目標資料庫表空間的集合,預設情況下,這些集合中的檔案儲存在表空間目的地指定路徑下。
RMAN自動生成的匯入指令碼(import script)以及expdp生成的匯出日誌(export log),可傳輸集的一部分。
三、命令格式:關於Transport Tablespaces命令
過rman備份建立可傳輸表空間集避免透過源庫當前活動的資料檔案。同樣恢復時可以恢復到備份中包含的任意時間而不會被限定僅能恢復到當前時間。其建立的工作就是由一個名為Transport Tablespaces的RMAN命令來實現,其格式如下:
Transport Tablespace命令的引數不少,不過幸運的是並不複雜,並且其引數與前面介紹的關聯實體名稱相同,由此僅通常引數名我們也大致能猜出所代表的意義,下面通常幾個應用的示例加深一下印象:
1、最簡單的可傳輸表空間集的建立:
transport tablespace tbs_1, tbs_2
tablespace destination '/disk1/transportdest'
auxiliary destination '/disk1/auxdest';
本 例中,待傳輸表空間為tbs_1和tbs_2兩個(如果待傳輸的表空間有多個,中間以逗號分隔),生成的可傳輸檔案將會被儲存至tablespace destination引數指定的位置,其它輔助檔案生成到auxiliary destination引數指定的位置。
2、建立時指定恢復時間點
TRANSPORT TABLESPACE tbs_3
TABLESPACE DESTINATION '/disk1/transportdest'
AUXILIARY DESTINATION '/disk1/auxdest'
UNTIL SCN 11379;
本例中,透過指定SCN的方式控制恢復的內容。
又如下例中透過指定時間控制恢復的內容:
TRANSPORT TABLESPACE tbs_2
TABLESPACE DESTINATION '/disk1/transportdest'
AUXILIARY DESTINATION '/disk1/auxdest'
UNTIL RESTORE POINT 'before_upgrade';
指定恢復點方式控制恢復的內容:
TRANSPORT TABLESPACE tbs_2
TABLESPACE DESTINATION '/disk1/transportdest'
AUXILIARY DESTINATION '/disk1/auxdest'
UNTIL TIME 'SYSDATE-1';
提示:需要注意指定的恢復時間點必須存在於備份的redo log或歸檔檔案中。
3、建立時指定檔案的生成路徑:
TRANSPORT TABLESPACE tbs_2
TABLESPACE DESTINATION '/disk1/transportdest'
AUXILIARY DESTINATION '/disk1/auxdest'
DATAPUMP DIRECTORY ttsdir
DUMP FILE 'dmpfile.dmp'
IMPORT SCRIPT. 'impscript.sql'
EXPORT LOG 'explog.log';
只要你想,就可以。預設情況下:
DATAPUMP DIRECTORY引數指定已定義的DIRECTORY:ttsdir
DUMP FILE引數指定後設資料檔案,命名為:dmpfile.dmp
IMPORT SCRIPT引數指定匯入指令碼,命名為:impscript.sql
EXPORT LOG引數指定匯出日誌檔案,命名為:explog.log
dmpfile.dmp及explog.log檔案會自動儲存到ttsdir指向的物理路徑,其它檔案均被生成到/disk1/transportdest目錄內。
實戰RMAN備份傳輸表空間
一、檢查平臺是否支援
查詢源資料庫平臺資訊
SQL> col platform_name for a40
SQL> SELECT d.PLATFORM_NAME, ENDIAN_FORMAT
FROM V$TRANSPORTABLE_PLATFORM. tp, V$DATABASE d
WHERE tp.PLATFORM_NAME = d.PLATFORM_NAME;
查詢Oracle10g支援的平臺轉換
SQL> select * from v$transportable_platform;
二、檢查待傳輸表空間是否自包含
execute dbms_tts.transport_set_check('TEST', true);
若報過程dbms_tts.transport_set_check不存在,則用sys的資料庫使用者執行指令碼"$ORACLE_HOME/rdbms/admin/dbmsplts.sql"建立之。
SELECT * FROM TRANSPORT_SET_VIOLATIONS;
若查詢結果為空,說明表空間是自包含的;否者查詢結果說明哪些地方違反了自包含。
三、檢查備份
先做好備份
***歸檔Alter system archive log current;
四、生成可傳輸集
RMAN>transport tablespace nnd
TABLESPACE DESTINATION = 'k:\exp'
auxiliary destination = 'k:\aux1';
刪除自動例項
自動例項已刪除
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: tranport tablespace 命令 (在 11/19/2007 15:23:45 上) 失敗
ORA-27056: 無法刪除檔案
OSD-04024: 無法刪除檔案。
O/S-Error: (OS 32) 另一個程式正在使用此檔案,程式無法訪問
O/S-Error: (OS 32)通常跟windows平臺有關,嘗試換用linux平臺執行...........一切正常!
報錯是在刪除輔助例項檔案時,此時傳輸集已經生成了,不會影響我們後續操作。那我們就手工刪除這些檔案好了,基本上就是auxiliary destination引數指定路徑下的檔案,乾脆直接連這個目錄也刪掉。
五、複製檔案到目標平臺
六、執行匯入指令碼
注意,匯入表空間在源平臺所屬的使用者必須存在,另外一旦複製到目標庫後檔案路徑如果發生變化,一定要修改impscript.sql檔案中相應的路徑。
[oracle@jsslinux ~]$ sqlplus "/ as sysdba"
SQL> @/opt/oratmp/oradata/impscript.sql
出處:http://blog.csdn.net/l106439814/article/details/8627044
一、簡介
可傳輸表空間(還有個集)最大的優勢是其速度比 export/import或unload/load要快的多。因為可傳輸表空間主要是複製資料檔案到目標路徑,然後再使用export/import或 Data Pump export/import等應用僅匯出/匯入表空間物件的後設資料到新資料庫。
(1)可傳輸表空間的特性主要用於進行庫對庫的表空間複製,要進行傳輸的表空間必須置於read-only模式。如果生產庫不允許表空間置為只讀模式,沒關係,方法還是有的,透過RMAN備份也可以建立可傳輸表空間集。
(2)要使用可傳輸表空間的特性,oracle至少是8i企業版或更高版本。如果是相同作業系統平臺相互匯入,則8i及以上版本均可支援,但如果是不同作業系統平臺,資料庫版本至少10g。
(3)被傳輸的表空間即可以是字典管理,也可以是本地管理。並且自oracle9i開始,被傳輸表空間的block size可以與目標資料庫的block size不同。
一 些作業系統(包括 Windows)在低位記憶體地址中用最低有效位元組儲存多位元組二進位制資料;因此這種系統被稱為低地址低位元組序。相反,其它的作業系統(包括 Solaris)將最高有效位元組儲存在低位記憶體地址中,因此這種系統被稱為低地址高位元組序。當一個低地址高位元組序的系統試圖從一個低地址低位元組序的系統中 讀取資料時,需要一個轉換過程— 否則,位元組順序將導致不能正確解釋讀取的資料。不過,當在相同位元組順序的平臺之間傳輸表空間時,不需要任何轉換。
如果平臺間的endian不同,那麼在執行匯入操作之之前必須首先轉換源平臺的表空間到目標格式,如果平臺間endian format相同,則可以跳過轉換的步驟,即使是不同平臺。當然前提是各平臺的資料庫版本都不低於10g。
在表空間可被傳輸到不同平臺之前,資料檔案的檔案頭必須能夠識別其所屬的原平臺是什麼,對於oracle資料庫初始化引數中COMPATIBLE置為10.0.0或更高之後,你必須至少將表空間置為read-write一次,這點非常重要。
表空間傳輸是透過oracle的邏輯匯出命令exp/imp新增引數transport_tablespace=y進行匯出匯入。
執行表空間傳輸有以下限制條件:
(1)源資料庫和目標資料庫必須處於相同的平臺。10g以後可以用RMAN命令修改資料檔案實現跨平臺移動表空間。
(2)對於源資料庫和目標資料庫版本不同時,源資料庫的版本必須低於目標資料庫。
(3)兩邊設定的資料庫字符集和國家字符集必須一致。
(4)目標資料庫不能存在需要匯入的表空間。
(5)源資料庫和目標資料庫的blocksize必須一致(9i前)。
自oracle10gR2開始,可以傳輸含XMLTypes的表空間,不過必須使用imp/exp而不能選擇資料泵(impdp/expdp)。並確保imp/exp命令的CONSTRAINTS和TRIGGERS引數設定為Y。
下列指令碼可以列出資料庫中哪些表空間含XMLTypes:
select distinct p.tablespace_name
from dba_tablespaces p,
dba_xml_tables x,
dba_users u,
all_all_tables t
where t.table_name = x.table_name
and t.tablespace_name = p.tablespace_name
and x.owner = u.username
傳輸表空間的一些限制:
(1)高階佇列(Advanced Queues):可傳輸表空間的特性並不支援8.0相容的高階佇列
(2)系統表空間(SYSTEM Tablespace Objects):不能傳輸SYSTEM表空間或者SYS使用者擁有的物件。
(3) 對映型別(Opaque Types):由應用指定並且對映到資料庫(如RAW,BFILE等)的型別可以被傳輸,但是它們並不會被做為跨平臺轉換的一部分。其實際型別是什麼只有 指定它的應用清楚,所以必須保證這個應用解決讀取各種endian問題後再考慮將其傳輸到新平臺。
(4)浮點資料(Floating-Point Numbers):BINARY_FLOAT和BINARY_DOUBLE型別可以使用資料泵匯入匯出但不支援EXP。
二、表空間傳輸的步驟:
1、需要移動的表空間必須是自包含的。
如果表空間中的資料與其他表空間中的資料有參照關係,那麼在移動表空間時,凡是相關的表空間都需要一同移動。、
可以透過如下命令檢查是否為自包含表空間:
SQL>execute dbms_tts.transport_set_check(ts_list=>'
引數ts_list指定需要傳輸的表空間,incl_constraints指定是否檢查完整性約束。執行完後,檢查臨時表transport_set_violations,如果沒有返回資訊,表示表空間為自包含。
2、將需要傳輸的表空間設定為只讀。
SQL>alter tablespace XXX read only;
如果生產庫不允許表空間只讀,可以選擇透過RMAN備份生成表空間集的方式進行
3、以sysdba身份連線資料庫執行exp匯出。
C:>exp userid='sys/sys@jiong as sysdba' file=d:\testspace.dmp log=d:\testspaceexp.log transport_tablespace=y tablespaces=testspace buffer=10240000
只是匯出的待傳輸表空間的目錄結構資訊(後設資料),並不包含實際資料,因此匯出的速度非常快,而且檔案也很小
4、使用RMAN轉換所要傳輸表空間的資料檔案頭為目標系統檔案(10g下在不同的平臺傳輸時)
這步轉換可以在源資料庫也可以在目標資料庫進行。
RMAN>convert tablespace "TESTSPACE" to platform 'Microsoft Windows IA (32-bit)' format 'd:\TESTSPACE01.DBF'
記住這步結束後別忘了將表空間置回可寫:
alter tablespace TESTSPACE read write
關於platform引數可以透過查詢v$db_transportable_platform得到。
(1)v$db_transportable_platform
V$DB_TRANSPORTABLE_PLATFORM displays all platforms to which the database can be transported using the RMAN CONVERT DATABASE command. The transportable database feature only supports transports of the same endian platform. Therefore, V$DB_TRANSPORTABLE_PLATFORM displays fewer rows than V$TRANSPORTABLE_PLATFORM.
(2)v$transportable_platform
V$TRANSPORTABLE_PLATFORM displays all platform names and their identifiers
5、複製表空間轉換後的資料檔案及匯出檔案到目標平臺
6、使用imp匯入表空間
這裡需要注意,在目標資料庫需要先建立原先表空間裡物件所屬的使用者,但是又不能使用同名的表空間,所以這個使用者會建立在其他表空間上。
還有,如果傳輸的表空間集block_size與目標庫的預設block_size不同,那你的第一步就得是設定目標庫中DB_nK_CACHE_SIZE的初始化引數(9i以上)。
c:>imp userid='sys/sys@mood as sysdba' file=d:\testspace.dmp log=d:\testspaceimp.log tablespaces=testspace datafiles=d:\TESTSPACE01.DBF transport_tablespace=y
將使用者預設表空間修改為匯入的表空間:
alter user TUSER default tablespace TESTSPACE
如果需要,將匯入到目標資料庫的表空間置為可寫,因為匯入後也是處於read only狀態。
alter tablespace TESTSPACE read write
===================================================測 試========================================================
1、建立測試表空間和測試使用者、表
create tablespace TESTSPACE datafile
'E:\oracle\product\10.2.0\oradata\jiong\TESTSPACE01.DBF' size 50m
autoextend on next 64m maxsize unlimited
extent management local
segment space management auto
create user tuser identified by tuser default tablespace TESTSPACE
grant connect,resource to tuser
conn tuser/tuser@jiong
create table tobject as select * from all_objects
2、檢查自包含性
conn sys/sys@jiong as sysdba
SQL>execute dbms_tts.transport_set_check(ts_list=>'TESTSPACE',incl_constraints=>TRUE);
select * from transport_set_violations;
設定表空間只讀
alter tablespace TESTSPACE read only
3、執行匯出
exp userid='sys/sys@jiong as sysdba' file=d:\testspace.dmp log=d:\testspaceexp.log transport_tablespace=y tablespaces=TESTSPACE buffer=10240000
4、模擬平臺轉換(同一平臺傳輸不需要這步)
RMAN>convert tablespace "TESTSPACE" to platform 'Microsoft Windows IA (32-bit)' format 'd:\TESTSPACE01.DBF' --這個是轉換的目標地址
5、複製表空間轉換後的資料檔案及匯出檔案到目標平臺
即上面的'd:\TESTSPACE01.DBF'和'd:\testspace.dmp'
6、先在目標資料庫建立使用者TUSER
create user tuser identified by tuser --由於還沒有TESTSPACE所以使用者預設表空間是其他表空間
grant connect,resource to tuser
使用imp匯入表空間
c:>imp userid='sys/sys@mood as sysdba' file=d:\testspace.dmp log=d:\testspaceimp.log tablespaces=testspace datafiles=d:\TESTSPACE01.DBF transport_tablespace=y
alter user TUSER default tablespace TESTSPACE --將預設表空間修改為TESTSPACE
============================================================================================================================================
ORACLE傳輸表空間的補充
對 於跨平臺的傳輸,查詢V$TRANSPORTABLE_PLATFORM檢視檢查兩平臺的endian format。如果你準備傳輸表空間集到不同endian平臺,必須首先轉換表空間集的endian與目標平臺相同。前面提到,如果涉及了endian的 轉換,可以在生成可傳輸表空間集時進行(源平臺進行),或者在匯入表空間集之前進行(目標平臺進行),轉換的命令都是一個,只是引數略有不同,關於命令的 用法暫且不提,後面會有專門章節介紹和實踐。在這裡我們先來深入一個這個操作究竟放在哪裡合適。按說這個操作放在哪裡執行都可以,應該沒有什麼可爭辯的, 但是值的注意的是針對我們操作的資料庫,特別是對於正在執行的生產資料庫,三思建議你採用在目標平臺上進行轉換的操作,緣由如下:
(1)縮短停機時間
在建立可傳輸表空間集之前,需要將要傳輸的表空間狀態置為read-only。你可以將資料檔案迅速複製一份映象,並生成包含後設資料的export檔案,然後即可將表空間狀態置為read-write狀態。這種安排使得表空間必須保持為只讀的時間儘可能的短。
(2) 提高執行效能
生產資料庫往往同時在處理多個應用,而此時如果再用其進行轉換操作可能增加系統負載,並且系統此時由於執行的任務較多,轉換效率也並非最高。將轉換操作移到目標平臺進行,通常對於目標平臺都是做為備份角色,其系統負載相對是比較低的,執行轉換操作的效率相對也會更高。
(3)簡化複製操作
透過在目標平臺執行轉換命令時指定db_file_name_convert引數,直接將資料檔案轉換到目標目錄內,簡化複製時的操作。
===========================================================================================================================================
表空間不能置read only時的表空間傳輸
常 規的表空間傳輸要求被傳輸的表空間在傳輸過程中必須置為read-only,而在實際操作過程中,對於某些生產資料庫,將表空間置為read-only 是件非常複雜的事情甚至完全不允許,尤其對於超大的表空間,因為被傳輸的表空間在此期間仍可進行讀寫操作,而且把表空間置為read-only 模式可能會花費較長時間。
這裡藉助RMAN的資料庫複製功能,透過複製資料庫來解決這一問題,具體操作如下:
一、建立測試表空間和測試使用者、表
create tablespace TESTSPACE datafile
'E:\oracle\product\10.2.0\oradata\mood\TESTSPACE01.DBF' size 50m
autoextend on next 64m maxsize unlimited
extent management local
segment space management auto;
create user tuser identified by tuser default tablespace TESTSPACE;
grant connect,resource to tuser;
conn tuser/tuser@mood
create table tobject as select * from all_objects;
二、檢查自包含性
conn sys/sys@mood as sysdba
SQL>execute dbms_tts.transport_set_check(ts_list=>'TESTSPACE',incl_constraints=>TRUE);
select * from transport_set_violations;
三、構造“只讀”的表空間(關鍵步驟)
[設定表空間只讀 alter tablespace TESTSPACE read only;] 此步在24小時生產系統一般不允許,這裡由RMAN的資料庫複製功能實現。
1、確認目標資料庫具有必須的備份
E:\oracle>rman target sys/sys@mood
RMAN>list backup; --一般生產環境都是有備份的
如果沒有則進行全備:
RMAN> backup database plus archivelog delete input;
2、生成可傳輸集
E:\oracle>rman target sys/sys@mood --連線生產資料庫
RMAN>transport tablespace TESTSPACE TABLESPACE DESTINATION = 'e:\exp' auxiliary destination = 'E:\auxiliary';
生成的可傳輸檔案將會被儲存至tablespace destination引數指定的位置,其它輔助檔案生成到auxiliary destination引數指定的位置
這句生成語句,可以有很多變化,這一點是read only表空間無法比擬的:
(1)加UNTIL SCN XXX,指定SCN號
(2)UNTIL TIME 'SYSDATE-1',指定時間點
(3)DATAPUMP DIRECTORY ttsdir --指定已定義的DIRECTORY
DUMP FILE 'dmpfile.dmp' --指定後設資料檔案
IMPORT SCRIPT. 'impscript.sql' --指定匯入指令碼
EXPORT LOG 'explog.log'; --指定匯出日誌檔案
dmpfile.dmp及explog.log檔案會自動儲存到ttsdir指向的物理路徑,其它檔案均被生成到TABLESPACE DESTINATION目錄內
注 意:這裡不需要像RMAN資料庫複製那樣自己建立輔助例項並使用,RMAN自己會構建輔助例項,並在完成資料檔案和相關後設資料匯出操作後將這個輔助例項刪 除。在參考其他文件時描述了大量輔助例項建立的步驟,但其實都是不需要的。如果在生成傳輸集時連線了自定義的輔助例項,那麼會報錯:RMAN- 05022: TRANSPORT TABLESPACE may not be used with user-managed auxiliary instance
注意:TRANSPORT TABLESPACE 命令執行過程中,恢復集檔案並不會自動轉換到目標資料庫的endian 格式。如果需要轉換,你必須在建立可傳輸集前使用rman 的convert 命令轉換資料檔案到目標資料庫的endian 格式:
RMAN>convert tablespace "TESTSPACE" to platform 'Microsoft Windows IA (32-bit)' format 'd:\TESTSPACE01.DBF' --這個是轉換的目標地址
RMAN 在刪除自動例項時,最後會報無法刪除檔案的錯誤,可能為一個BUG,但對於實際使用無影響,因為輔助例項在傳輸完後已無用,可以直接手動刪除。RMAN自 動例項的資料檔案均在auxiliary destination引數指定位置下的一個資料夾中,由於複製了生產庫,所以在實際操作中應該需要注意這個空間要足夠大。
四、複製到目標平臺後執行匯出
登入目標資料庫,執行前面TABLESPACE DESTINATION目錄下自動生成的impscrpt.sql指令碼就OK了:
sqlplus sys/sys@RUI as sysdba --執行指令碼前先確認目標資料庫已建立傳輸的表空間的使用者,這裡是前面建的tuser
SQL>@e:\exp\impscrpt.sql
也可以自己寫impdp,注意這裡使用的是datapump,所以切記前面傳輸的表空間中
impdp sys/sys@rui as sysdba DUMPFILE=e:\exp\DMPFILE.DMP DIRECTORY=DATA_PUMP_DIR TRANSPORT_DATAFILES=e:\exp\TESTSPACE01.DBF
透過impdp 匯入有一個好處,可以透過REMAP_SCHEMA 引數指定表空間所屬的schema,而不用建立表空間在源庫中對應的使用者
五、將目標資料庫新複製的表空間置為read write
SQL>alter user tuser default tablespace TESTSPACE;
SQL>alter tablespace TESTSPACE read write;
傳輸完成!
============================================================================================================================================
實戰RMAN備份傳輸表空間
http://space.itpub.net/7551038/viewspace-614393
前 面各章從理論到實踐詳細論述了關於可傳輸表空間,還有個集(Transportable Tablespace Sets)的建立,其中都提到了很重要一點,就是被傳輸的表空間在傳輸過程中必須置為read-only。而在實際操作過程中,對於某些生產資料庫,將表 空間置為read-only是件非常複雜的事情甚至完全不允許,有了RMAN的Transportable Tablespace,這一切都得以避免。RMAN透過備份建立可傳輸表空間集,它並不需要存取活動的資料檔案,相應也就不需要將表空間置為read- only。因此,資料庫可用性得到提升,尤其對於超大的表空間,因為被傳輸的表空間在此期間仍可進行讀寫操作,而且把表空間置為read-only模式可 能會花費較長時間,
使用RMAN建立可傳輸表空間集,允許你在傳輸過程中指定目標恢復時間點或SCN,這樣傳輸的資料可以更靈 活,不必完全複製現有表空間,只要備份中存在,你就可以選擇性的恢復資料。例如,你的備份策略為保留一週,你希望建立的可傳輸表空間中資料是截止本月底最 後一天的資料,那麼你在下個月第一週內任何時候都可以進行傳輸操作而不需要考慮這期間生產庫是否會有寫入操作。
使用rman備份建立Transportable Tablespace Sets主要是透過RMAN中的TRANSPORT TABLESPACE命令完成的。
提 示:即使並未使用rman備份資料庫,TRANSPORT TABLESPACE命令也可以用來建立transportable tablespace sets。不過,你必須有要傳輸的表空間集資料檔案複製,然後使用rman的catalog命令將資料檔案、歸檔日誌等檔案的複製載入rman資料庫。只 有rman擁有了所需備份才能夠正常執行TRANSPORT TABLESPACE。
一、適用場合
基本上,任何需要傳輸表空間的情況,你都可以使用rman的TRANSPORT TABLESPACE命令去建立,只要擁有所需的備份。
二、相關概念
RMAN建立可傳輸表空間集與RMAN Tablespace Point-in-Time Recovery (TSPITR)極其相似,如果你有過TSPITR的操作經驗,那麼操作這個同樣不在話下。
單槍不能成事,Oracle的霸業就是靠無數相互關聯的物件以不同方式巧妙組合而成。對於建立TTS而言,RMAN仍然不是一個人在戰鬥,他不是一個人:
RMAN客戶端(Recovery Manager client)
源庫(source database),即要傳輸的表空間所在庫。
源庫歸檔及備份(Archived redo logs and backups)
輔助例項(auxiliary instance),這個大家應該都比較熟了,如果你還不瞭解可以參見"Duplicate建立副本資料庫"系列第2章。
輔助集(auxiliary set),包括資料檔案等其它傳送所需但又並不是恢復集一部分的檔案。例如SYSTEM表空間,Undo表空間之類。而輔助例項通常也不是一個人,它也有 一些關聯檔案,例如控制檔案、初始化引數檔案、線上日誌等,這些檔案並不屬於輔助集,雖然是起輔助目的,但它們的老主顧顯然是輔助例項。
輔助檔案暫存地(auxiliary destination)即輔助集所包含的物件在rman transport tablespace命令執行過程中物理存放的位置,執行完之後這些檔案會被刪除。
提示:auxiliary destination並非必須指定,如果不指定的話,必須確保協助例項相關的各檔案在初始化引數中均已指定具體儲存位置。
表空間目的地(tablespace destination),tablespace transport命令執行期間生成的傳輸集資料檔案及其它輸出檔案的儲存路徑。
可傳輸集(transportable set),由待傳輸表空間資料檔案以及expdp生成的匯出檔案(export dump file)組成的,用於填充到目標資料庫表空間的集合,預設情況下,這些集合中的檔案儲存在表空間目的地指定路徑下。
RMAN自動生成的匯入指令碼(import script)以及expdp生成的匯出日誌(export log),可傳輸集的一部分。
三、命令格式:關於Transport Tablespaces命令
過rman備份建立可傳輸表空間集避免透過源庫當前活動的資料檔案。同樣恢復時可以恢復到備份中包含的任意時間而不會被限定僅能恢復到當前時間。其建立的工作就是由一個名為Transport Tablespaces的RMAN命令來實現,其格式如下:
Transport Tablespace命令的引數不少,不過幸運的是並不複雜,並且其引數與前面介紹的關聯實體名稱相同,由此僅通常引數名我們也大致能猜出所代表的意義,下面通常幾個應用的示例加深一下印象:
1、最簡單的可傳輸表空間集的建立:
transport tablespace tbs_1, tbs_2
tablespace destination '/disk1/transportdest'
auxiliary destination '/disk1/auxdest';
本 例中,待傳輸表空間為tbs_1和tbs_2兩個(如果待傳輸的表空間有多個,中間以逗號分隔),生成的可傳輸檔案將會被儲存至tablespace destination引數指定的位置,其它輔助檔案生成到auxiliary destination引數指定的位置。
2、建立時指定恢復時間點
TRANSPORT TABLESPACE tbs_3
TABLESPACE DESTINATION '/disk1/transportdest'
AUXILIARY DESTINATION '/disk1/auxdest'
UNTIL SCN 11379;
本例中,透過指定SCN的方式控制恢復的內容。
又如下例中透過指定時間控制恢復的內容:
TRANSPORT TABLESPACE tbs_2
TABLESPACE DESTINATION '/disk1/transportdest'
AUXILIARY DESTINATION '/disk1/auxdest'
UNTIL RESTORE POINT 'before_upgrade';
指定恢復點方式控制恢復的內容:
TRANSPORT TABLESPACE tbs_2
TABLESPACE DESTINATION '/disk1/transportdest'
AUXILIARY DESTINATION '/disk1/auxdest'
UNTIL TIME 'SYSDATE-1';
提示:需要注意指定的恢復時間點必須存在於備份的redo log或歸檔檔案中。
3、建立時指定檔案的生成路徑:
TRANSPORT TABLESPACE tbs_2
TABLESPACE DESTINATION '/disk1/transportdest'
AUXILIARY DESTINATION '/disk1/auxdest'
DATAPUMP DIRECTORY ttsdir
DUMP FILE 'dmpfile.dmp'
IMPORT SCRIPT. 'impscript.sql'
EXPORT LOG 'explog.log';
只要你想,就可以。預設情況下:
DATAPUMP DIRECTORY引數指定已定義的DIRECTORY:ttsdir
DUMP FILE引數指定後設資料檔案,命名為:dmpfile.dmp
IMPORT SCRIPT引數指定匯入指令碼,命名為:impscript.sql
EXPORT LOG引數指定匯出日誌檔案,命名為:explog.log
dmpfile.dmp及explog.log檔案會自動儲存到ttsdir指向的物理路徑,其它檔案均被生成到/disk1/transportdest目錄內。
實戰RMAN備份傳輸表空間
一、檢查平臺是否支援
查詢源資料庫平臺資訊
SQL> col platform_name for a40
SQL> SELECT d.PLATFORM_NAME, ENDIAN_FORMAT
FROM V$TRANSPORTABLE_PLATFORM. tp, V$DATABASE d
WHERE tp.PLATFORM_NAME = d.PLATFORM_NAME;
查詢Oracle10g支援的平臺轉換
SQL> select * from v$transportable_platform;
二、檢查待傳輸表空間是否自包含
execute dbms_tts.transport_set_check('TEST', true);
若報過程dbms_tts.transport_set_check不存在,則用sys的資料庫使用者執行指令碼"$ORACLE_HOME/rdbms/admin/dbmsplts.sql"建立之。
SELECT * FROM TRANSPORT_SET_VIOLATIONS;
若查詢結果為空,說明表空間是自包含的;否者查詢結果說明哪些地方違反了自包含。
三、檢查備份
先做好備份
***歸檔Alter system archive log current;
四、生成可傳輸集
RMAN>transport tablespace nnd
TABLESPACE DESTINATION = 'k:\exp'
auxiliary destination = 'k:\aux1';
刪除自動例項
自動例項已刪除
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: tranport tablespace 命令 (在 11/19/2007 15:23:45 上) 失敗
ORA-27056: 無法刪除檔案
OSD-04024: 無法刪除檔案。
O/S-Error: (OS 32) 另一個程式正在使用此檔案,程式無法訪問
O/S-Error: (OS 32)通常跟windows平臺有關,嘗試換用linux平臺執行...........一切正常!
報錯是在刪除輔助例項檔案時,此時傳輸集已經生成了,不會影響我們後續操作。那我們就手工刪除這些檔案好了,基本上就是auxiliary destination引數指定路徑下的檔案,乾脆直接連這個目錄也刪掉。
五、複製檔案到目標平臺
六、執行匯入指令碼
注意,匯入表空間在源平臺所屬的使用者必須存在,另外一旦複製到目標庫後檔案路徑如果發生變化,一定要修改impscript.sql檔案中相應的路徑。
[oracle@jsslinux ~]$ sqlplus "/ as sysdba"
SQL> @/opt/oratmp/oradata/impscript.sql
出處:http://blog.csdn.net/l106439814/article/details/8627044
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29119536/viewspace-1484536/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 表空間傳輸Oracle
- Oracle傳輸表空間Oracle
- 傳輸表空間操作-OracleOracle
- Oracle傳輸表空間(TTS)OracleTTS
- Oracle 傳輸表空間-RmanOracle
- Oracle傳輸表空間學習Oracle
- Oracle 傳輸表空間-EXPDP/IMPDPOracle
- Oracle 傳輸表空間-EXP/IMPOracle
- Oracle表空間傳輸詳解Oracle
- oracle 傳輸表空間一例Oracle
- Oracle可傳輸表空間測試Oracle
- MySQL 傳輸表空間MySql
- MySQL表空間傳輸MySql
- 【XTTS】Oracle傳輸表空間xtts增量方式TTSOracle
- oracle可傳輸表空間TTS小結OracleTTS
- oracle表空間傳輸的限制條件Oracle
- mysql之 表空間傳輸MySql
- 總結-表空間傳輸
- 聊聊Oracle可傳輸表空間(Transportable Tablespace)(上)Oracle
- 聊聊Oracle可傳輸表空間(Transportable Tablespace)(中)Oracle
- 聊聊Oracle可傳輸表空間(Transportable Tablespace)(下)Oracle
- Oracle TTS ORA-39322: 表空間傳輸OracleTTS
- 跨平臺表空間遷移(傳輸表空間)
- 使用Oracle可傳輸表空間的特性複製資料(7)實戰RMAN備份傳輸表空間Oracle
- 【傳輸表空間】使用 EXPDP/IMPDP工具的傳輸表空間完成資料遷移
- 基於可傳輸表空間的表空間遷移
- 關於oracle可傳輸表空間的總結Oracle
- oracle 10g 傳輸表空間的測試Oracle 10g
- Oracle 10g的可傳輸表空間操作Oracle 10g
- 傳輸表空間自包含理解
- 【傳輸表空間】使用 EXPDP/IMPDP工具的傳輸表空間完成資料遷移[轉]
- oracle跨版本與平臺執行傳輸表空間Oracle
- oracle小知識點14--xtts傳輸表空間OracleTTS
- 5.7 mysql的可傳輸表空間MySql
- 表空間傳輸讀書筆記筆記
- 用可傳輸表空間實現Oracle跨平臺移植Oracle
- 傳輸表空間(從Linux到Windows)LinuxWindows
- 傳輸表空間及問題處理