oracle11g資料匯入匯出

2021-06-23 01:10:59 字數 3028 閱讀 5401

** oracle資料庫中進行資料的匯入匯出時要在cmd中進行而不是在sqlplus中進行操作!

(1)向oracle資料庫中匯入完整的資料庫(字尾名:dmp)

首先進入cmd,輸入sqlplus /nolog執行oracle自帶程式,然後輸入conn /as sysdba,以資料庫管理員(dba)的身份鏈結到後台資料庫 ,也就是進入資料庫建立表空間,建立使用者並將這個表空間授權給這個使用者,並且給這個使用者授予dba,connect ,resource

等許可權,在退出早cmd或重新開啟視窗倒cmd進行imp 命令匯入。

step1: 

建立臨時表空間

(取名為

:libsys_temp)

create 

temporary 

tablespacelibsys_temp

tempfile

'd:\oracle\libsys_temp.dbf' 

// 指定空間存放路徑

size 

1000m                   

//為臨時表空間分配磁碟空間

autoextend 

on    next 10m

maxsize 2048m  

//若存入的資料量超過了分配的空間大小,

//則以每次新增

10m的大小增大表間,但最大為

2048m

,// 而也可以使用unlimited 沒有最大值的限制。

extent management local; 

//設定表空間的區管理為本地管理,為的是減少分配

extent的時

//候產生的內部遞迴sql,提高資料庫分配空間的效率.

step2: 

建立資料表空間,用於儲存匯入的資料庫中的所有資料

(取名:

libsys_data)

create tablespace libsys_data

logging    

//指明匯入過程記入日誌中

datafile  

'd:\oracle\libsys_ data.dbf'   

//指定資料庫儲存的路徑

size 10240m   

//注意表空間應足夠大,否則匯入將出錯!

autoextend on

next 100m maxsize 20480m

extent management local;

step3: 

建立使用者並指定表空間(需擁有

dba許可權)

createuser libsys  identified by abc123  

//設定使用者名稱:

libsys,

碼:abc123.

default tablespace libsys _data  

//為使用者指定剛剛建立的表空間

libsys_data, 

以便儲存與此使用者相關的所有資料

.temporary tablespace libsys_temp;  //

為使用者指定臨時表空間

libsys_temp,

以提高資料庫執行效率

.      

step4:

給使用者授權

(需授予

dba,connect

和resource

三個許可權,否則無法完成資料庫匯入

)grant dba,connect,resource to  libsys ;

step5:  

將拷貝來的完整的資料庫檔案

(此處為

:'libsys.dmp')

匯入到自己機器中的

oracle

資料庫中

imp  libsys/abc123   file='d:\libsys.dmp'  full=y   ignore=y; 

//full=y表示全部匯入,ignore=y表示忽略資料庫中已存在的表,否則可能出錯。如果有資料則不會更改而   如果沒有則會進行修改。

(特別注意

:在進行

step5

之前,需要輸入「

exit」

命令退出並返回到

'cmd'

命令後,才能做匯入匯出操作

!!!!)

另外:若只想將資料庫

dmp檔案中的部分表

(此處為

:item表)

匯入,則只需加上表名即可,方法如下:

imp libsys/abc123file='d:\libsys.dmp' 

tables=(item);      

//其中的

item

為libsys.dmp

資料庫檔案中的一張表物件

.(2)

將oracle

資料庫中的資料匯出

a. 匯出完整的資料庫(此處資料庫為:libsys_data):

exp libsys/abc123 file='d:\oracle\libsys.dmp' full=y;  //full=y

表示全部匯出.

b. 將指定使用者的資料表匯出

(此處為:使用者

xdw和使用者

newuser)

:explibsys/abc123  file='d:\oracle\libsys.dmp'

owner=(xdw,newuser);

c.匯出指定的資料庫中的表(此處為:student表和teacher表):

exp libsys/abc123 file='d:\oracle\libsys.dmp'

tables=(student,teacher);

d.匯出資料庫中表的指定字段

(此處為

:學生姓名中的姓為"王

")的資料

(此處為:

student表):

exp libsys/abc123 file='d:\oracle\libsys.dmp' tables=(student)

query=\"where studentnamelike '

王%'\";

ORACLE 11g 匯出資料

oracle 11g 匯出 表的時候 不會匯出空表 匯出空表操作步驟 使用plsql 1 開啟sql window 執行下面的 sql select alter table table name allocate extent from user tables where segment creat...

Oracle11g的匯入與匯出

oracle11g用exp匯出資料庫的時候,空表是導不出來的,所以必須用資料幫浦匯入匯出oracle資料庫。1 expdp sql create directory 目錄名 如 dmpbx as 儲存位址 如 root usr 目錄已建立。sql grant read,write on direct...

oracle 11g 命令 匯入 匯出表

資料匯出 1 將資料庫test完全匯出,使用者名稱system 密碼manager 匯出到d daochu.dmp中exp system manager test file d daochu.dmp 2 將資料庫中system使用者與sys使用者的表匯出exp system manager test...