利用TRANSPORT_TABLESPACE特性把9i的表空間遷移到10g測試!
一種非常好資料庫升級的思路,測試的起源來自於下面的帖子:
http://www.itpub.net/705187.html
在結合下面的例子相信在異構os上也沒有問題,遺憾的是手頭沒有環境,懶的搭建測試了!
把9i 下的表空間遷移到10g上,建立表空間trans_tbs時datafile拉了副檔名了,看起來不是很舒服,對付著看吧!:)
C:>sqlplus system/manager
SQL*Plus: Release 9.2.0.1.0 - Production on 星期六 1月 13 21:29:19 2007
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
連線到:
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
SQL> show parameter db_name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_name string DB9i
SQL> select file_name from dba_data_files;
FILE_NAME
--------------------------------------------------------------------------------
C:ORACLEORA92DB9ISYSTEM01.DBF
C:ORACLEORA92DB9IUNDOTBS01.DBF
C:ORACLEORA92DB9IUSERS01.DBF
--建立一個自包含的表空間
SQL> create tablespace trans_tbs datafile 'C:ORACLEORA92DB9Itrans_tbs' size
5m ;
表空間已建立。
SQL> create user xys identified by manager default tablespace trans_tbs;
使用者已建立
SQL> grant connect , resource , dba to xys;
授權成功。
SQL> connect xys/manager
已連線。
--建立測試資料
SQL> create table t as select *from dba_objects;
表已建立。
--將要transport tablespace改為read only是必須的!
SQL> alter tablespace trans_tbs read only;
表空間已更改。
SQL> host exp 'sys/manager as sysdba' file='E:trans_tbstrans_tbs.dmp' transpor
t_tablespace=y tablespaces=TRANS_TBS
Export: Release 9.2.0.1.0 - Production on 星期六 1月 13 21:35:43 2007
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
連線到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
已匯出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
注: 將不會匯出表資料(行)
關於匯出可傳輸的表空間後設資料...
用於表空間 TRANS_TBS...
. 正在匯出群集定義
. 正在匯出表定義
. . 正在匯出表 T
. 正在匯出引用完整性約束條件
. 正在匯出觸發器
. 結束匯出可傳輸的表空間後設資料
在沒有警告的情況下成功終止匯出。
SQL> EXIT
從Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production中斷開
C:>SET ORACLE_SID=ORCL
C:>sqlplus system/system
SQL*Plus: Release 10.2.0.1.0 - Production on 星期六 1月 13 22:45:42 2007
Copyright (c) 1982, 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
SQL> select file_name from dba_data_files;
FILE_NAME
--------------------------------------------------------------------------------
E:ORACLEPRODUCT10.2.0ORADATAORCLSYSTEM01.DBF
E:ORACLEPRODUCT10.2.0ORADATAORCLUNDOTBS01.DBF
E:ORACLEPRODUCT10.2.0ORADATAORCLSYSAUX01.DBF
E:ORACLEPRODUCT10.2.0ORADATAORCLUSERS01.DBF
SQL> host copy C:oracleora92DB9itrans_tbs E:ORACLEPRODUCT10.2.0ORADATAO
RCLtrans_tbs
已複製 1 個檔案。
SQL> host imp 'sys/system as sysdba' transport_tablespace=y tablespaces=TRANS_TB
s file='E:trans_tbstrans_tbs.dmp' datafiles='E:ORACLEPRODUCT10.2.0ORADATA
ORCLtrans_tbs' tts_owners=xys fromuser=xys touser=xys
Import: Release 10.2.0.1.0 - Production on 星期六 1月 13 22:46:48 2007
Copyright (c) 1982, 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
經由常規路徑由 EXPORT:V09.02.00 建立的匯出檔案
即將匯入可傳輸的表空間後設資料...
已經完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的匯入
IMP-00017: 由於 ORACLE 錯誤 29343, 以下語句失敗:
"BEGIN sys.dbms_plugts.checkUser('XYS'); END;"
IMP-00003: 遇到 ORACLE 錯誤 29343
ORA-29343: 資料庫中不存在使用者 XYS (從使用者 XYS 對映)
ORA-06512: 在 "SYS.DBMS_PLUGTS", line 1895
ORA-06512: 在 line 1
IMP-00000: 未成功終止匯入
--建立使用者是必須的,否則會出現上面的錯誤!
SQL> create user xys identified by manager default tablespace users;
使用者已建立。
SQL> grant dba , connect, resource to xys;
授權成功。
SQL> host imp 'sys/system as sysdba' transport_tablespace=y tablespaces=TRANS_TB
s file='E:trans_tbstrans_tbs.dmp' datafiles='E:ORACLEPRODUCT10.2.0ORADATA
ORCLtrans_tbs' tts_owners=xys fromuser=xys touser=xys
Import: Release 10.2.0.1.0 - Production on 星期六 1月 13 22:46:07 2007
Copyright (c) 1982, 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
經由常規路徑由 EXPORT:V09.02.00 建立的匯出檔案
即將匯入可傳輸的表空間後設資料...
已經完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的匯入
. 正在將 XYS 的物件匯入到 XYS
. . 正在匯入表 "T"
成功終止匯入, 沒有出現警告。
SQL> select file_name from dba_data_files;
FILE_NAME
--------------------------------------------------------------------------------
E:ORACLEPRODUCT10.2.0ORADATAORCLSYSTEM01.DBF
E:ORACLEPRODUCT10.2.0ORADATAORCLUNDOTBS01.DBF
E:ORACLEPRODUCT10.2.0ORADATAORCLSYSAUX01.DBF
E:ORACLEPRODUCT10.2.0ORADATAORCLUSERS01.DBF
E:ORACLEPRODUCT10.2.0ORADATAORCLTRANS_TBS
SQL> CONNECT XYS/MANAGER
已連線。
SQL> SELECT count (*) FROM T;
COUNT(*)
----------
6166
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/19602/viewspace-61723/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 把表遷移到其他的表空間
- 將表從一個表空間遷移到另外一個表空間
- Oracle10g新特性——利用RMAN遷移表空間Oracle
- oracle 10g 傳輸表空間的測試Oracle 10g
- Oracle10g新特性——利用RMAN遷移表空間(二)Oracle
- Oracle10g新特性——利用RMAN遷移表空間(一)Oracle
- 10G 新特性系列: SYSAUX 表空間UX
- 把正式庫的最新資料全部遷移到測試庫上
- 將表空間test1中的資料全部遷移到表空間test2中
- 利用PLSQL實現表空間的遷移(一)SQL
- 利用PLSQL實現表空間的遷移(二)SQL
- 利用PLSQL實現表空間的遷移(四)SQL
- 利用PLSQL實現表空間的遷移(三)SQL
- 利用PLSQL實現表空間的遷移(五)SQL
- 利用TRANSPORT_TABLESPACE特性在同一db下不同使用者之間遷移資料!
- 10g新特性——表空間重新命名
- 測試表的空間壓縮與表空間的關係
- 利用RMAN遷移表空間碰到的問題(五)
- 利用RMAN遷移表空間碰到的問題(四)
- 利用RMAN遷移表空間碰到的問題(三)
- 利用RMAN遷移表空間碰到的問題(二)
- 利用RMAN遷移表空間碰到的問題(一)
- Oracle Database 10g新特性-改善的表空間管理OracleDatabase
- 表空間遷移
- 遷移表空間
- 10g跨小版本的expdp/impdp表空間遷移(一)
- 區別oracle 9i 與 oracle 10g 備份表空間Oracle 10g
- 基於可傳輸表空間的表空間遷移
- 遷移SYSTEM表空間為本地管理表空間
- 遷移表到新的表空間
- 【遷移】表空間transport
- RMAN遷移表空間
- 利用CONVERT實現跨平臺表空間遷移
- Oracle9i傳輸表空間到10g測試過程Oracle
- 10G新特性: 臨時表空間組(temporary tablespace group)
- 10g新特性之-跨平臺表空間傳輸
- Oracle可傳輸表空間測試Oracle
- 跨平臺表空間遷移(傳輸表空間)