使用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完...