oracle 資料庫匯出 exp命令,報錯

2022-02-13 10:35:06 字數 4045 閱讀 3667

1樓:匿名使用者

那就要針對情況具體分析,一般可參考如下方法:

1. 獲取幫助

exp help=y

2. 匯出一個完整資料庫

exp system/manager file=bible_db log=dible_db full=y

3. 匯出資料庫定義而不匯出資料

exp system/manager file=bible_db log=dible_db full=y rows=n

4. 匯出一個或一組指定使用者所屬的全部表、索引和其他物件

exp system/manager file=seapark log=seapark owner=seapark

exp system/manager file=seapark log=seapark owner=(seapark,amy,amyc,harold)

注意:在匯出使用者時,儘管已經得到了這個使用者的所有物件,但是還是不能得到這些物件引用的任何同義詞。解決方法是用以下的sql*plus命令建立一個指令碼檔案,執行這個指令碼檔案可以獲得一個重建seapark所屬物件的全部公共同義詞的可執行指令碼,然後在目標資料庫上執行該指令碼就可重建同義詞了。

set linesize 132

set pagesize 0

set trimspool on

spool c:\seapark.syn

select 'create public synonym '||synonym_name||' for'||table_owner||'.'||table_name||';' from dba_synonyms where table_owner = 'seapark' and owner = 'public';

spool off

5. 匯出一個或多個指定表

exp seapark/seapark file=tank log=tank tables=tank

exp system/manager file=tank log=tank tables=seapark.tank

exp system/manager file=tank log=tank tables=(seapark.tank,amy.artist)

6. 估計匯出檔案的大小

全部表總位元組數:

select sum(bytes) from dba_segments where segment_type = 'table';

seapark使用者所屬表的總位元組數:

select sum(bytes) from dba_segments where owner = 'seapark' and segment_type = 'table';

seapark使用者下的aquatic_animal表的位元組數:

select sum(bytes) from dba_segments where owner = 'seapark' and segment_type = 'table' and segment_name = 'aquatic_animal';

7. 匯出表資料的子集(oracle8i以上)

nt系統:

exp system/manager query='where salad_type='fruit'' tables=amy.salad_type file=fruit log=fruit

unix系統:

exp system/manager query=\"where salad_type=\'fruit\'\" tables=amy.salad_type file=fruit log=fruit

8. 用多個檔案分割一個匯出檔案

exp system/manager file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4) log=paycheck, filesize=1g tables=hr.paycheck

9. 使用引數檔案

exp system/manager parfile=bible_tables.par

bible_tables.par引數檔案:

#export the sample tables used for the oracle8i database administrator's bible.

file=bible_tables

log=bible_tables

tables=(

amy.artist

amy.books

seapark.checkup

seapark.items

)10. 增量匯出

「完全」增量匯出(complete),即備份整個資料庫

exp system/manager inctype=complete file=990702.dmp

「增量型」增量匯出(incremental),即備份上一次備份後改變的資料

exp system/manager inctype=incremental file=990702.dmp

「累計型」增量匯出(cumulative),即備份上一次「完全」匯出之後改變的資料

exp system/manager inctype=cumulative file=990702.dmp

2樓:李love晶

嘗試在匯出語句後加上 direct=y 試試能不能匯出oracle給出的解決方法是

設定初始化引數

"_optim_adjust_for_part_skews"=false

重啟資料庫

或者升級資料庫版本

3樓:

oracle 資料庫服務正常不?

oracle資料庫匯出命令exp寫入批處理檔案不能執行! 10

4樓:匿名使用者

你分別建如下三個檔案,執行oraclebackup.bat,就可以備份了。

1、exp.txt

userid=system/system@ordb

owner=scott

indexes=y

grants=y

rows=y

constraints=y

compress=n

2、oraclebackup.bat

oraclebackup.vbs

3、oraclebackup.vbs

option explicit

on error resume next

dim fname, tnow, cmd

dim wshshell

set wshshell = createobject("wscript.shell")

'調整備份檔名

tnow = now()

fname = year(tnow) & formatnumber(month(tnow)/100,2,false) & formatnumber(day(tnow)/100,2,false) & formatdatetime(tnow,3)

fname = replace(replace(fname,".",""),":","")

cmd = "exp log=../backup/" & fname & ".log file=..

/backup/" & fname & ".dmp parfile=exp.txt"

'fname = date

'cmd = "exp log=../backup/" & fname & "_oracledb_bak.log file=..

/backup/" & fname & "_oracledb_bak.dmp parfile=exp.txt"

wshshell.run cmd

set wshshell = nothing

'wscript.echo cmd

oracle exp命令如何批量匯出在資料庫中開頭為xx的所有表?

5樓:匿名使用者

你應該要了解你所說的那個表是在哪個解決方案下面,否則full=y 全部匯出

6樓:匿名使用者

這個估計要寫匯出指令碼吧

oracle資料庫訪問另資料庫問題

可以使用dblink 在資料庫b上建立database link 然後配置使用者名稱,密碼和sid 其次注意要有訪問該表的許可權,然後再b中直接輸入 select from a dblink name 就可以了 用資料庫鏈路 create public database link toaconnec...

oracle資料庫行轉列,Oracle 資料庫行轉列

create table a 名稱 varchar2 10 1月 varchar2 10 2月 varchar2 10 3月 varchar2 10 4月 varchar2 10 insert into a values 土豆 50,60,70,80 insert into a values 白菜 ...

oracle資料庫如何刪除約束,資料庫中怎樣刪除約束

用system使用者登入後,使用drop語句就可以刪除 根據錯誤提示的約束名稱,然後disable掉試試。alter table table name disable constraint constraint name alter table 約束基於的表名 drop constraint 約束名...