在我們工作中有時需要搭建本地開發、測試環境,需要使用到資料庫的匯入匯出操作,下面進行說明:
注意:使用exp命令需本地安裝oracle,並且bin目錄下有exp命令。
假設遠端資料庫的ip位址是192.168.0.1,埠號是1521,例項為orcl,使用者名為lpl,密碼為123456。使用者lpl要為dba角色,後面資料庫匯入到本地也要賦予使用者相同的角色。
1.匯出遠端資料庫
開啟本地oracle監聽和服務,進入cmd使用命令登入並匯出遠端資料庫,
exp lpl/
123456
@192.168.0.1:1521
/orcl file
=d:/lpl_db.dmp
2.匯入資料到本地使用者
2.1 建立表空間(可選操作)
檢視所有表空間
select
*from user_tablespaces
刪除原有表空間
drop
tablespace lpl including contents and datafiles
建立表空間
create
tablespace lpl datafile 'd:\oracle\oradata\orcl\lpl.dbf' size 512m autoextend on
next
512m maxsize unlimited
2.2 建立使用者
使用管理員賬號登入pl/sql,建立使用者
create
user lpl identified by
123456 account unlock
default
tablespace lpl
授予角色許可權
grant
connect
, resource, dba to lpl
2.3 匯入資料到使用者
將匯出的dmp檔案匯入到本地(也可匯入到遠端)oracle資料庫,
本機的ip位址為localhost(或遠端資料庫ip),埠號為1521,sid為orcl,匯入到的使用者是lpl。
使用命令
imp lpl/
123456
@localhost:1521
/orcl file
=d:/lpl_db.dmp fromuser=lpl touser=lpl
或者
imp lpl/
123456
@localhost:1521
/orcl file
=d:/lpl_db.dmp full
=y
其中touser是匯出資料庫使用者名稱,touser是匯入到本地資料庫的使用者名稱
如果想要刪除已匯入資料的使用者及資料,以管理員身份登入,級聯刪除使用者
drop
user lpl cascade
若刪除使用者因為有會話導致無法刪除,執行
select
'alter system kill session '
||'''' || sid || '
,' || serial# || ''';
' from v$session where username='lpl' and status='inactive';
複製出查詢結果執行,殺掉所有會話,再次執行刪除。
然後重新建立使用者,並賦予許可權,匯入資料。
Oracle資料庫遠端匯入 匯出
exp本地匯出與imp本地匯入 exp命令 1 exp username psw test file d test.dmp full y 2 exp username psw test file d test.dmp owner ly 3 exp username psw test file d t...
Oracle資料庫遠端匯入 匯出
exp本地匯出與imp本地匯入 exp命令 1 exp username psw test file d test.dmp full y 2 exp username psw test file d test.dmp owner ly 3 exp username psw test file d t...
Oracle資料庫遠端匯入 匯出
exp本地匯出與imp本地匯入 exp命令 1 exp username psw test file d test.dmp full y 2 exp username psw test file d test.dmp owner ly 3 exp username psw test file d t...