使用RMAN簡單遷移表空間
使用RMAN遷移表空間
確認環境:
源庫:
系統:RedHat企業版5.4
資料庫版本:ORACLE 10.2.0.1.0
IP:10.37.100.100
目標庫:
系統:RedHat企業版5.4
資料庫版本:ORACLE 10.2.0.3.0
IP:10.37.100.101
需要傳輸的表空間:TTS_TEST
檢查一下環境:
源庫上檢視版本支援情況:
SQL> select db.name,db.platform_name,tp.endian_format
2 from v$transportable_platform tp,v$database db
3 where tp.platform_name=db.platform_name
4 /
NAME PLATFORM_NAME ENDIAN_FORMAT
--------- -------------------- --------------
ORCL Linux IA (32-bit) Little
檢視資料庫版本:
SQL> select version from v$instance;
VERSION
-----------------
10.2.0.1.0
備庫上檢視版本情況:
SQL> select db.name,db.platform_name,tp.endian_format
2 from v$transportable_platform tp,v$database db
3 where tp.platform_name=db.platform_name
4 /
NAME PLATFORM_NAME ENDIAN_FORMAT
--------- -------------------- --------------
ORCL Linux IA (32-bit) Little
源庫上需要有整庫和所有歸檔日誌的備份
RMAN> backup database plus archivelog format '/u01/rman_backup/all_database_bak_%T_%t.bak';
RMAN> transport tablespace tts_test
2> tablespace destination '/u01/tts_dir/td'
3> auxiliary destination '/u01/tts_dir/ad';
此時傳輸表空間所需的資料檔案,日誌檔案,傳輸集及匯入指令碼均已生成在tablepsace desnation目錄下,而auxilibary desnation路徑下的臨時檔案已經被刪除
[oracle@localhost td]$ cd /u01/tts_dir/td/
[oracle@localhost td]$ ls
dmpfile.dmp explog.log impscrpt.sql tts01.dbf tts02.dbf
[oracle@localhost td]$ cd /u01/tts_dir/ad/
[oracle@localhost ad]$ ls
TSPITR_ORCL_MWWE
[oracle@localhost ad]$ cd TSPITR_ORCL_MWWE/
[oracle@localhost TSPITR_ORCL_MWWE]$ ls
datafile onlinelog
[oracle@localhost TSPITR_ORCL_MWWE]$ cd datafile/
[oracle@localhost datafile]$ ls
[oracle@localhost datafile]$ cd ../onlinelog/
[oracle@localhost onlinelog]$ ls
將tablepsace desnation路徑下生成的所有檔案copy到目標庫:
[oracle@localhost ~]$ scp 10.37.100.100:/u01/tts_dir/td/* /u01/tts_dir/
oracle@10.37.100.100's password:
dmpfile.dmp 100% 76KB 76.0KB/s 00:00
explog.log 100% 1226 1.2KB/s 00:00
impscrpt.sql 100% 2175 2.1KB/s 00:00
tts01.dbf 100% 20MB 20.0MB/s 00:01
tts02.dbf 100% 20MB 20.0MB/s 00:01
SQL> @/u01/tts_dir/impscrpt.sql
Directory created.
Directory created.
DECLARE
*
ERROR at line 1:
ORA-39002: invalid operation
ORA-06512: at "SYS.DBMS_STREAMS_TABLESPACE_ADM", line 2006
ORA-06512: at line 20
Directory dropped.
Directory dropped.
報錯的原因是目標庫的傳輸集路徑跟源庫的不一樣,可以將傳輸集複製到相同的路徑下,或者去修改一下impscrpt.sql中的路徑:
[oracle@localhost tts_dir]$ vi impscrpt.sql
將一下兩個路徑修改成目標庫下的傳輸集路徑即可:
CREATE DIRECTORY STREAMS$DIROBJ$1 AS '/u01/tts_dir/';
CREATE DIRECTORY STREAMS$DIROBJ$DPDIR AS '/u01/tts_dir/';
再次執行指令碼匯入:
SQL> @/u01/tts_dir/impscrpt.sql
Directory created.
Directory created.
PL/SQL procedure successfully completed.
Directory dropped.
Directory dropped.
也可以直接使用inpdp命令匯入(這種匯入可以使用remap_schma引數來修改表空間的所屬主)
[oracle@localhost tts_dir]$ impdp system/oracle dumpfile=dmpfile.dmp directory=tts_dir nologf
ile=y transport_datafiles=/u01/tts_dir/tts01.dbf,/u01/tts_dir/tts02.dbf remap_schema=tts:xtt;
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
Master table "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" successfully loaded/unloaded
Starting "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01": system/******** dumpfile=dmpfile.dmp directory=tts_dir nologfile=y transport_datafiles=/u01/tts_dir/tts01.dbf,/u01/tts_dir/tts02.dbf remap_schema=tts:xtt
Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
Processing object type TRANSPORTABLE_EXPORT/TABLE
Processing object type TRANSPORTABLE_EXPORT/TABLE_STATISTICS
Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
Job "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" successfully completed at 10:24:37
檢視一下結果:
SQL> conn xtt/oracle
Connected.
SQL> select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
TEST TABLE
DG_TEST TABLE
STD_TABLE_1 TABLE
STD_TABLE TABLE
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29320885/viewspace-1137591/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL 遷移表空間,備份單表MySql
- table/index/LOBINDEX遷移表空間Index
- Oracle中表空間、表、索引的遷移Oracle索引
- Oracle 12cbigfile表空間物件遷移Oracle物件
- 【資料遷移】XTTS跨平臺傳輸表空間v3(2.RMAN增量)TTS
- Oracle RMAN 表空間恢復Oracle
- mysql共享表空間擴容,收縮,遷移MySql
- MySQL傳輸表空間的簡單使用方法MySql
- mysql Innodb表空間解除安裝、遷移、裝載的使用方法MySql
- 用傳輸表空間跨平臺遷移資料
- oracle 表移動表空間Oracle
- Oracle表移動表空間Oracle
- [20210527]rman與undo表空間備份.txt
- Oracle RMAN備份為什麼會大量使用temp表空間?Oracle
- Oracle使用RMAN從Windows遷移資料到LinuxOracleWindowsLinux
- MySQL 8.0表空間新特性簡單實驗MySql
- 用rman遷移資料庫資料庫
- Oracle rman duplicate遷移測試Oracle
- 【MOS】如何利用RMAN可傳輸表空間遷移資料庫到不同位元組序的平臺(文件 ID 1983639.1)資料庫
- 【資料遷移】XTTS跨平臺傳輸表空間v4TTS
- 達夢(DM)資料庫的表空間建立和遷移維護資料庫
- 對Oracle分割槽表進行表空間遷移並處理ORA-14511問題Oracle
- 當使用者無限制使用表空間配額且表空間有足夠空間時出現超出表空間的空間限額
- Oracle資料庫遷移 - 異構傳輸表空間TTS HP-UX遷移至Redhat Linux 7.7Oracle資料庫TTSRedhatLinux
- 【資料遷移】XTTS跨平臺傳輸表空間(1.傳統方式)TTS
- 達夢資料庫系統表空間資料檔案遷移過程資料庫
- 16、表空間 建立表空間
- 資料遷移的時候出現RMAN-03002,RMAN-06026
- Oracle 12C RMAN備份佔用大量臨時表空間Oracle
- Oracle新建使用者、表空間、表Oracle
- 臨時表空間和回滾表空間使用率查詢
- impala 資料表在叢集間遷移方案
- 【資料遷移】XTTS跨平臺傳輸表空間v3(3.DFT方式)TTS
- 移動分割槽表和分割槽索引的表空間索引
- 【RMAN】當表空間處於備份狀態時發生了什麼
- 查詢表空間使用情況
- 表空間使用量查詢
- 簡單分析Flask 資料庫遷移詳情Flask資料庫
- SSIS 開發篇-做一個簡單的SqlServer資料表資料遷移SQLServer