Oracle導數據腳本export.par和import.par

        例 export9.par 內容如下:

        USERID=CTGPC/xuyunsheng@ctgpcweb
        OWNER=CTGPC
        ROWS=Y
        INDEXES=Y
        GRANTS=Y
        CONSTRAINTS=Y
        CONSISTENT=Y            (注:CONSISTENT是一致性的意思。CONSISTENT=Y表示導出數據庫的多個表時,這些表的鏡像的時間點都是相同的。exp命令首先把它所涉及到的表全部放到回滾段,然後再導出,如果表很大,將佔用很多回滾段。不建議使用,如果要使用最好也只對比較小的表進行操作)
        COMPRESS=Y                (注:Do not use COMPRESS=Y if there are many deleted rows,一般也不常用)
        DIRECT=Y
        BUFFER=20000
        FILE=/backup/ctgpc_20030623.dmp
        LOG=/backup/ctgpc_20030623.log

    使用時命令如下:exp parfile=/filepath/export9.par

    注意:如果需要導出所有數據庫的數據,請將第一、二行替換成 FULL=Y

        例 import9.par 內容如下:

        FROMUSER=TGPMS          (Oracle 不允許直接改變表的擁有者, 利用Export/Import可以達到這一目的.)
        TOUSER=TGPMS2              (注:把表的擁有者由FROMUSER改爲TOUSER,FROMUSER和TOUSER的用戶可以不同)    
        ROWS=Y
        INDEXES=Y
        GRANTS=Y
        CONSTRAINTS=Y
        BUFFER=409600
        file==/backup/ctgpc_20030623.dmp
        log==/backup/import_20030623.log

        使用時命令如下:imp parfile=/filepath/import9.par

---------------------------------------------------------------------------------

下面介紹一些EXPORT/IMPORT的使用技巧

   - 把數據庫對象從一個用戶移到另一個用戶

      Oracle 不允許直接改變表的擁有者, 利用Export/Import可以達到這一目的.

      假設要把表 T 的擁有者User1改爲User2,  具體步驟是:

         - exp system/manager tables = User1.T

         - imp system/manager fromuser = User1 touser = User2 tables = T

         - drop table User1.T

     

   - 把數據庫對象從一個表空間移到另一個表空間

      建表時可以指定表空間, 表空間一經確定就部能隨意改變. 若要表 T 從表空間 tbs1移到表空間 tbs2, 就要採用以下方法:

         - exp <user/passwd> tables = T

         - imp <user/passwd> tables = T indexfile =  temp.sql

         - drop table T

         - 編輯 temp.sql 只保留所需的建表命令並指定表空間爲tbs2

         - 以表的所有者執行temp.sql

         - imp <user/passwd> tables = T ignore = Y

------------------------------------------------------------------------------------

下面介紹Export/Import 使用中幾個常見的問題和解決辦法

   - Export/Import 使用不同的字符集

      Export文件中包含着字符信息. 如過輸入/輸出都使用擔字節字符集, 如EBCDIC或US7ASCII, 輸入時將自動進行字符集轉換. 轉換過程中, 若輸出文件中含有的目標字符集中不能匹配的字符會自動設成缺省字符.

      對於多字節字符集, 如ZHS16CGB231280, 通常不能自動轉換, 只有在字符串長度不變的情況下才能自動轉換.


   - 空間不夠 -- 碎片問題

      有些時候, 即使數據庫仍有足夠的空間, 使用IMPORT時卻出空間不夠的錯誤. 出現這種現象通常是由於數據庫中存在碎片, 即有很多小的不連續的空閒空間. 解決辦法是先將數據庫全庫EXPORT(FULL=Y), SHUTDOWN數據庫, 重新建庫(CREATE DATABASE)後用IMPORT FULL=Y恢復數據.

   

   - ROLLBACK段不夠

      Export/Import使用過程中, 如果數據量很大會出現'ROLLBACK段不夠'的錯誤. 這時要建一個足夠大的ROLLBACK段, 使它ONLINE而其他ROLLBACK段OFFLINE. 這樣, Export/Import使用這個大ROLLBACK段, 從而避免上述現象.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章