oracle 資料庫(PL SQL)的匯入匯出

2021-08-14 10:29:56 字數 2616 閱讀 5601

1,這裡介紹兩種資料庫匯入匯出方式,分別是imp/exp與impdp/expdp(資料幫浦)

2.先介紹一下imp/exp

imp(需要建立表空間,管理員身份執行)

-------首先建立表空間

create tablespace

表空間名

logging

datafile '表空間儲存路徑

+表空間名.dbf'

size 200m

autoextend on

next 200m maxsize unlimited --自動拓展,大小無限

extent management local;--本地管理,對應的有uniform管理,統一大小分配(uniform)則是由使用者指定extents大小,預設1m大小

------建立使用者

create user

使用者名稱 identified by

密碼 default tablespace

表空間名;

-----給使用者授權

grant resource,connect,dba to

使用者名稱;--不同的角色對應不同的許可權,resource開發人員許可權,connect典型的終端使用者角色,dba為資料庫建立者(具體有好幾個人可設定許可權,如exp_full_database,  --擁有匯出資料庫的許可權,imp_full_database  )

---匯入資料庫【命令視窗中執行】

imp

使用者名稱/密碼@資料庫fromuser=

匯出方 touser=

匯入方 rows=y indexes=y commit=y buffer=65536 feedback=100000 ignore=n file=匯入的dmp檔案

.dmp log=

f:\日誌檔案.log----y是yes,n是no

3,exp匯出

exp

使用者名稱/密碼

@資料庫 rows=y indexes=y compress=n buffer=65536 feedback=100000 file=

匯出.dmp log=

匯出.log

4,匯入指定表

imp

使用者名稱/密碼

@資料庫 fromuser=

匯出方 touser=

匯入方 rows=y indexes=y commit=y buffer=65536 feedback=100000 ignore=n file=

匯入的dmp檔案

.dmp

tables=(k_0001,k_0002) log=f:\匯出.log

--檢視使用者擁有那些角色

select * from dba_role_privs a where a.grantee='xcj01';

--或

select * from dba_sys_privs a where a.grantee='xcj01';

--檢視角色擁有哪些許可權

select role, privilege from role_sys_privs where role='resource';   --resource,connect,dba

--或 

select grantee,privilege from dba_sys_privs where grantee='resource';

--為使用者取消角色

revoke resource from xcj01;

--為使用者取消許可權

revoke unlimited tablespace from xcj01;

--檢視oracle版本

select * from v$version where rownum <=1;

3.expdp/impdp(與imp比較)

1、把使用者usera的物件匯入到userb

先建立目錄

create directory dir_dp as 'd:\dbbak'; 

然後匯入如下,其他和imp類似

impdp system/password

directory=expdp dumpfile=back.dmp

remap_schema='usera':'userb' logfile=backlog.log

2、更改表空間

用exp/imp,想要更改表空間,需要手動處理,如alter table *** move tablespace_new之類的操作,而是用impdp只要用:

remap_tablespace='tablespace_old' : 'tablespace_new'

3、當制定多個表的時候

exp/imp用法:tables('table1','table2','table3')

expdp/impdp用法:tables='table1','table2','table3'

4、是否要匯出資料行

exp rows=y,匯出資料行,rows=n不匯出資料行

expdp content(all:物件+資料行,data_only:只匯出物件,metadata_only:只匯出資料的記錄

ORACLE資料庫PLSQL筆記

oracle資料庫plsql筆記 pl sql 是oracle的程式語言,用於擴充套件sql的程式設計能力,為資料庫程式增加了許多可能的功能。它允許將過程控制語句與 sql語句結合使用oracle 特有的程式語言pl sql補充了標準的關聯式資料庫語言sql,提供了各種過程化特性,包括迴圈 if t...

PLSQL連線oracle資料庫

方法一 instantclient 12 2 1 安裝 instantclient 12 2 軟體 免安裝oracle客戶端 2 plsql配置 開啟plsql 點取消,彈出plsql主介面 選單欄的tools 屬性preferences 首選項 連線 3 連線資訊 1 連線資訊 可以是ip 152...

plsql 匯出oracle資料庫

plsql 匯出資料庫有兩個問題,乙個是只匯出結構,乙個是匯出表結構加資料這樣的,首先人家讓我導成sql語句 這不是簡單,首先開啟plsql 一 匯出結構 1 然後tools export user objects.然後出來一片空白 2 要選擇哪個user 3 上面會出現好多表,選擇一下你要匯出的表...