1. 程式人生 > >example:利用impdp通過dblink匯入資料庫

example:利用impdp通過dblink匯入資料庫

說明

本地資料庫需要10g 以上版本

本地資料庫沒有新建賬戶,直接匯入到scott 使用者;

impdp 特色

只需要一個dblink ,就能實現將資料庫從一臺機器匯入到另外一臺機器

以下是測試全過程, 每個小格子,代表了一次嘗試

準備工作

scott schemas 下建立到TESTDBDBlink

create database link TESTDB_aix

connect to TESTDB identified by "TESTDB123!" using 'aix_TESTDB_172';

測試DBlink

select * from

[email protected]_aix

C:/>impdp scott/scott schemas=TESTDB NETWORK_LINK=TESTDB_aix EXCLUDE=CONSTRAINT logfile=d:/impdp.log

Import: Release 10.2.0.1.0 - Production on 星期二, 24 5, 2011 10:49:03

Copyright (c) 2003, 2005, Oracle. All rights reserved.

連線到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

ORA-31631: 需要許可權

ORA-39149: 無法將特權使用者連結到非特權使用者

Google 後,將scott 使用者許可權調整到TESTDB 一致

C:/>impdp scott/scott schemas=TESTDB NETWORK_LINK=TESTDB_aix EXCLUD

E=CONSTRAINT logfile=d:/impdp.log

Import: Release 10.2.0.1.0 - Production on 星期二, 24 5

, 2011 10:49:23

Copyright (c) 2003, 2005, Oracle. All rights reserved.

連線到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

ORA-31626: 作業不存在

ORA-31633: 無法建立主表 "SCOTT.SYS_IMPORT_SCHEMA_05"

ORA-06512: "SYS.DBMS_SYS_ERROR", line 95

ORA-06512: "SYS.KUPV$FT", line 863

ORA-01536: 超出表空間 'USERS' 的空間限額

增加TESTDB 表空間

alter tablespace users add datafile 'D:/ORACLEAPP/PRODUCT/10.2.0/ORADATA/SDHTEST/USERS02.DBF' size 8G;

alter tablespace users add datafile 'D:/ORACLEAPP/PRODUCT/10.2.0/ORADATA/SDHTEST/USERS03.DBF' size 8G;

alter tablespace users add datafile 'D:/ORACLEAPP/PRODUCT/10.2.0/ORADATA/SDHTEST/USERS04.DBF' size 4G;

grant unlimited tablespace to scott

C:/Users/Administrator>impdp scott/scott schemas=TESTDB NETWORK_LINK=TESTDB_aix EXCLUDE=CONSTRAINT logfile=d:/impdp.log

Import: Release 10.2.0.1.0 - Production on 星期二, 24 5, 2011 11:10:42

Copyright (c) 2003, 2005, Oracle. All rights reserved.

連線到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

ORA-39002: 操作無效

ORA-39070: 無法開啟日誌檔案。

ORA-39088: 檔名不能包含路徑說明

命令列中未指定directory,

新建 CREATE DIRECTORY dmpdir AS 'D:/OracleApp/product/10.2.0/datapump';

scott 賦予在dmpdir 目錄的讀寫許可權GRANT read, write ON DIRECTORY dmpdir TO scott;

Ps: 也可以使用oracle 預設的dir DATA_PUMP_DIR:

SELECT * FROM dba_directories WHERE directory_name = 'DATA_PUMP_DIR'

C:/>impdp scott/scott schemas=TESTDB NETWORK_LINK=TESTDB_aix EXCLUD

E=CONSTRAINT logfile=impdp.log directory=dmpdir

Import: Release 10.2.0.1.0 - Production on 星期二, 24 5, 2011 11:19:18

Copyright (c) 2003, 2005, Oracle. All rights reserved.

連線到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

ORA-31631: 需要許可權

ORA-39109: 未授權使用者不能對其他使用者的方案進行操作

在匯入語句中新增schema 的對映

impdp scott/scott remap_schema=TESTDB:scott NETWORK_LINK=TESTDB_

aix EXCLUDE=CONSTRAINT logfile=impdp.log directory=dmpdir

C:/>impdp scott/scott remap_schema=TESTDB:scott NETWORK_LINK=TESTDB_

aix EXCLUDE=CONSTRAINT logfile=impdp.log directory=dmpdir

失敗的 sql :

CREATE TABLE "SCOTT"."NGN" ("NETLEVEL" VARCHAR2(255), "GWCATEGORY" VARCHAR2(255)

, "HARDWAREVERSION" VARCHAR2(255), "SOFEWAREVERSION" VARCHAR2(255), "TELENETIPAD

DR" VARCHAR2(255), "BEGINTIME" DATE, "ANALOGCAPACITY" NUMBER(10,0), "ANALOGACTUA

LCAPCITY" NUMBER(10,0), "PSTN2BDACTUALCAPACITY" NUMBER(10,0), "PSTN2BDCAPACITY"

NUMBER(10,0), "TOTALCAPACITY" NUMBER(10,0), "ACTUALTOTALCAPACITY" NUMBER(10,0),

"NUMOF2MSIGNA

ORA-39083: 物件型別 TABLE 建立失敗, 出現錯誤:

ORA-00959: 表空間 'SDH_DATA' 不存在

新增從sdh_datasdh_indexusers 的對映

impdp scott/scott remap_schema=TESTDB:scott NETWORK_LINK=TESTDB_

aix EXCLUDE=CONSTRAINT logfile=impdp.log directory=dmpdir remap_tablespace=sdh_data:users,sdh_index:users

C:/>impdp scott/scott remap_schema=TESTDB:scott NETWORK_LINK=TESTDB_

aix EXCLUDE=CONSTRAINT logfile=impdp.log directory=dmpdir remap_tablespace=sdh_data:users,sdh_index:users

Import: Release 10.2.0.1.0 - Production on 星期二, 24 5, 2011 11:27:05

Copyright (c) 2003, 2005, Oracle. All rights reserved.

;;;

連線到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

啟動 "SCOTT"."SYS_IMPORT_SCHEMA_01": scott/******** remap_schema=TESTDB:scott NETWORK_LINK=TESTDB_aix EXCLUDE=CONSTRAINT logfile=impdp.log directory=dmpdir remap_tablespace=sdh_data:users,sdh_index:users

正在使用 BLOCKS 方法進行估計...

處理物件型別 SCHEMA_EXPORT/TABLE/TABLE_DATA

使用 BLOCKS 方法的總估計: 21.57 GB

處理物件型別 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA

處理物件型別 SCHEMA_EXPORT/DB_LINK

處理物件型別 SCHEMA_EXPORT/SEQUENCE/SEQUENCE

處理物件型別 SCHEMA_EXPORT/TABLE/TABLE

. . 匯入了 "SCOTT"."CONNECTOR" 31396764

. . 匯入了 "SCOTT"."DNPORTAUDITS" 12922037

. . 匯入了 "SCOTT"."LOG_LIHQ" 2142840

使用總結:

l 建立 dblink

l 複製源使用者 ( 本例源使用者為 TESTDB) 的許可權,如果源使用者和本地使用者一直可以省略 schema 對映

l 擴充套件或者新建表空間,當然夠大就不需要了,上面犯錯是因為事先忘記檢視兩邊資料庫表空間大小

l 建立或者使用已用的 directory ,並給本地使用者讀寫許可權

相關推薦

example:利用impdp通過dblink匯入資料庫

說明 本地資料庫需要10g 以上版本 本地資料庫沒有新建賬戶,直接匯入到scott 使用者; impdp 特色 只需要一個dblink ,就能實現將資料庫從一臺機器匯入到另外一臺機器 以下是測試全過程, 每個小格子,代表了一次嘗試 準備工作

expdp和impdp的應用-高版本通過dblink匯入到低版本

今天接到要進行資料庫使用者的部分資料遷移需求,需求如下 IMP、WO、INSA開頭的表只要結構,不要資料 B、TEMP、TMP開頭的表不用導 其他表需要匯出資料和表結構,同時要求匯出此使用者下的所有其他物件,如:procedure,sequence等 源資料庫在遠端主機內,我想到的方法是先通過dbli

使用empdp和impdp匯出和匯入資料庫的表

資料泵技術比原來匯入/匯出(imp,exp)技術快15-45倍。速度的提高源於使用了並行技術來讀寫匯出轉儲檔案。此命令只可用在服務端,客戶端無法使用。 1.開啟SQL plus 首先需要輸入使用者名稱和密碼進行登入; 建立一個directory物件:create directory dp

[轉]mysql如何利用Navicat 匯出和匯入資料庫

MySql是我們經常用到的資料,無論是開發人員用來練習,還是小型私服遊戲伺服器,或者是個人軟體使用,都十分方便。對於做一些個人輔助軟體,選擇mysql資料庫是個明智的選擇,有一個好的工具更是事半功倍,對於MySql 的IDE 我推薦Navicat for MySql,現在我就向大家介紹如何利用Navicat

mysql如何利用Navicat 匯出和匯入資料庫

MySql是我們經常用到的資料,無論是開發人員用來練習,還是小型私服遊戲伺服器,或者是個人軟體使用,都十分方便。對於做一些個人輔助軟體,選擇mysql資料庫是個明智的選擇,有一個好的工具更是事半功倍,對於MySql 的IDE 我推薦Navicat for MyS

DB2通過命令匯入資料庫

RESTORE DATABASE MECIS (需要恢復的資料庫名稱) FROM "C:\DATA-BAK"(需要恢復的資料庫路徑) TAKEN AT 20170222103900(需要恢復的資料

利用資料泵匯出匯入資料庫

平時開發中我們經常要備份資料庫或者還原資料庫的操作:而常用的資料庫的備份方式基本上分為三種:匯出/匯入(EXPORT/IMPORT)、冷備份、熱備份方式。匯出備份是一種邏輯備份,冷備份和熱備份是物理備份。 具體大家可以參考 http://suleeair.iteye.com/

利用oracle快照dblink解決資料庫表同步問題

本例項已完全通過測試,單向,雙向同步都可使用. --名詞說明:源——被同步的資料庫            目的——要同步到的資料庫 前6步必須執行,第6以後是一些輔助資訊. --1、在目的資料庫上,建立dblinkdrop public database link dblink_orc92_182;Crea

Oracle利用impdp 匯入資料庫的歸納

我們知道,當我們要匯入一個數據庫的時候,說起來很簡單,但是其中會遇到各種問題,這個就佔個位置慢慢整理吧: 1, 利用impdp匯入資料庫分類     a, 完整匯入:就是加入full=y這個關鍵詞,不能和schemas, tables,等關鍵詞重用  impdp \"/ a

Oracle利用exp和imp,資料泵impdp和expdp匯入匯出資料,spool匯出資料

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

impdp 匯入資料庫報錯 ORA-00001

impdp之後,log日誌有如下報錯: ORA-39083: Object type JOB failed to create with error: ORA-00001: unique constr

利用excel匯入資料庫檔案

1首先了解自己要匯入的Excel的列以及其型別。 2首先建立一個空表,列與要匯入的excel的列名稱相同。同時定義資料的型別。也可以在在【ODBC匯入器】窗體中單擊 【建立表】,如下圖所示,設定表的屬性,在【列】面板下,將根據Excel的列構建列,單擊【應用】,該表

MVC利用Aspose.Cells.dll實現Excel資料匯入資料庫

/// <summary>匯入Excel資料到資料庫 /// /// </summary> /// <param name="file">檔案</param>

Oracle資料庫impdp匯入資料庫及expdp匯出資料過程詳解

1.建立資料庫(可使用預設的資料庫,此步驟可省略) 2.在資料庫中建立表空間,最好與匯出的資料庫的表空間相同名稱,參考http://jingyan.baidu.com/article/5225f26b036c47e6fa0908e4.html 建立表空間的SQL命令(PLSQL下操作):create

利用PL/SQL工具匯出、匯入資料庫、檢視、解發器等

匯出 1、以“Normal”登入資料庫 2、tools--> Export tables-->選定要匯出的表(預設匯出當前使用者所有表)-->選定匯出路徑-->Export-->等待完成。 3、tools-->Export User

利用Oracle DBLink現實資料庫更新功能

1、DBLink作用:將多個不同地點的伺服器的Oracle資料庫連線起來,邏輯上可看成一個數據庫來對待,實現資料庫之間的單向操控。 2、要使用DBLink,首先你要有操作DBLink的許可權; grant CREATE DATABASE LINK to ywgl; 3、建立

小例子:java利用poi讀取excel中資料並匯入資料庫

問題描述: 資料夾下有若干excel檔案,檔名為10.教育局.xls   11.衛生院.xls     ................有很多;中間的漢字為單位名稱,需要匯入資料庫,每個單位名稱要有一個單位id匹配;每個excel中有若干個sheet頁的名字,每個名字即為科

解決ORA-02021: 不允許對遠端資料庫進行 DDL 操作下面通過DBLINK呼叫遠端過程來執行這樣的操作。

一般情況下,當我們直接truncate一個遠端的表的時候,通常會返回如下的錯誤資訊:ORA-02021: DDL operations are not allowed on a remote database. 比如下面的示例: 先在資料庫test上建立一個test表,並插入一些資料,如下: SQL>

Oracle資料庫通過DBLINK實現遠端訪問

什麼是DBLINK?dblink(Database Link)資料庫連結顧名思義就是資料庫的連結  ,就像電話線一樣,是一個通道,當我們要跨本地資料庫,訪問另外一個數據庫表中的資料時,本地資料庫中就必須要建立遠端資料庫的dblink,通過dblink本地資料庫可以像訪問本地資

ssm利用poi將excel資料匯入資料庫

POI匯入資料庫 1.前臺頁面 <form action="<%=request.getContextPath()%>/doFile.action" method="post" enctype="multipart/form-data">