oracle使用exp與imp對資料遷移備份的方法

2021-08-13 19:46:04 字數 2407 閱讀 3237

使用exp和imp命令是oracle對資料進行遷移備份的一種最簡單最常用的一種方式。在此記錄下使用的方法步驟,以備後用。

首先,在老庫上使用命令:

exp userid=username/password@database owner=*** file=***.dmp log=***.log

其中@後面的database是資料庫連線字串。可以是ip:port/servicename的形式。例如192.168.1.10:1521/orcl 如果配置了tnsname,那麼@後面可以直接寫配置的tnsname。例如orcl。

這裡順便說一下使用pl/sql登入時,database文字框中需要填寫的連線字串的含義。如圖

裡面可以直接填寫在tnsnames.ora中配置的tnsname。例如orcl。這樣就可以直接根據tnsname來獲取ip、埠號、servicename等值,然後就可以得到連線字串。

orcl =

(description =

(address = (protocol = tcp)(host = 192.168.1.10)(port = 1521))

(connect_data =

(server = dedicated)

(service_name = orcl)))

但是如果沒有在tnsnames.ora中配置的話,而是直接使用pl/sql來進行連線。那麼這時候就需要在pl/sql的database中直接填寫連線字串了。例如填寫:192.168.1.10:1521/orcl。這兩種方式都是可以的。

這樣經過第一步,dmp檔案就已經匯出成功了。下面需要的是建立新庫的表空間和owner。

對於表空間,一般情況下在老庫上可以看到。但是如果現在只有乙個dmp檔案,不知道裡面的表空間是什麼,怎麼辦呢。這裡有乙個簡單的方法來獲取相關的資訊。

就是在新庫上隨便找乙個管理員賬戶來執行imp命令匯入dmp檔案。但是由於owner不正確,會導致匯入的表和資料會跳過,並不會真正的匯入。但是這樣會生成log檔案。從log檔案中就可以檢視出表空間等資訊。例如:

imp userid=system/manager file=***.dmp full=y ignore=y show=y log=***.log

檢視相關的log,檢視相關的表空間等資訊。如果新庫沒有相關的表空間,就需要進行建立表空間。建立命令如下:

[sql]

view plain

copy

connect

/ as

sysdba  

create

tablespace ***  

size

200m  

autoextend on

next

20m maxsize 4g;  

建立好錶空間後,然後進行建立使用者:

[sql]

view plain

copy

create

user

<

user

>  

identified by

<

password

>  

default

tablespace ***;  

alter

user

<

user

> quota unlimited 

on***;  

grant

create

session 

to<

user

>;  

grant

dba 

to<

user

>;  

然後就可以真正的匯入dmp檔案了:

[sql]

view plain

copy

imp userid=<

user

>/<

password

> file=***.dmp log=***.log 

full

=y ignore

=y show=y  

這樣庫也就遷移成功了。

另外再附上將庫全部刪除的命令:

[sql]

view plain

copy

connect

/ as

sysdba  

drop

tablespace *** including contents 

anddatafiles 

cascade

constraints;  

drop

user

<

user

cascade

;  

ORACLE的EXP與IMP常用整理

關於oracle資料的匯出與匯入,是在工作中經常用到,尤其是資料庫備份。exp與imp的用法收集網路,還是那句話,出來混的,總是要還的 一.定義 oracle 的exp imp命令用於實現對資料庫的匯出 匯入操作 exp命令用於把資料從遠端資料庫伺服器匯出至本地,生成dmp檔案 imp命令用於把本地...

oracle的exp和imp命令的使用

我們通常要對oracle的資料進行匯入,匯出,在沒有expdb,impdb以前 10g以前 我們都是使用exp 匯出,imp命令來實現匯入。開啟cmd視窗,實現imp,exp主要是sqlplus.exe呼叫imp.exe,exp.exe來完成的。下面是幾個常用的關於exp,imp命令的一些舉例 1 ...

oracle 的exp和imp命令

我們通常要對oracle的資料進行匯入,匯出,在沒有expdb,impdb以前 10g以前 我們都是使用exp 匯出,imp命令來實現匯入。開啟cmd視窗,實現imp,exp主要是sqlplus.exe呼叫imp.exe,exp.exe來完成的。下面是幾個常用的關於exp,imp命令的一些舉例 1完...