oracle数据泵还原命令,Oracle Linux环境中使用数据泵的形式还原Oracle数据库
今天需要將一個(gè)數(shù)據(jù)泵方式導(dǎo)出的oracle備份文件還原到Linux環(huán)境下的Oracle數(shù)據(jù)庫(kù)中,花了我不少時(shí)間查資料才搞定,得記錄下來(lái)。
第一步、使用SecureFXPortable工具,將備份文件(orcl20180207.dump)上傳到Linux服務(wù)器,我這里是上傳到/tmp/20180207目錄中
第二步、使用SecureCRTPortable工具,連接到Linux服務(wù)器,切換到操作數(shù)據(jù)庫(kù)的用戶(hù),我這里的用戶(hù)是(oracle)
切換命令:su oracle
第三步、連接數(shù)據(jù)庫(kù),創(chuàng)建還原的邏輯目錄,指向上傳的備份文件目錄(/tmp/20180207)
在這里使用sqlplus連接數(shù)據(jù)時(shí),提示命令不存在,一查資料才知道,沒(méi)有配置環(huán)境變量(我理解的是環(huán)境變量)
可以通過(guò)echo $ORACLE_HOME命令,查看是否有配置環(huán)境變更,如果是空,就是沒(méi)有配置
配置環(huán)境變量:
export ORACLE_HOME=/oracle/app/oracle/product/11.2.0.4
export PATH=$ORACLE_HOME/bin:$PATH
再使用sqlplus連接數(shù)據(jù)庫(kù),這時(shí),使用普通oracle賬號(hào)連接指定實(shí)例,可以連接上了。但是在使用system不指定實(shí)例連接時(shí),就提示連接不上了,提示信息:
這個(gè)就是因?yàn)?#xff0c;安裝數(shù)據(jù)庫(kù)時(shí),沒(méi)有在linux中指定數(shù)據(jù)庫(kù)實(shí)例了, 通過(guò)命令echo $ORACLE_SID可以檢查是否設(shè)置了數(shù)據(jù)庫(kù)實(shí)例,如果是空,就是沒(méi)有設(shè)置
使用sql語(yǔ)句查詢(xún)到當(dāng)前數(shù)據(jù)庫(kù)實(shí)例 :select instance_name from v$instance;
設(shè)置數(shù)據(jù)庫(kù)實(shí)例:export ORACLE_SID=orcl
ok,現(xiàn)在就可以使用system連接數(shù)據(jù)庫(kù),創(chuàng)建目錄了。
sqlplus system/password as sysdba
create directory TEMP_DUMP_IMPORT_DIC as '/tmp/20180207';
創(chuàng)建完成后,可以使用下面命令查看創(chuàng)建的目錄
select * from dba_directories;
第四步、設(shè)置備份目錄及文件的訪問(wèn)權(quán)限
因?yàn)閳?zhí)行導(dǎo)入命令的是賬號(hào)oracle,所以需要將備份目錄及備份文件的操作權(quán)限設(shè)置給oracle賬號(hào)
su root
cd /tmp
chown oracle 20180207
cd /oracle
chown oracle ora20180207.dmp
第五步、設(shè)置創(chuàng)建的邏輯目錄權(quán)限給需要導(dǎo)入的用戶(hù)(數(shù)據(jù)庫(kù)用戶(hù))
grant read,write on directory TEMP_DUMP_IMPORT_DIC to user1;
第六步、刪除user1下的所有表及對(duì)象(主要是表)
我是使用pl/sql工具直接刪除所有表
第七步、執(zhí)行導(dǎo)入命令
impdp user1/password@orcl directory=TEMP_DUMP_IMPORT_DIC dumpfile=orcl20180207.dmp full=y; ok,還原成功,可以使用了。
總結(jié)
以上是生活随笔為你收集整理的oracle数据泵还原命令,Oracle Linux环境中使用数据泵的形式还原Oracle数据库的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: oracle tochar fm,ora
- 下一篇: oracle jdedward,Orac