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命令:
- 在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
從 DATA_PUMP_DIR 目錄 拷貝 dmp 檔案 到11g 資料庫 DATA_PUMP_DIR 目錄下
建立一個 與匯出時 相同的使用者,使用者名稱密碼相同 賦予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;
- 再次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
- 以下引數應該被設定大點
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