使用exp和imp命令是oracle對(duì)數(shù)據(jù)進(jìn)行遷移備份的一種最簡(jiǎn)單最常用的一種方式。在此記錄下使用的方法步驟,以備后用。
首先,在老庫上使用命令:
exp userid=username/password@database OWNER=xxx file=xxx.dmp log=xxx.log
其中@后面的database是數(shù)據(jù)庫連接字符串??梢允莍p:port/servicename的形式。例如192.168.1.10:1521/orcl 如果配置了tnsname,那么@后面可以直接寫配置的tnsname。例如ORCL。
這里順便說一下使用PL/SQL登錄時(shí),Database文本框中需要填寫的連接字符串的含義。如圖
里面可以直接填寫在tnsnames.ora中配置的tnsname。例如ORCL。這樣就可以直接根據(jù)tnsname來獲取ip、端口號(hào)、servicename等值,然后就可以得到連接字符串。
這樣經(jīng)過第一步,dmp文件就已經(jīng)導(dǎo)出成功了。下面需要的是建立新庫的表空間和owner。
對(duì)于表空間,一般情況下在老庫上可以看到。但是如果現(xiàn)在只有一個(gè)dmp文件,不知道里面的表空間是什么,怎么辦呢。這里有一個(gè)簡(jiǎn)單的方法來獲取相關(guān)的信息。
就是在新庫上隨便找一個(gè)管理員賬戶來執(zhí)行imp命令導(dǎo)入dmp文件。但是由于OWNER不正確,會(huì)導(dǎo)致導(dǎo)入的表和數(shù)據(jù)會(huì)跳過,并不會(huì)真正的導(dǎo)入。但是這樣會(huì)生成log文件。從log文件中就可以查看出表空間等信息。例如:
imp userid=system/manager file=xxx.dmp full=y ignore=y show=y log=xxx.log
查看相關(guān)的log,查看相關(guān)的表空間等信息。如果新庫沒有相關(guān)的表空間,就需要進(jìn)行創(chuàng)建表空間。創(chuàng)建命令如下:
另外再附上將庫全部刪除的命令:
聯(lián)系客服