1. 程式人生 > >Oracle11G的資料庫資料匯入匯出(由11g上匯出匯入10g資料庫等)

Oracle11G的資料庫資料匯入匯出(由11g上匯出匯入10g資料庫等)

常用命令

EXPDP USERID=’scott/[email protected] as sysdba’ schemas=scott directory=DATA_PUMP_DIR dumpfile=dp.dmp logfile=dp.log version=10.2.0.1.0

create tablespace houqin_tablespace datafile ‘D:\dzj\orcl\TEST01111.DBF’ size 100M autoextend on next 5M maxsize unlimited extent management local uniform size 1M;

create temporary tablespace test11_temp tempfile ‘D:\dzj\orcl\TEST01111_temp.dbf’ size 100m autoextend on next 3m maxsize 2048m extent management local;

create user HOUS identified by HOUS default tablespace test11 temporary tablespace test11_temp;

IMPDP USERID=’scott11/[email protected] as sysdba’ schemas=scott directory=DATA_PUMP_DIR dumpfile=dp.dmp logfile=lg.log version=10.2.0.1.0

IMPDP USERID=’HOUQIN/[email protected] as sysdba’ schemas=HOUQIN directory=DATA_PUMP_DIR dumpfile=dp.dmp logfile=lg.log version=10.2.0.1.0

–查看錶的數量

SELECT COUNT(*) FROM DBA_TABLES WHERE OWNER =’ES2012’;

IMPDP USERID=’ES2012/[email protected] as sysdba’ schemas=ES2012 directory=DATA_PUMP_DIR dumpfile=HAIYANG10G.dmp logfile=dp.log version=10.2.0.1.0

由於11g上匯出匯入10g資料庫存相容問題,所以要使用expdp和impdp命令:

  1. 在11g上使用EXPDP 匯出到directory DATA_PUMP_DIR 指定版本號是10g

select * from dba_directories ; 檢視 DATA_PUMP_DIR 本地所在位置

例如:CMD內執行: EXPDP USERID=’scott/[email protected] as sysdba’ schemas=scott directory=DATA_PUMP_DIR dumpfile=dp.dmp logfile=dp.log version=10.2.0.1.0

  1. 從 DATA_PUMP_DIR 目錄 拷貝 dmp 檔案 到11g 資料庫 DATA_PUMP_DIR 目錄下

  2. 建立一個 與匯出時 相同的使用者,使用者名稱密碼相同 賦予DBA許可權

例如:CMD內執行:

IMPDP USERID=’scott/[email protected] as sysdba’ schemas=scott directory=DATA_PUMP_DIR dumpfile=dp.dmp logfile=lg.log version=10.2.0.1.0

如果報錯 表空間* 不存在

需要建立表空間 表空間位置 搜尋 .DBF 可以放到一起

PL/SQL執行:

create tablespace houqin_tablespace datafile ‘D:\dzj\orcl\TEST01111.DBF’ size 100M autoextend on next 5M maxsize unlimited extent management local uniform size 1M;

  1. 再次CMD執行匯入 ,匯入結束 提示 匯入成功,無錯誤無警告 才算真正完成匯入

參考1:

Oracle11g資料庫匯入Oracle10g資料庫操作筆記

11g備份,匯入10g的時候會拋錯,直接阻止匯入。

但是有時候還必須得把11g的資料庫匯入到10g,我今天就遇到了這種情況。

一開始只是把11g中的表全部備份,成功匯入10g。但是缺少檢視、儲存過程等。一個個sql建立累死人,方法太笨。請教了一下資深DBA,重新備份,重新匯入,成功。

現在把我匯入操作的全過程記錄下來,希望可以方便更多的人!

一、在11g伺服器上,使用expdp命令備份資料

EXPDP USERID=’SYS/[email protected] as sysdba’ schemas=sybj directory=DATA_PUMP_DIR dumpfile=aa.dmp logfile=aa.log version=10.2.0.1.0

其中,紅色文字部分是根據需要改寫的地方。例如我的sys密碼是cuc2009,資料庫sid是cuc,要到出的使用者名稱是sybj,要匯入到10.2.0.1.0版本的Oracle資料庫中去。aa.dmp和aa.log將會在11g的dpdump目錄中生成,例如我的11g裝在了E盤下面,於是aa.dmp將會在E:\app\Administrator\admin\cuc\dpdump目錄下被生成。

二、在10g伺服器上,使用impdp命令恢復資料

準備工作:1.建庫2.建表空間3.建使用者並授權4.將aa.dmp拷貝到10g的dpdump目錄下

IMPDP USERID=‘SYS/[email protected] as sysdba’ schemas=sybj directory=DATA_PUMP_DIR dumpfile=aa.dmp logfile=aa.log version=10.2.0.1.0

其中紅色部分是根據需要改寫的地方。例如我的sys密碼是cuc2009,資料庫sid是cucf,要匯入使用者名稱為sybj,要匯入到10.2.0.1.0版本的Oracle資料庫中去。aa.log將會在10g的dpdump目錄中生成。

參考2:

expdp和impdp

使用expdp

1。data pump包括下面幾個部件:

The command-line clients, expdp and impdp

The DBMS_DATAPUMP PL/SQL package (also known as the Data Pump API)

The DBMS_METADATA PL/SQL package (also known as the Metadata API)

2。expdp, impdp和原先的exp,imp不相容,也就是用exp匯出的檔案用impdp是無法匯入的。

3。data pump不支援XML schemas

4。使用前必須要先建立目錄:

SQL> CREATE OR REPLACE DIRECTORY dpump_dir as ‘/oracle/oradata/ORCL10/pumpdata’;

查詢目錄:dba_directories

Oracle資料泵為了提高效能,採用直接路徑的方式,通過資料庫建立的DIRECTORY將資料匯入。

這造成了資料泵和IMP一個主要的區別。如果在客戶端進行IMP匯入,dmp檔案是放在客戶端的。但是如果通過資料泵的方式匯入,資料泵檔案總是放在資料庫伺服器端。

5。給匯入匯出的使用者賦予目錄的讀寫許可權:

SQL> GRANT READ, WRITE ON DIRECTORY dpump_dir TO scott;

6。datapump是伺服器端的JOB,所以可以在執行datapump以後,通過EXIT_CLIENT退出客戶端。通過DBA_DATAPUMP_JOBS檢視可以檢查datapump作業的情況,也可以利用ATTACH重新連線上還在進行的JOB。每個datapump可以通過JOB_NAME引數指定名稱,如果不指定,那麼會有預設的名稱,比如上貼中的例子,名稱就是SYS_EXPORT_TABLE_01,通過V$SESSION_LONGOPS也可以檢視長時間執行的datapump job的具體內容。

7.以下引數影響data pump的效能

disk_asynch_io = true

db_block_checking = false

db_block_checksum = false

8.以下引數設定越高,來允許最大的並行度

processes

sessions

parallel_max_servers

  1. 以下引數應該被設定大點

shared_pool_size

undo_tablespace

實驗以及例子:

==================================================================

建立目錄,dumpdir是自己命名的名稱

SQL> create directory dumpdir as ‘e:datadump’;

刪除目錄

SQL> drop directory dumpdir ;

SQL> grant read,write on directory dumpdir to scott;

//匯出一個schema:scott

C:>expdp scott/tiger dumpfile=scott.dmp directory=dumpdir schemas=scott

SQL> create user lihui identified by lihui;

SQL> grant create session,resource to lihui;

SQL> grant read,write on directory dumpdir to lihui;

SQL> grant create database link, create synonym, create view to lihui;

SQL> grant imp_full_database to scott;

//匯入到lihui這個schema下

C:>impdp scott/tiger directory=dumpdir dumpfile=scott.dmp logfile=scott.log remap_schema=scott:lihui

–引數remap_schema將scott下的內容匯入導李輝這個schema下

提高impdp匯入的的速度,與並行操作有關:

SQL> show parameter cpu

NAME TYPE VALUE

cpu_count integer 2

parallel_threads_per_cpu integer 2

通過parallel引數匯出使用一個以上的執行緒來顯著的加速作業.每個執行緒建立一個單獨的轉儲檔案,

因此dumpfile應當擁有和並行度一樣多的專案.可以使用萬用字元命名檔名,而不用顯式的輸入各個檔名,e.g

expdp lihui/lihui tables=(emp,dept) directory=dumpdir dumpfile=test_%U.dmp parallel=2 job_name=test

–%U是萬用字元,引數parallel並行度

資料庫監控:

監控作業的主要檢視:

dba_datapump_sessions,在執行任務的時候監控前臺程序的會話.

dba_datapump_jobs,監控在作業上有多少個工作程序(degree列)在工作.

也可以通過alert日誌檔案檢視到程序的資訊.

處理特定物件:

e.g

只匯出儲存過程,而不匯出其它物件:

expdp scott/tiger directory=dumpdir dumpfile=pros.dmp include=PROCEDURE

只匯出一些特定的物件(比如函式FUNC1和過程PROC1)

expdp scott/tiger directory=dumpdir dumpfile=pro_fun.dmp include=PROCEDURE:”=’PROC1’”,FUNCTION:’=’FUNC1’”

全庫匯出:

expdp system/sys directory=dumpdir dumpfile=full.dmp full=y job_name=expdpfull logfile=full.log//全庫匯出

//使用Ctrl+c 可以退出互動模式,但是expdp操作不會停止,因為expdp是資料庫內部定義的任務已經與客戶端無關。退出後可以檢視其匯出狀態

Export> status

可以使用stop_job命令真正停止該操作。

expdp匯出的時候取的是客戶端的時間,而匯入完成取的是伺服器端的時間,應該算是個bug。

問題:

如果發現執行在語句正確,但是匯出失敗,報錯誤:

C:>expdp scott/[email protected] dumpfile=scott.dp directory=dumpdir schemas=scott l

ogfile=scott.log

Export: Release 10.2.0.3.0 - Production on 星期四, 18 12月, 2008 14:05:46

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

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

With the Partitioning, OLAP, Data Mining and Real Application Testing options

ORA-39002: 操作無效

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

ORA-29283: 檔案操作無效

ORA-06512: 在”SYS.UTL_FILE”, line 475

ORA-29283: 檔案操作無效

則說明建立的目錄有問題,在這裡dumpdir的目錄在實際物理空間不存在。應該檢視select * from dba_directories;檢視一下dumpdir對應的目錄是否存在。

相關推薦

Oracle11G資料庫資料匯入匯出11g匯出匯入10g資料庫

常用命令 EXPDP USERID=’scott/[email protected] as sysdba’ schemas=scott directory=DATA_PUMP_DIR dumpfile=dp.dmp logfile=dp.log ve

常用影象資料集大全分類,跟蹤,分割,檢測

wikipedia featured articles 函式圖片(以及特徵)以及對應的wiki文字。可以看看文章A New Approach to Cross-Modal Multimedia Retrieval,還有一批文章On the Role of Correlation and Abstracti

資料庫連線字串彙總mysql、oracle、sql連線driver

driver:  net.sourceforge.jtds.jdbc.Driver url:  jdbc:jtds:sqlserver://localhost:1433/資料庫名 同時驅動SQL2000和SQL2005而且效率上更高 2、使用SQL-server 2000 官方JDBC驅動: driver:

excel匯入資料庫 資料丟失問題時好時壞

最近在開發excel匯入簡歷(excel檔案)功能,在匯入excel時經常會出現插進資料庫的資料並不完整(只是部分資料),所以在插入之前列印了獲取的excel表中資料, 發現打印出來的是富文字物件

Java程式碼之JDBC實現資料庫之間定時的表格傳輸一個庫讀取到另一個庫例項,親測有效

package com.openup.system.service.imp;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import ja

Oracle11g 建立資料庫中問題處理必須執行Netca以配置監聽程式

這兩天學習《OCP/OCA認證考試指南》,要建立新的資料庫,因為此前我的電腦上已經被折騰了好久的Mysql 和oracle10g ,所以可能導致很多環境都變了,建立資料庫的過程中出現了一些小問題,也是搞了好久才搞定,下面記錄一下遇到的兩個大問題吧。 1. 監聽埠  orac

Oracle資料庫資料物件分析

KEYWORD  描述 START WITH  定義序列生成的第一個數字,預設為1 INCREMENT BY  定義序列號是上升還是下降,對於一個降序的序列INCREMENT BY為負值 MINVALUE  定義序列可以生成的最小值,這是降序序列中的限制值。預設情況下該值為NOMINVALUE,NOMINVA

17 驅動模組的符號匯出一個驅動模組呼叫另一個驅動模組

驅動模組的符號匯出(一個驅動模組呼叫另一個驅動模組) 檢視elf檔案的資訊 : readelf xxx.ko -a UND標識的函式在核心符號表裡都是“T”,表示是全域性函式,也就是說只有全域性函式,核心才會幫我們把相應的函式地址轉換好 驅動模組裡預設情況下不

SQL注入使用詳細總結淺及深,持續更新中

版權宣告:本文為博主原創文章,歡迎轉載,請註明出處: https://me.csdn.net/qq_41880069 SQL注入使用總結 一:SQL注入的原理 1:什麼是SQL SQL,指結構化查詢語言,作用:訪問和處理資料庫 也就是說SQL語言的所有操作都是

R語言實戰--隨機產生服從不同分佈函式的資料正態分佈,泊松分佈,並將資料寫入資料框儲存到硬碟

隨機產生服從不同分佈的資料 均勻分佈——runif() > x1=round(runif(100,min=80,max=100)) > x1 [1] 93 100 98 98 92 98 98 89 90 98 100 89

淺談資料庫鎖機制:只是本人的一些瞭解,個人觀點

首先:需要明確鎖的分類 鎖包括行級鎖、表級鎖、悲觀鎖、樂觀鎖 首先行級鎖:又叫排他鎖,多見於支援高併發的資料庫搜尋引擎中出現使用,如mysql中的innodb預設是行級鎖;在以下查詢中oracle中會自動應用行級鎖。釋放行級鎖時使用commit或者rollback釋放

Spark 2.x企業級大資料專案實戰實時統計、離線分析和實時ETL

Spark 2.x企業級大資料專案實戰(實時統計、離線分析和實時ETL)全套課程下載:https://pan.baidu.com/s/1mje6bAoLLPrxUIrM-C2VMg 提取碼: 9n1x 本門課程來源於一線生產專案, 所有程式碼都是在現網大資料叢集上穩定執行, 拒絕Demo。課程涵蓋了離線分析

arcsde 連線oracle ,配置空間資料庫附帶史最全oracle安裝步驟

想好好的來一次排版,讓大家看的舒服我也寫的舒服,可是一到寫的時候,又不知道如何去下手。。。算了直接一步步來吧。                  加油!你是最土的~~ 首先我們要進行準備工作,那就是先裝

連線資料庫報2003錯誤在伺服器新增放行埠

連線mysql資料庫報2003錯誤 原因:未放行mysql的埠號 vim   /etc/sysconfig/iptables, 在裡面新增 -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306(埠號)  A

資料庫的優化思路不看後悔,一看必懂

①合理選擇資料庫引擎 ②sql語句的優化 ③索引的優化 ④分庫分表分割槽 ⑤預處理 ⑥讀寫分離 ⑦資料庫表結構設計 (1)儘量使用數字型欄位 儘量不要設計為字元型,這會降低查詢和連線的效能,並會增加儲存開銷。 這是因為引擎在處理查詢和連線時會逐個比較字串中每

資料庫索引基本知識建立索引、刪除索引、修改索引

索引分類: 主鍵索引: 不能為null,唯一索引可以為null 單值索引: 單列,每個表可以有多個 唯一索引: 不能重複 複合索引: 多個列構成的索引,相當於二級目錄 name,age 兩個張

資料結構之重要樹總結紅黑樹、B/B+樹

眾所周知,二叉樹在資料結構中的分量舉足輕重。之所以分量如此重,是因為在實際中有很多情況用此資料結構會產生很多好處。本文主要對二叉搜尋樹、平衡二叉樹、紅黑樹、B(B+、B*)樹進行總結,因為這幾種樹的概

資料JAVAEE+Hadoop 14.9-15.2高清完整版電商巴巴運動網專案

電商專案,新巴巴運動網:新巴巴運動網是專業的運動類網上購物商城,屬於大型網際網路電子商務專案,它包含商品管理、訂單管理、類目管理、品牌管理、客戶管 理、合作商管理、客服管理、購物平臺、內容管理等。   系統前臺是面向網站訪問使用者的,即給訪問網站的使用者所展示的頁面,使用者

VC++中ADO方式訪問資料庫datetime欄位不帶毫秒時間與帶毫秒時間

    //取得列名    bstrColName = m_pRSet->GetFields()->Item[nCol]->GetName() ;    strColname = (char*)bstrColName ;    //取得當前行當前列值    varCounter.lVal =

檔案傳控制元件Fileupload實現檔案傳並寫入資料庫

首先我們來說一下Fileupload這個檔案上傳控制元件的幾大敗筆: 1.上傳之後按F5重新整理,重複提交 2.提交以後按後退鍵Fileupload中的資訊還在 3.不支援多檔案上傳 4.上傳前不能檢測檔案大小 解決方法: 1.建立iframe在子頁面實現或者重定向語句(R