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