使用exp/imp傳輸資料表空間(Oracle)____Oracle

來源:互聯網
上載者:User

有時候,可以使用exp將以傳輸資料表空間的方式將其匯出,傳輸資料表空間是一種機制,用來把一個資料庫上的格式資料檔案附加到另一個資料庫。

  需要注意:
  對於匯出檔案dmp來說,Oracle實現了跨平台的處理,即在任何一個可啟動並執行平台上,都能使用imp將其匯入,但是對於資料表空間所包含的資料檔案而言,各個平台上是不一樣的,包含不能通過簡單的複製來處理。資料檔案不是獨立於OS的。
  傳輸資料表空間移動資料速度非常快。
  使用前提:
  1.源和目標資料庫使用相同的字元集。
  2.目標資料庫不能有和源資料表空間相同的資料表空間
  3.源和目標資料庫擁有相同的塊大小
  4.必須傳輸自包含的對象集
  5.源和目標資料庫啟動並執行硬體平台必須相同

  這裡以linux下Oracle9.2.0.4為例,簡要介紹一下使用:
  1. 建立資料表空間,並產生資料
  sqlplus "/ as sysdba"
  create tablespace hexiong datafile ?/hexiong.dbf size 1M;
  create user hexiong identified by hexiong default tablespace hexiong;
  grant connect, resource to hexiong;
  conn hexiong/hexiong
  create table t as select * from all_objects;
   2.檢查一下資料表空間是否齊備:
  exec sys.dbms_tts.transport_set_check('hexiong', TRUE);
  PL/SQL procedure successfully completed.
  SQL> select * from sys.transport_set_violations;
  no rows selected
  這表示該表空裡的對象集是自包含的(對象及其索引都在此資料表空間中)
  3.設定資料表空間為唯讀
  alter tablespace hexiong read only;
  4.開始exp

SQL> host exp userid=/'sys/change_on_install as sysdba/' transport_tablespace=y tablespaces=(hexiong) file=/u01/app/oracle/exphexiong.dmp

Export: Release 9.2.0.4.0 - Production on ÐÇÆÚÈÕ 7ÔÂ 30 19:27:00 2006

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.


Connected to: Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production
Export done in ZHS16GBK character set and AL16UTF16 NCHAR character set
Note: table data (rows) will not be exported
About to export transportable tablespace metadata...
For tablespace HEXIONG ...
. exporting cluster definitions
. exporting table definitions
. . exporting table                              T
. exporting referential integrity constraints
. exporting triggers
. end transportable tablespace metadata export
Export terminated successfully without warnings.

  5. 將匯出的檔案以及相關源資料表空間的資料檔案拷到目標資料庫或機器上
  匯出檔案:/u01/app/oracle/exphexiong.dmp
  資料檔案:
SQL> select b.name from v$tablespace a, v$datafile b where a.ts#=b.ts# and a.name='HEXIONG';NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/bjlnx1/hexiong.dbf

  6.進入目標機器上,建立對應資料表空間的使用者,不必指定預設資料表空間
  設exphexiong.dmp以及hexiong.dbf的位置都在/home/oradba上
  cd /home/oradba
  SQL>create user hexiong identified by hexiong;
  7.匯入:
   imp file=exphexiong.dmp userid=/'sys/change_on_install as sysdba/' transport_tablespace=y datafiles=/home/oradba/hexiong.dbf

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.