Oracle匯出遠端資料庫到本地

2021-10-07 08:25:16 字數 1853 閱讀 5527

在我們工作中有時需要搭建本地開發、測試環境,需要使用到資料庫的匯入匯出操作,下面進行說明:

注意:使用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...