表空间迁移(transport tablespace)测试案例
版本要求:
8i企業版以上支持表空間遷移功能。9i以上不要求遷移表空間與目標數據庫的塊尺寸一樣。
限制:
源和目標數據庫必須是相同的硬件平臺。
源和目標數據庫字符集和國家字符集必須相同。
遷移表空間與目標數據庫中的表空間不能重名。
不支持物化視圖/復制、基于函數的索引、Scoped REFs、多個接收者的8.0兼容的高級隊列。
?
1.建立測試表空間
CREATE TABLESPACE ZHJS_LIST_CTJS_200801 DATAFILE
?'/dev/vgnewzhjsdb2/rlvnewzhjs_zlist300' SIZE 3990M AUTOEXTEND OFF,
?'/dev/vgnewzhjsdb2/rlvnewzhjs_zlist301' SIZE 3990M AUTOEXTEND OFF
LOGGING
ONLINE
PERMANENT
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT MANUAL;
?
2.建立測試用戶
create user test identified by test default tablespace ZHJS_LIST_CTJS_200801;
grant connect,resource to test;
?
3.建立測試表
create table tts_test( a number(10), b number(10) )tablespace ZHJS_LIST_CTJS_200801;
?
4.往測試表中灌數據
variable i number;
begin
?????? for i in 1..30000 loop
?????? ?? insert into tts_test(a,b)
?????? ?? values(i,i+1);
?? end loop;
?? commit;
end;
/
?
5.檢測測試表空間是否是自包含
execute dbms_tts.transport_set_check('ZHJS_LIST_CTJS_200801', true);
若報過程dbms_tts.transport_set_check不存在,則用sys的數據庫用戶執行腳本"$ORACLE_HOME/rdbms/admin/dbmsplts.sql"建立之。
SELECT * FROM TRANSPORT_SET_VIOLATIONS;
若查詢結果為空,說明表空間是自包含的;否者查詢結果說明哪些地方違反了自包含。關于自包含的相關定義,參見ORACLE相關文檔。
?
6.將要測試的表空間改為只讀
alter tablespace ZHJS_LIST_CTJS_200801 read only;
?
7.導出元數據
exp PARFILE='exppar.f'
exppar.f內容:
?? TRANSPORT_TABLESPACE=y
?? TABLESPACES= ZHJS_LIST_CTJS_200801
?? TRIGGERS=y
?? CONSTRAINTS=n
?? GRANTS=n
?? FILE=test200801.dmp
?? LOG=testexp200801.log
exp需要有SYSDBA權限的用戶進行連接(username/password as sysdba)。
?
8.使用dd命令拷貝出裸設備的數據
dd if=/dev/vgnewzhjsdb2/rlvnewzhjs_zlist300 of=300 ibs=102400 obs=102400
dd if=/dev/vgnewzhjsdb2/rlvnewzhjs_zlist301 of=301 ibs=102400 obs=102400
?
9.刪除測試的表空間
drop tablespace ZHJS_LIST_CTJS_200801 including contents;
?
10.使用dd命令將8中拷貝出的文件重新拷到其他裸設備中
dd if=300 of=/dev/vgnewzhjsdb2/rlvnewzhjs_zlist302 ibs=102400 obs=102400
dd if=301 of=/dev/vgnewzhjsdb2/rlvnewzhjs_zlist303 ibs=102400 obs=102400
?
11.使用imp導入測試表空間
imp PARFILE='imppar.f'
imppar.f內容:
TRANSPORT_TABLESPACE=y
FILE=test200801.dmp
DATAFILES=('/dev/vgnewzhjsdb/rlvnewzhjs_zlist302','/dev/vgnewzhjsdb/rlvnewzhjs_zlist303')
TABLESPACES= ZHJS_LIST_CTJS_200801
TTS_OWNERS=test
FROMUSER=test
TOUSER=test
LOG=testimp200801.log
imp需要有SYSDBA權限的用戶進行連接(username/password as sysdba)。
12.將測試表空間改為可讀寫
ALTER TABLESPACE ZHJS_LIST_CTJS_200801 READ WRITE;
轉載于:https://www.cnblogs.com/chinhr/archive/2007/09/28/908909.html
總結
以上是生活随笔為你收集整理的表空间迁移(transport tablespace)测试案例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VS2005发布网站问题及aspnet_
- 下一篇: Linux下mysql 5.x得到roo