JUST DO IT ~

          我只想當個程序員

          oracle imp exp 導表問題集合 錯誤

          oracle? imp exp 導表問題集合 錯誤?

          問題

          1 ORACLE?? 錯誤?? 922??

          2 到表空間改變

          3 ora-01652 temp 空間不足夠? (多時建立索引是否 臨時空間不夠。)

          ?

          問題1

          ?

          你打算導入的oracle 的 emp imp的 exe 文件來執行到如倒出。 就可以解決。

          oracle 9 小版本的 emp imp? 不兼容。

          ?

          ?

          ?

          問題2

          ?

          導表空間 沒有根據當前用戶改變

          ?

          idmp 為目標的用戶名

          C:\oracle\ora92\bin\IMP.EXE log=C:\DOCUME~1\gddg\LOCALS~1\Temp\plsimp.log file=C:\test.dmp userid=idmp/idmp@THINK fromuser=idmp touser=idmp buffer=30720 commit=no grants=yes ignore=yes indexes=yes rows=yes show=no constraints=yes

          ?

          SQL> conn sys/sys as sysdba

          已連接。

          SQL> revoke unlimited tablespace from idmp;

          ?

          撤銷成功。

          ?

          ?

          SQL> conn sys/sys as sysdba

          已連接。

          SQL> alter user idmp quota 0 on users;

          ?

          用戶已更改。

          ?

          SQL> alter user???? idmp??? quota unlimited on? idmp??? ;

          ?

          用戶已更改。

          ?

          SQL>

          ?

          ?

          ?

          ?

          就可以了。

          ?

          3 ora-01652 temp 空間不足夠?

          temp 空間的大小 。

          擴大一點 每次申請空間的大小 給大點。

          ?

          ?

          ?

          ?

          ?

          ?

          ?

          ?

          ?

          ?

          ?

          ?

          ?

          ?

          ?

          ?

          ?

          ?

          ?

          ?

          ?

          ?

          參考文章

          ?

          ?

          Permalink

          [oracle] exp/imp詳解

          轉貼

          ORACLE數據庫有兩類備份方法。第一類為物理備份,該方法實現數據庫的完整恢復,但

          數據庫必須運行在歸擋模式下(業務數據庫在非歸擋模式下運行),且需要極大的外部

          存儲設備,例如磁帶庫;第二類備份方式為邏輯備份,業務數據庫采用此種方式,此方

          法不需要數據庫運行在歸擋模式下,不但備份簡單,而且可以不需要外部存儲設備。

          數據庫邏輯備份方法

          ORACLE數據庫的邏輯備份分為三種模式:表備份、用戶備份和完全備份。

          表模式

          備份某個用戶模式下指定的對象(表)。業務數據庫通常采用這種備份方式。

          若備份到本地文件,使用如下命令:

          exp icdmain/icd rows=y indexes=n compress=n buffer=65536

          feedback=100000 volsize=0

          file=exp_icdmain_csd_yyyymmdd.dmp

          log=exp_icdmain_csd_yyyymmdd.log

          tables=icdmain.commoninformation,icdmain.serviceinfo,icdmain.dealinfo

          若直接備份到磁帶設備,使用如下命令:

          exp icdmain/icd rows=y indexes=n compress=n buffer=65536

          feedback=100000 volsize=0

          file=/dev/rmt0

          log=exp_icdmain_csd_yyyymmdd.log

          tables=icdmain.commoninformation,icdmain.serviceinfo,icdmain.dealinfo

          注:在磁盤空間允許的情況下,應先備份到本地服務器,然后再拷貝到磁帶。出于速度

          方面的考慮,盡量不要直接備份到磁帶設備。

          用戶模式

          備份某個用戶模式下的所有對象。業務數據庫通常采用這種備份方式。

          若備份到本地文件,使用如下命令:

          exp icdmain/icd owner=icdmain rows=y indexes=n compress=n buffer=65536

          feedback=100000 volsize=0

          file=exp_icdmain_yyyymmdd.dmp

          log=exp_icdmain_yyyymmdd.log

          若直接備份到磁帶設備,使用如下命令:

          exp icdmain/icd owner=icdmain rows=y indexes=n compress=n buffer=65536

          feedback=100000 volsize=0

          file=/dev/rmt0

          log=exp_icdmain_yyyymmdd.log

          注:如果磁盤有空間,建議備份到磁盤,然后再拷貝到磁帶。如果數據庫數據量較小,

          可采用這種辦法備份。

          完全模式

          備份完整的數據庫。業務數據庫不采用這種備份方式。備份命令為:

          exp icdmain/icd rows=y indexes=n compress=n buffer=65536

          feedback=100000 volsize=0 full=y

          file=exp_fulldb_yyyymmdd.dmp(磁帶設備則為/dev/rmt0)

          log=exp_fulldb_yyyymmdd.log

          對于數據庫備份,建議采用增量備份,即只備份上一次備份以來更改的數據。增量備份

          命令:

          exp icdmain/icd rows=y indexes=n compress=n buffer=65536

          feedback=100000 volsize=0 full=y inctype=incremental

          file=exp_fulldb_yyyymmdd.dmp(磁帶設備則為/dev/rmt0)

          log=exp_fulldb_yyyymmdd.log

          注:關于增量備份必須滿足下列條件:

          1.

          只對完整數據庫備份有效,且第一次需要full=y參數,以后需要inctype=increment

          al參數。

          2. 用戶必須有EXP_FULL_DATABASE的系統角色。

          3. 話務量較小時方可采用數據庫備份。

          4. 如果磁盤有空間,建議備份到磁盤,然后再備份到磁帶。

          業務數據庫備份方法及周期

          用EXP進行備份前,先在SYS用戶下運行CATEXP.SQL文件(如果以前已運行該文件,則不

          要執行這個腳本)。

          沒有特殊說明,不允許在客戶端執行備份命令。

          ?

          備份命令參照表模式下的備份命令。

          從磁盤文件備份到磁帶

          如果首先備份到本地磁盤文件,則需要轉儲到磁帶設備上。

          1. 若需查看主機上配置的磁帶設備,使用如下命令:

          lsdev -Cc tape

          顯示的結果如下例所示:

          rmt0 Available 30-58-00-2,0 SCSI 4mm Tape Drive

          rmt1 Defined  30-58-00-0,0 SCSI 4mm Tape Drive

          標明Available的設備是可用的磁帶設備。

          2. 若需查看磁帶存儲的內容,使用如下命令:

          tar -tvf /dev/rmt0

          顯示的結果如下例所示:

          -rw-r--r-- 300 400 8089600 Jan 11 14:33:57 2001 exp_icdmain_20010111.dmp

          如果顯示類似如下內容,則表示該磁帶存儲的備份數據是從數據庫直接備份到磁帶上,

          而非從本地磁盤轉儲到磁帶的備份文件,因此操作系統無法識別。

          tar: 0511-193 An error occurred while reading from the media.

          There is an input or output error.

          tar: 0511-169 A directory checksum error on media; -267331077 not equal to

          2

          5626.

          3. 對于新磁帶或無需保留現存數據的磁帶,使用如下命令:

          tar -cvf /dev/rmt0 exp_icdmain_yyyymmdd.dmp

          注:A. 該命令將無條件覆蓋磁帶上的現存數據。

            B. 文件名不允許包含路徑信息,如:/backup/exp_icdmain_yyyymmdd.dmp。

          4. 對于需要保留現存數據的磁帶,使用如下命令:

          tar -rvf /dev/rmt0 exp_icdmain_yyyymmdd.dmp

          注:該命令將文件exp_icdmain_yyyymmdd.dmp追加到磁帶的末端,不會覆蓋現存的數據

          特別強調:如果備份時是從數據庫直接備份到磁帶上,則不可再向該磁帶上追加復制任

          何其他文件,否則該備份數據失效。

          5. 若需將轉儲到磁帶上的備份文件復制到本地硬盤,使用如下命令:

          A. 將磁帶上的全部文件復制到本地硬盤的當前目錄

          tar -xvf /dev/rmt0

          B. 將磁帶上的指定文件復制到本地硬盤的當前目錄

          tar -xvf /dev/rmt0 exp_icdmain_yyyymmdd.dmp

          備份時間安排

          由于備份時對系統I/O有較大影響,所以,建議在晚上11點以后進行備份工作。

          業務數據庫Oracle版本的恢復

          恢復方案需根據備份方案確定。由于業務數據庫采用表備份和用戶備份相結合的方案,

          所以業務數據庫的恢復需根據實際情況采用表恢復和用戶恢復相結合的方案。

          恢復方案

          數據庫的邏輯恢復分為表恢復、用戶恢復、完全恢復三種模式。

          表模式

          此方式將根據按照表模式備份的數據進行恢復。

          A. 恢復備份數據的全部內容

          若從本地文件恢復,使用如下命令:

          imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n

          commit=y buffer=65536 feedback=100000 ignore=n volsize=0

          file=exp_icdmain_cs

          d_yyyymmdd.dmp

          log=imp_icdmain_csd_yyyymmdd.log

          若從磁帶設備恢復,使用如下命令:

          imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n

          commit=y buffer=65536 feedback=100000 ignore=n volsize=0 file=/dev/rmt0

          log=imp_icdmain_csd_yyyymmdd.log

          B. 恢復備份數據中的指定表

          若從本地文件恢復,使用如下命令:

          imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n

          commit=y buffer=65536 feedback=100000 ignore=n volsize=0

          file=exp_icdmain_cs

          d_yyyymmdd.dmp

          log=imp_icdmain_csd_yyyymmdd.log

          tables=commoninformation,serviceinfo

          若從磁帶設備恢復,使用如下命令:

          imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n

          commit=y buffer=65536 feedback=100000 ignore=n volsize=0

          file=/dev/rmt0

          log=imp_icdmain_csd_yyyymmdd.log

          tables=commoninformation,serviceinfo

          用戶模式

          此方式將根據按照用戶模式備份的數據進行恢復。

          A. 恢復備份數據的全部內容

          若從本地文件恢復,使用如下命令:

          imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n

          commit=y buffer=65536 feedback=100000 ignore=n volsize=0

          file=exp_icdmain_yy

          yymmdd.dmp

          log=imp_icdmain_yyyymmdd.log

          若從磁帶設備恢復,使用如下命令:

          imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n

          commit=y buffer=65536 feedback=100000 ignore=n volsize=0 file=/dev/rmt0

          log=imp_icdmain_yyyymmdd.log

          B. 恢復備份數據中的指定表

          若從本地文件恢復,使用如下命令:

          imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n

          commit=y buffer=65536 feedback=100000 ignore=n volsize=0

          file=exp_icdmain_yy

          yymmdd.dmp

          log=imp_icdmain_yyyymmdd.log

          tables=commoninformation,serviceinfo

          若從磁帶設備恢復,使用如下命令:

          imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n

          commit=y buffer=65536 feedback=100000 ignore=n volsize=0 file=/dev/rmt0

          log=imp_icdmain_yyyymmdd.log

          tables=commoninformation,serviceinfo

          完全模式

          如果備份方式為完全模式,采用下列恢復方法:

          若從本地文件恢復,使用如下命令:

          imp system/manager rows=y indexes=n commit=y buffer=65536

          feedback=100000 ignore=y volsize=0 full=y

          file=exp_icdmain_yyyymmdd.dmp

          log=imp_icdmain_yyyymmdd.log

          若從磁帶設備恢復,使用如下命令:

          imp system/manager rows=y indexes=n commit=y buffer=65536

          feedback=100000 ignore=y volsize=0 full=y

          file=/dev/rmt0

          log=imp_icdmain_yyyymmdd.log

          參數說明

          1. ignore參數

          Oracle在恢復數據的過程中,當恢復某個表時,該表已經存在,

          就要根據ignore參數的設置來決定如何操作。

          若ignore=y,Oracle不執行CREATE TABLE語句,直接將數據

          插入到表中,如果插入的記錄違背了約束條件,比如主鍵約束,

          則出錯的記錄不會插入,但合法的記錄會添加到表中。

          若ignore=n,Oracle不執行CREATE TABLE語句,同時也不會

          將數據插入到表中,而是忽略該表的錯誤,繼續恢復下一個表。

          2. indexes參數

          在恢復數據的過程中,若indexes=n,則表上的索引不會被恢復

          ,但是主鍵對應的唯一索引將無條件恢復,這是為了保證數據

          的完整性。

          字符集轉換

          對于單字節字符集(例如US7ASCII),恢復時,數據庫自動轉

          換為該會話的字符集(NLS_LANG參數);對于多字節字符集

          (例如ZHS16CGB231280),恢復時,應盡量使字符集相同

          (避免轉換),如果要轉換,目標數據庫的字符集應是輸出數

          據庫字符集的超集。

          恢復方法

          業務數據庫采用表恢復方案。在用IMP進行恢復前,先在SYS

          用戶下運行CATEXP.SQL文件(如果以前已運行該文件,則

          不要執行這個腳本),然后執行下列命令:

          IMP ICDMAIN/ICD FILE=文件名 LOG=LOG文件名 ROWS=Y

          COMMIT=Y BUFFER=Y IGNORE=Y TABLES=表名

          注:要恢復的表名參照備份的表名

            。恢復是在原表基礎上累加數據

            。沒有特殊說明,不允許在客戶端執行恢復命令

          ?

          將一個數據庫的某用戶的所有表導到另外數據庫的一個用戶下面的例子  

          exp userid=system/manager owner=username1 file=expfile.dmp

          imp userid=system/manager fromuser=username1 touser=username2 ignore=y file=expfile.dmp

          將一個數據庫的某用戶的所有表導到另外數據庫的一個用戶下面的例子  

          exp userid=system/manager owner=username1 file=expfile.dmp

          imp userid=system/manager fromuser=username1 touser=username2 ignore=y file=expfile.dmp

          ?

          ?

          ORACLE數據庫有兩類備份方法。第一類為物理備份,該方法實現數據庫的完整恢復,但

          數據庫必須運行在歸擋模式下(業務數據庫在非歸擋模式下運行),且需要極大的外部

          存儲設備,例如磁帶庫;第二類備份方式為邏輯備份,業務數據庫采用此種方式,此方

          法不需要數據庫運行在歸擋模式下,不但備份簡單,而且可以不需要外部存儲設備。

          數據庫邏輯備份方法

          ORACLE數據庫的邏輯備份分為三種模式:表備份、用戶備份和完全備份。

          表模式

          備份某個用戶模式下指定的對象(表)。業務數據庫通常采用這種備份方式。

          若備份到本地文件,使用如下命令:

          exp icdmain/icd rows=y indexes=n compress=n buffer=65536

          feedback=100000 volsize=0

          file=exp_icdmain_csd_yyyymmdd.dmp

          log=exp_icdmain_csd_yyyymmdd.log

          tables=icdmain.commoninformation,icdmain.serviceinfo,icdmain.dealinfo

          若直接備份到磁帶設備,使用如下命令:

          exp icdmain/icd rows=y indexes=n compress=n buffer=65536

          feedback=100000 volsize=0

          file=/dev/rmt0

          log=exp_icdmain_csd_yyyymmdd.log

          tables=icdmain.commoninformation,icdmain.serviceinfo,icdmain.dealinfo

          注:在磁盤空間允許的情況下,應先備份到本地服務器,然后再拷貝到磁帶。出于速度

          方面的考慮,盡量不要直接備份到磁帶設備。

          用戶模式

          備份某個用戶模式下的所有對象。業務數據庫通常采用這種備份方式。

          若備份到本地文件,使用如下命令:

          exp icdmain/icd owner=icdmain rows=y indexes=n compress=n buffer=65536

          feedback=100000 volsize=0

          file=exp_icdmain_yyyymmdd.dmp

          log=exp_icdmain_yyyymmdd.log

          若直接備份到磁帶設備,使用如下命令:

          exp icdmain/icd owner=icdmain rows=y indexes=n compress=n buffer=65536

          feedback=100000 volsize=0

          file=/dev/rmt0

          log=exp_icdmain_yyyymmdd.log

          注:如果磁盤有空間,建議備份到磁盤,然后再拷貝到磁帶。如果數據庫數據量較小,

          可采用這種辦法備份。

          完全模式

          備份完整的數據庫。業務數據庫不采用這種備份方式。備份命令為:

          exp icdmain/icd rows=y indexes=n compress=n buffer=65536

          feedback=100000 volsize=0 full=y

          file=exp_fulldb_yyyymmdd.dmp(磁帶設備則為/dev/rmt0)

          log=exp_fulldb_yyyymmdd.log

          對于數據庫備份,建議采用增量備份,即只備份上一次備份以來更改的數據。增量備份

          命令:

          exp icdmain/icd rows=y indexes=n compress=n buffer=65536

          feedback=100000 volsize=0 full=y inctype=incremental

          file=exp_fulldb_yyyymmdd.dmp(磁帶設備則為/dev/rmt0)

          log=exp_fulldb_yyyymmdd.log

          注:關于增量備份必須滿足下列條件:

          1.

          只對完整數據庫備份有效,且第一次需要full=y參數,以后需要inctype=increment

          al參數。

          2. 用戶必須有EXP_FULL_DATABASE的系統角色。

          3. 話務量較小時方可采用數據庫備份。

          4. 如果磁盤有空間,建議備份到磁盤,然后再備份到磁帶。

          業務數據庫備份方法及周期

          用EXP進行備份前,先在SYS用戶下運行CATEXP.SQL文件(如果以前已運行該文件,則不

          要執行這個腳本)。

          沒有特殊說明,不允許在客戶端執行備份命令。

          ?

          備份命令參照表模式下的備份命令。

          從磁盤文件備份到磁帶

          如果首先備份到本地磁盤文件,則需要轉儲到磁帶設備上。

          1. 若需查看主機上配置的磁帶設備,使用如下命令:

          lsdev -Cc tape

          顯示的結果如下例所示:

          rmt0 Available 30-58-00-2,0 SCSI 4mm Tape Drive

          rmt1 Defined  30-58-00-0,0 SCSI 4mm Tape Drive

          標明Available的設備是可用的磁帶設備。

          2. 若需查看磁帶存儲的內容,使用如下命令:

          tar -tvf /dev/rmt0

          顯示的結果如下例所示:

          -rw-r--r-- 300 400 8089600 Jan 11 14:33:57 2001 exp_icdmain_20010111.dmp

          如果顯示類似如下內容,則表示該磁帶存儲的備份數據是從數據庫直接備份到磁帶上,

          而非從本地磁盤轉儲到磁帶的備份文件,因此操作系統無法識別。

          tar: 0511-193 An error occurred while reading from the media.

          There is an input or output error.

          tar: 0511-169 A directory checksum error on media; -267331077 not equal to

          2

          5626.

          3. 對于新磁帶或無需保留現存數據的磁帶,使用如下命令:

          tar -cvf /dev/rmt0 exp_icdmain_yyyymmdd.dmp

          注:A. 該命令將無條件覆蓋磁帶上的現存數據。

            B. 文件名不允許包含路徑信息,如:/backup/exp_icdmain_yyyymmdd.dmp。

          4. 對于需要保留現存數據的磁帶,使用如下命令:

          tar -rvf /dev/rmt0 exp_icdmain_yyyymmdd.dmp

          注:該命令將文件exp_icdmain_yyyymmdd.dmp追加到磁帶的末端,不會覆蓋現存的數據

          特別強調:如果備份時是從數據庫直接備份到磁帶上,則不可再向該磁帶上追加復制任

          何其他文件,否則該備份數據失效。

          5. 若需將轉儲到磁帶上的備份文件復制到本地硬盤,使用如下命令:

          A. 將磁帶上的全部文件復制到本地硬盤的當前目錄

          tar -xvf /dev/rmt0

          B. 將磁帶上的指定文件復制到本地硬盤的當前目錄

          tar -xvf /dev/rmt0 exp_icdmain_yyyymmdd.dmp

          備份時間安排

          由于備份時對系統I/O有較大影響,所以,建議在晚上11點以后進行備份工作。

          業務數據庫Oracle版本的恢復

          恢復方案需根據備份方案確定。由于業務數據庫采用表備份和用戶備份相結合的方案,

          所以業務數據庫的恢復需根據實際情況采用表恢復和用戶恢復相結合的方案。

          恢復方案

          數據庫的邏輯恢復分為表恢復、用戶恢復、完全恢復三種模式。

          表模式

          此方式將根據按照表模式備份的數據進行恢復。

          A. 恢復備份數據的全部內容

          若從本地文件恢復,使用如下命令:

          imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n

          commit=y buffer=65536 feedback=100000 ignore=n volsize=0

          file=exp_icdmain_cs

          d_yyyymmdd.dmp

          log=imp_icdmain_csd_yyyymmdd.log

          若從磁帶設備恢復,使用如下命令:

          imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n

          commit=y buffer=65536 feedback=100000 ignore=n volsize=0 file=/dev/rmt0

          log=imp_icdmain_csd_yyyymmdd.log

          B. 恢復備份數據中的指定表

          若從本地文件恢復,使用如下命令:

          imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n

          commit=y buffer=65536 feedback=100000 ignore=n volsize=0

          file=exp_icdmain_cs

          d_yyyymmdd.dmp

          log=imp_icdmain_csd_yyyymmdd.log

          tables=commoninformation,serviceinfo

          若從磁帶設備恢復,使用如下命令:

          imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n

          commit=y buffer=65536 feedback=100000 ignore=n volsize=0

          file=/dev/rmt0

          log=imp_icdmain_csd_yyyymmdd.log

          tables=commoninformation,serviceinfo

          用戶模式

          此方式將根據按照用戶模式備份的數據進行恢復。

          A. 恢復備份數據的全部內容

          若從本地文件恢復,使用如下命令:

          imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n

          commit=y buffer=65536 feedback=100000 ignore=n volsize=0

          file=exp_icdmain_yy

          yymmdd.dmp

          log=imp_icdmain_yyyymmdd.log

          若從磁帶設備恢復,使用如下命令:

          imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n

          commit=y buffer=65536 feedback=100000 ignore=n volsize=0 file=/dev/rmt0

          log=imp_icdmain_yyyymmdd.log

          B. 恢復備份數據中的指定表

          若從本地文件恢復,使用如下命令:

          imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n

          commit=y buffer=65536 feedback=100000 ignore=n volsize=0

          file=exp_icdmain_yy

          yymmdd.dmp

          log=imp_icdmain_yyyymmdd.log

          tables=commoninformation,serviceinfo

          若從磁帶設備恢復,使用如下命令:

          imp icdmain/icd fromuser=icdmain touser=icdmain rows=y indexes=n

          commit=y buffer=65536 feedback=100000 ignore=n volsize=0 file=/dev/rmt0

          log=imp_icdmain_yyyymmdd.log

          tables=commoninformation,serviceinfo

          完全模式

          如果備份方式為完全模式,采用下列恢復方法:

          若從本地文件恢復,使用如下命令:

          imp system/manager rows=y indexes=n commit=y buffer=65536

          feedback=100000 ignore=y volsize=0 full=y

          file=exp_icdmain_yyyymmdd.dmp

          log=imp_icdmain_yyyymmdd.log

          若從磁帶設備恢復,使用如下命令:

          imp system/manager rows=y indexes=n commit=y buffer=65536

          feedback=100000 ignore=y volsize=0 full=y

          file=/dev/rmt0

          log=imp_icdmain_yyyymmdd.log

          參數說明

          1. ignore參數

          Oracle在恢復數據的過程中,當恢復某個表時,該表已經存在,

          就要根據ignore參數的設置來決定如何操作。

          若ignore=y,Oracle不執行CREATE TABLE語句,直接將數據

          插入到表中,如果插入的記錄違背了約束條件,比如主鍵約束,

          則出錯的記錄不會插入,但合法的記錄會添加到表中。

          若ignore=n,Oracle不執行CREATE TABLE語句,同時也不會

          將數據插入到表中,而是忽略該表的錯誤,繼續恢復下一個表。

          2. indexes參數

          在恢復數據的過程中,若indexes=n,則表上的索引不會被恢復

          ,但是主鍵對應的唯一索引將無條件恢復,這是為了保證數據

          的完整性。

          字符集轉換

          對于單字節字符集(例如US7ASCII),恢復時,數據庫自動轉

          換為該會話的字符集(NLS_LANG參數);對于多字節字符集

          (例如ZHS16CGB231280),恢復時,應盡量使字符集相同

          (避免轉換),如果要轉換,目標數據庫的字符集應是輸出數

          據庫字符集的超集。

          恢復方法

          業務數據庫采用表恢復方案。在用IMP進行恢復前,先在SYS

          用戶下運行CATEXP.SQL文件(如果以前已運行該文件,則

          不要執行這個腳本),然后執行下列命令:

          IMP ICDMAIN/ICD FILE=文件名 LOG=LOG文件名 ROWS=Y

          COMMIT=Y BUFFER=Y IGNORE=Y TABLES=表名

          注:要恢復的表名參照備份的表名

            。恢復是在原表基礎上累加數據

            。沒有特殊說明,不允許在客戶端執行恢復命令

          ?

          TrackBacks[0] Comments[2] Posted by lazycat on 08 November 2005 11:42:19 CST

          ?

          ?

          Reply | Permalink Re: exp/imp詳解

          我用imp命令進行數據庫邏輯備份,導入數據,就會出現以下情況,而且網上也看到過你個這樣的例子,站長能否就這個情況講一下呢?謝謝。 IMP-00003: 遇到 ORACLE 錯誤 922 ORA-00922: 缺少或無效選項 IMP-00017: 由于 ORACLE 的 922 錯誤,以下的語句失敗 "CREATE TABLE "T_SYS_AUTHORITY" ("AUTHORITY_ID" NUMBER(10, 0) NOT NULL ENABL" "E, "AUTHORITY_NAME" VARCHAR2(100) NOT NULL ENABLE, "AUTHORITY_TYPE" VARCHAR" "2(1) NOT NULL ENABLE, "REF_ID" NUMBER(8, 0) NOT NULL ENABLE, "NEED_CONTROL"" " VARCHAR2(1), "PATH" VARCHAR2(1000), "PATH_NAME" VARCHAR2(2000), "TYPE_ID" " "NUMBER(2, 0), "OPERATE_TYPE_ID" NUMBER(2, 0), "OPERATE_ID" VARCHAR2(1), "UR" "L" VARCHAR2(200), "SQLWHERE" VARCHAR2(100), "POOL_NAME" VARCHAR2(20), "TABL" "E_NAME" VARCHAR2(50), "LEVEL_NUM" NUMBER(2, 0)) PCTFREE 10 PCTUSED 40 INIT" "RANS 1 MAXTRANS 255 STORAGE(INITIAL 65536 FREELISTS 1 FREELIST GROUPS 1) TA" "BLESPACE "USERS" LOGGING NOCOMPRESS"

          Comment from Anonymous

          ?

          ?

          ?

          ?

          ?

          ?

          ?

          ?

          ?

          ?

          ?

          ?

          如何把數據導入不同的表空間?

          作者:eygle 發表于 2005-04-05 14:52 最后更新于 2006-12-11 12:14 | English Version

          版權聲明:可以任意轉載,轉載時請務必以超鏈接形式標明文章原始出處和作者信息及本聲明。

          http://www.eygle.com/archives/2005/04/ecineeeeiaeioae.html

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

          站內相關文章|Related Articles 很多人在進行數據遷移時,希望把數據導入不同于原系統的表空間,在導入之后卻往往發現,數據被導入了原表空間。

          本例舉例說明解決這個問題:

          1.如果缺省的用戶具有DBA權限

          那么導入時會按照原來的位置導入數據,即導入到原表空間

          $ imp bjbbs/passwd file=bj_bbs.dmp fromuser=jive touser=bjbbs grants=n

          ?

          Import: Release 8.1.7.4.0 - Production on Mon Sep 22 11:49:41 2003

          ?

          (c) Copyright 2000 Oracle Corporation.? All rights reserved.

          ?

          ?

          Connected to: Oracle8i Enterprise Edition Release 8.1.7.4.0 - 64bit Production

          With the Partitioning option

          JServer Release 8.1.7.4.0 - 64bit Production

          ?

          Export file created by EXPORT:V08.01.07 via conventional path

          ?

          Warning: the objects were exported by JIVE, not by you

          ?

          import done in ZHS16GBK character set and ZHS16GBK NCHAR character set

          . . importing table??????????????? "HS_ALBUMINBOX"???????? 12 rows imported

          . . importing table????????? ??????"HS_ALBUM_INFO"???????? 47 rows imported

          . . importing table?????????????????? "HS_CATALOG"???????? 13 rows imported

          . . importing table????????? "HS_CATALOGAUTHORITY"????????? 5 rows imported

          . . importing table???????? "HS_CATEGORYAUTHORITY"?????? ???0 rows imported

          ....

          . . importing table???????????????? "JIVEUSERPROP"????????? 4 rows imported

          . . importing table??????????????????? "JIVEWATCH"????????? 0 rows imported

          . . importing table?????????????????? "PLAN_TABLE"????????? 0 rows imported

          . . importing table?????????????????? "TMZOLDUSER"????????? 3 rows imported

          . . importing table????????????????? "TMZOLDUSER2"????????? 3 rows imported

          About to enable constraints...

          Import terminated successfully without warnings.

          ?

          查詢發現仍然導入了USER表空間

          ?

          $ sqlplus bjbbs/passwd

          ?

          SQL*Plus: Release 8.1.7.0.0 - Production on Mon Sep 22 11:50:03 2003

          ?

          (c) Copyright 2000 Oracle Corporation.? All rights reserved.

          ?

          ?

          Connected to:

          Oracle8i Enterprise Edition Release 8.1.7.4.0 - 64bit Production

          With the Partitioning option

          JServer Release 8.1.7.4.0 - 64bit Production

          ?

          SQL> select table_name,tablespace_name from user_tables;

          ?

          TABLE_NAME???????????????????? TABLESPACE_NAME

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

          HS_ALBUMINBOX????????????????? USERS

          HS_ALBUM_INFO????????????????? USERS

          HS_CATALOG???????????????????? USERS

          HS_CATALOGAUTHORITY??????????? USERS

          HS_CATEGORYAUTHORITY?????????? USERS

          HS_CATEGORYINFO??????????????? USERS

          HS_DLF_DOWNLOG???????????????? USERS

          ...

          JIVEWATCH????????????????? ????USERS

          PLAN_TABLE???????????????????? USERS

          TMZOLDUSER???????????????????? USERS

          ?

          TABLE_NAME???????????????????? TABLESPACE_NAME

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

          TMZOLDUSER2??????????????????? USERS

          ?

          45 rows selected.

          2.回收用戶unlimited tablespace權限

          這樣就可以導入到用戶缺省表空間

          SQL> create user bjbbs identified by passwd

          ? 2? default tablespace bjbbs

          ? 3? temporary tablespace temp

          ? 4? /

          ?

          User created.

          ?

          ?

          SQL> grant connect,resource to bjbbs;

          ?

          Grant succeeded.

          ?

          SQL> grant dba to bjbbs;

          ?

          Grant succeeded.

          ?

          SQL> revoke unlimited tablespace from bjbbs;

          ?

          Revoke succeeded.

          ?

          SQL> alter user bjbbs quota 0 on users;

          ?

          User altered.

          ?

          SQL> alter user bjbbs quota unlimited on bjbbs;

          ?

          User altered.

          ?

          SQL> exit

          Disconnected from Oracle8i Enterprise Edition Release 8.1.7.4.0 - 64bit Production

          With the Partitioning option

          JServer Release 8.1.7.4.0 - 64bit Production

          ?

          重新導入數據

          $ imp bjbbs/passwd file=bj_bbs.dmp fromuser=jive touser=bjbbs grants=n

          ?

          Import: Release 8.1.7.4.0 - Production on Mon Sep 22 12:00:51 2003

          ?

          (c) Copyright 2000 Oracle Corporation.? All rights reserved.

          ?

          ?

          Connected to: Oracle8i Enterprise Edition Release 8.1.7.4.0 - 64bit Production

          With the Partitioning option

          JServer Release 8.1.7.4.0 - 64bit Production

          ?

          Export file created by EXPORT:V08.01.07 via conventional path

          ?

          Warning: the objects were exported by JIVE, not by you

          ?

          import done in ZHS16GBK character set and ZHS16GBK NCHAR character set

          . . importing table??????????????? "HS_ALBUMINBOX"???????? 12 rows imported

          . . importing table??????????????? "HS_ALBUM_INFO"???????? 47 rows imported

          . . importing table?????????????????? "HS_CATALOG"???????? 13 rows imported

          . . importing table???????? ?"HS_CATALOGAUTHORITY"????????? 5 rows imported

          . . importing table???????? "HS_CATEGORYAUTHORITY"????????? 0 rows imported

          . . importing table????????????? "HS_CATEGORYINFO"????????? 9 rows imported

          . . importing table?????????????? "HS_DLF_DOWNLOG"????? ????0 rows imported

          ....

          . . importing table???????????????????? "JIVEUSER"??????? 102 rows imported

          . . importing table???????????????? "JIVEUSERPERM"???????? 81 rows imported

          . . importing table???????????????? "JIVEUSERPROP"????????? 4 rows imported

          . . importing table??????????????????? "JIVEWATCH"????????? 0 rows imported

          . . importing table?????????????????? "PLAN_TABLE"????????? 0 rows imported

          . . importing table?????????????????? "TMZOLDUSER"????????? 3 rows imported

          . . importing table??????????? ??????"TMZOLDUSER2"????????? 3 rows imported

          About to enable constraints...

          Import terminated successfully without warnings.

          ?

          SQL> select table_name,tablespace_name from user_tables;

          ?

          TABLE_NAME???????????????????? TABLESPACE_NAME

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

          HS_ALBUMINBOX????????????????? BJBBS

          HS_ALBUM_INFO????????????????? BJBBS

          HS_CATALOG???????????????????? BJBBS

          HS_CATALOGAUTHORITY??????????? BJBBS

          ....

          JIVETHREAD???????????????????? BJBBS

          JIVETHREADPROP???????????????? BJBBS

          JIVEUSER?????????????????????? BJBBS

          JIVEUSERPERM?????????????????? BJBBS

          JIVEUSERPROP?????????????????? BJBBS

          JIVEWATCH????????????????????? BJBBS

          PLAN_TABLE???????????????????? BJBBS

          TMZOLDUSER???????????????????? BJBBS

          ?

          TABLE_NAME???????????????????? TABLESPACE_NAME

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

          TMZOLDUSER2??????????????????? BJBBS

          ?

          45 rows selected.

          ?

          現在數據被導入到正確的用戶表空間中. -----

          這篇 【如何把數據導入不同的表空間?】來自 www.eygle.com | 本站? 版權| CSDN技術網摘| del.icio.us|365Key

          ?

          By eygle on 2005-04-05 14:52 | Comments (6) | Posted to Backup&Recovery | ReEdit | 瀏覽次數:1594

          ?

          站內相關主題:

          ?

          ?

          網上相關主題:

          ?????

          ?

          In 48 hours,you are linked from:

          ?

          Google [649]

          ?

          ?

          Listed below are links to weblogs that reference 如何把數據導入不同的表空間?:

          ?

          ? Oracle初學者入門指南-系統與用戶數據分離 from Friends Life and Oracle

          我們知道,在Oracle10g中,Oracle提供了缺省數據表空間的概念,即使用戶不指定,Oracle也不會將用戶數據存放在SYSTEM表空間,而且,Oracle還將一些無關緊要的系統數據分離到SYSAUX表空間,以使得SYSTEM表空間純凈化. [Read More]

          ?

          Tracked on September 2, 2006 10:05 PM

          ?

          Comments

          嗯,我就出現過這樣的問題,謝謝PH

          ?

          Posted by: booby at April 5, 2005 3:02 PM

          ?

          參考我的這篇,也總結過這樣的問題:

          http://blog.csdn.net/kamus/archive/2004/06/10/22282.aspx

          ?

          Posted by: kamus at April 6, 2005 1:14 AM

          ?

          有人問到這個問題才貼出來的,本來沒什么技術含量。

          ?

          Posted by: eygle at April 6, 2005 9:21 AM

          ?

          有時候這個也不好使。我今天導入一個分區表的時候就遇到這個問題,最后還是先在目標庫建立表結構,然后再導數據進去的。

          ?

          Posted by: suk at December 9, 2005 6:18 PM

          ?

          試了怎么不行啊,報錯

          原來從users表空間中導出

          現在想導入到自定義的DATA中

          如上操作導入時報在users表空間的權限不夠

          ?

          Posted by: torrent at August 7, 2006 9:04 PM

          ?

          報什么錯?你的步驟?

          有授權么?

          ?

          ?

          ?

          ?

          posted on 2007-02-15 22:51 小高 閱讀(4215) 評論(0)  編輯  收藏 所屬分類: Oracle

          導航

          <2007年2月>
          28293031123
          45678910
          11121314151617
          18192021222324
          25262728123
          45678910

          統計

          常用鏈接

          留言簿(3)

          隨筆分類(352)

          收藏夾(19)

          關注的blog

          手冊

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 修文县| 肇源县| 全州县| 临西县| 阿巴嘎旗| 衡南县| 嘉义县| 宜宾县| 台北县| 余江县| 竹山县| 蒲江县| 台北市| 长白| 江孜县| 石河子市| 浦东新区| 霸州市| 兰州市| 宜宾县| 宁波市| 九龙城区| 海淀区| 祥云县| 英山县| 桦川县| 奇台县| 平江县| 育儿| 咸宁市| 竹北市| 黑龙江省| 成武县| 锦屏县| 新乐市| 淮滨县| 涪陵区| 尉犁县| 安达市| 浮梁县| 逊克县|