1. 程式人生 > >Oracle資料泵expdp/impdp筆記

Oracle資料泵expdp/impdp筆記

作者:fbysss
msn:[email protected] 
blog:blog.csdn.net/fbysss
宣告:本文由fbysss原創,轉載請註明出處
關鍵字:oracle 資料泵

expdp/impdp資料泵 是oracle10G的命令
必須在伺服器上執行,su - oracle
想匯出sss_c_開頭的表,寫下如下語句

expdp username/password dumpfile=aaa.dmp directory=/tmp INCLUDE=table:”like sss_c_%”

實際上,這句話錯了好多個地方,看上去對的,實則漏洞百出:
首先會報錯:

ORA-39006: internal error
ORA-39213: Metadata processing is not available

原來需要用dba身份進入,執行exec dbms_metadata_util.load_stylesheets
然後,directory不能直接使用外部目錄,而是要用oracle自己建立的目錄
create directory dumpdir as '/home/oracle/dump_dir';
grant read, write on directory dumpdir to username;

expdp username/password dmpfile=aaa.dmp directory=dmpdir INCLUDE=table:”like ‘sss_c_%’”
還是有問題:
ORA-39071: Value for EXCLUDE is badly formed


原因主要是轉義字元問題,
單引號雙引號都需要轉義
expdp username/password dmpfile=aaa.dmp directory=dmpdir INCLUDE=table:/”like ‘sss_c_%/’/”
一看,ok了,生成檔案了
但是,並沒有完全按照預想得like的篩選範圍匯出表來。,一個sss_cal表也出來了。為啥呢?
原因是下劃線也是特殊字元,是一個萬用字元。
解決辦法:
expdp username/password dmpfile=aaa.dmp directory=dmpdir INCLUDE=table:/”like /‘sss/_c/_%/’ escape /‘//' "

impdp也要建立目錄,賦予許可權。並且執行exec dbms_metadata_util.load_stylesheets
impdp user/password dmpfile=aaa.dmp directory=dmpdir
ORA-31633: unable to create master table "USERNAME.SYS_IMPORT_FULL_05


需要使用dba
grant IMP_FULL_DATABASE to username;
impdp的時候,我故意刪掉一個表,出現of type TABLE not found in schema
原因是expdp的時候,加了content=data_only 如果是all就可以了

如何使用管理員匯出普通使用者的表?

當然,用system和sys賬號也是可以的,但需要加一個schemas引數,指定表對應使用者

expdp system/systempassword dmpfile=aaa.dmp directory=dmpdir schemas=username INCLUDE=table:/”like /‘sss/_c/_%/’ escape /‘//' "

sys有點特殊,必須加as sysdba,格式如下:

expdp ‘userid="sys/syspassword as sysdba"’ dmpfile=aaa.dmp directory=dmpdir schemas=username INCLUDE=table:/”like /‘sss/_c/_%/’ escape /‘//' "

亂碼解決:

impdp/expdp有時候出現錯誤資訊是亂碼,解決辦法是:
NLS_LANG=”Simplified Chinese_china”.ZHS16GBK
export NLS_LANG

相關推薦

Oracle資料expdp/impdp筆記

作者:fbysssmsn:[email protected]  blog:blog.csdn.net/fbysss宣告:本文由fbysss原創,轉載請註明出處關鍵字:oracle 資料泵 expdp/impdp資料泵 是oracle10G的命令必須在伺服器上執行,s

使用Oracle資料EXPDP/IMPDP匯入匯出

示例為ORACLE 11G匯出到ORACLE 10G匯入用資料泵EXPDP,IMPDP做ORACLE匯入、匯出.  優勢如下:1:可以跨不同表空間2:不同ORACLE版本資料方便匯入,匯出3:效率大大高

Oracle 資料IMPDP/EXPDP)匯入匯出

最好以system等管理員建立邏輯目錄,Oracle不會自動建立實際的物理目錄“D:\oracleData”(務必手動建立此目錄),僅僅是進行定義邏輯路徑dump_dir; sql> conn system/[email prote

資料(expdp/impdp)跨版本匯入,11g匯出10g匯入

最近在做資料庫升級的事情,開發那邊提了個需求說,如果升級並執行幾天後怎麼把新的資料倒回到舊版本的資料庫裡面? 我做升級時是使用資料泵做的資料遷移,大家都知道軟體的使用“一般”情況下都是向下相容的,即例如使用10g的expdp工具匯出的檔案使用11g的impdp匯入到11g的

通過資料expdpimpdp方式備份與還原(匯出與匯入)Oracle資料庫

前言備份還原oracle資料庫的方式有很多種,本文只講解使用expdp、impdp資料泵方式備份與還原(恢復)資料庫,此種方式可以匯出/匯入資料庫表以及表中的資料。請自行修改目錄路徑,否則出現錯誤別怪我哦~一、備份step1:使用system登入oracle開啟DOS命令列介

詳解oracle 12c通過數據expdp/impdp工具實現對數據備份、恢復

工具實現 數據庫 RoCE app eat source .com blog con 簡介 Oracle Database 10g引入了最新的數據泵(Data Dump)技術,數據泵導出導入(EXPDP和IMPDP)的作用1.實現邏輯備份和邏輯恢復2.數據庫用戶之間移動對象

oracle11g 使用資料匯入/匯出資料expdp/impdp

目標:使用oracle資料泵,將A電腦上的資料庫databaseA匯出後,再匯入到B電腦上的資料庫databaseB中。 A電腦上的操作(expdp資料匯出): 執行cmd; 登入資料庫,輸入

Oracle資料匯出匯入資料庫指令碼

--檢視目錄(dba賬號下操作) select * from dba_directories; --匯出expdp指令碼 vim exp_honesty_201809211642.par 編輯生成匯出的par指令碼新增以下指令碼內容 userid="/ as sysdba" dire

Oracle資料匯入

1.執行->cmd 2.輸入sqlplus回車,輸入使用者名稱回車,輸入密碼回車 3.建立表空間 CREATE TABLESPACENNC_INDEX02 DATAFILE 'D:\ORADATA\nnc_index02.dbf' SIZE 300M AUTOEXTEND ON NE

使用version引數解決Oracle資料版本差異

當我們回顧Oracle產品工具發展歷程,不能不承認Exp/Imp的成功。從早期的版本到現在11g,Exp/Imp都是開發人員最常使用、也是最簡單使用的資料庫邏輯備份工具。   但是隨著Oracle產品的不斷髮展和現實環境中資料海量化,Exp/Imp已經不能滿足實際需要了。Oracl

資料expdp匯出時間很長,匯出速度很慢

參考部落格  日前接到一個case,使用者反映一個表匯出時間特別長,因為擔心影響第二天業務,不得不放棄繼續匯出,但是另外一個表比這個問題表數量更大,但是反而順利匯出,使用者在相同版本測試環境上也能順利匯出,當然測試環境和生產環境還是有差異的,客戶說那個環境是用兩個

用sqoop將oracle資料匯入Hbase 使用筆記

網上已經有很多關於這方面的資料,但是我在使用過程中也遇見了不少問題 1. sqoop 的環境我沒有自己搭建  直接用的公司的 2. oracle 小白怕把公司環境弄壞了,自己用容器搭建了一個 docker pull docker.io/wnameless/oracle-xe

ORACLE資料庫中EXPDP/IMPDP引數INCLUDE/EXCLUDE的使用說明

1、引數作用 exclude:用於排除匯入/匯出某些物件 include:用於指定匯入/匯出某些物件 2、引數語法 exclude=[object_type]:[name_clause],[object_type]:[name_clause] include=[

資料expdp中query的使用及注意事項

    在用資料泵匯出資料的時候,有時候我們需要按條件過濾掉一些不需要匯出的資料,這時候就需要用到引數query。下面是一個簡單使用query的小例子,在這個例子中我們也可以看出資料泵的一個缺陷,就是query引數和estimate引數是衝突的,當我們使用query引數的時

Oracle 資料匯入匯出總結

Oracle資料泵匯入匯出是日常工作中常用的基本技術之一,它相對傳統的邏輯匯入匯出要高效,這種特性更適合資料庫物件數量巨大的情形,因為我日常運維的資料庫物件少則幾千,多則幾萬甚至幾十萬,所以傳統exp/imp就會非常耗時,而資料泵方式就因此脫引而出,下面就詳細總結一下資料

Oracle資料(Dump)匯出、匯入

*該匯入匯出方式完全適用於分割槽表* 匯出、匯入前準備 注:使用sys、system等系統使用者操作! 1)建立DIRECTORY目錄物件 CREATE DIRECTORY exp_dir AS '/oracle/db/zone'; --存放dm

oracle 資料匯入與資料匯出

資料泵匯入: 指令 impdp 一:資料庫所有物件的匯入: impdp system/tiger dumpfile=pump_dir:mydatabase_%.dat filesize=100m  nologfile=y  job_name=zhang full=y  es

Oracle資料的匯入和匯出

  前言 今天王子要分享的內容是關於Oracle的一個實戰內容,Oracle的資料泵。 網上有很多關於此的內容,但很多都是複製貼上別人的,導致很多小夥伴想要使用的時候不能直接上手,所以這篇文章一定能讓你更清晰的理解資料泵。 開始之前王子先介紹一下自己的環境,這裡使用的是比較常用的WIN10系統,Or

Oracle利用exp和imp,資料impdpexpdp匯入匯出資料,spool匯出資料

Oracle利用exp和imp,資料泵impdp和expdp匯入匯出資料,spool匯出資料 注意: (1)imp只能匯入exp匯出的檔案 ,imp,exp是客戶端程式,操作少量資料  (2)impdp只能匯入expdp匯出的檔案,impdp,expdp是伺服器端程式,操作適量大的

Oracle】匯入和匯出 EXP / IMP 和 EXPDP / IMPDP 資料匯出匯入的方法

  【Oracle】EXPDP和IMPDP資料泵進行匯出匯入的方法 一、expdp/impdp和exp/imp的區別 1、exp和imp是客戶端工具程式,它們既可以在客戶端使用,也可以在服務端使用。 2、expdp和impdp是服務端的工具程式,他們只能在oracle服務端