IMP-00002: 无法打开 D:\orcldat\test_20111024.dmp 进行读取,rman备份

来源:互联网 发布:看漫画学日语知乎 编辑:程序博客网 时间:2024/04/19 08:47

首先,我的路径写错了,文件夹是orcldata我掉了个a。
其次,命令后添加 full=y。
dos下随便哪个目录>

[sql] view plaincopyprint?
  1. IMP username/pwd@dbname BUFFER=64000 FILE=D:\orcldata\test_20111024.dmp full=y  


然后就OK了。

 

其实,导入dmp文件(其中是表中的数据),用PS/SQL就可以。(导入之前,要把被导入表中的数据清空

导入表--》oracle导入--》页面最下面--》导入文件(选择dmp文件路径)--》右边“导入”按钮

 

--补充全库备份及字符转义知识:

全库备份的文件,全库恢复:

1.将恢复中要用到的表空间和用户建好,把所有的表,存储过程等等都删除

2.cmd下面(随便哪个目录。下面的命令会导入表,索引(主键貌似没有),存储过程,job,senquence,等等):

密码中,有需要转义的字符,如<> ,不用转义,直接把整个密码用双引号""括起即可,其他需要转义的,用双引号",而不是 '  \;注意下面全库备份脚本中,密码没有用双引号括起,而<>是用^<^>转义的。

[sql] view plaincopyprint?
  1. imp log=D:\20130130imp.log file=D:\周三.dmp userid=username/"..<>.."@ORCLYXKJ buffer=64000 commit=no full=yes grants=yes ignore=yes indexes=yes rows=yes show=no constraints=yes  

 

全库备份脚本 bat (此bat备份出来后,会是 星期一.rar 星期二.rar。。并且备份完今天后会删除上个星期今天的备份.rar):
@echo on
set filename=F:\orabak\web\backup\oracle\%date:~11,3%
exp userid=username/...^<^>...@orclyxkj file=%filename%.dmp owner=ydsoft_yuxingchinasms

INDEXES=y grants=y constraints=y compress=y log=%filename%.log
rar a %filename%.rar %filename%.*
del %filename%.log
del %filename%.dmp

 --使用RMAN备份(一共2个文件。但是RMAN备份之后恢复太麻烦,还是采用expdp备份,impdp恢复可靠):

rmanbackup.bat  :

set ORACLE_SID=bidb
set ORACLE_HOME=E:\oracle_app\product\11.2.0\dbhome_1\
set PATH=%PATH%:E:\oracle_app\product\11.2.0\dbhome_1\bin


rman target system/oracle@bidb cmdfile='backup.rcv' log=F:\backup\bidb\rman.log

 

backup.rcv :

run  {
 allocate channel d1 device type disk format 'F:\backup\bidb\%U.bak';
 BACKUP DATABASE;
 delete noprompt archivelog until time 'sysdate-2';
 delete noprompt expired backupset of database;
 crosscheck archivelog all;
 crosscheck backupset;
 release channel d1;
}

--expdp备份,impdp恢复

--(81上)使用ydsoft_yuxingchinasms用户导出他的文件
create or replace directory expdir  as 'D:\orabak\web\backup\oracle';  

expdp userid=username/..^<^>..@orclyxkj directory=expdir schemas=username dumpfile=0221_p1.dp,0221_p2.dp,0221_p3.dp,0221_p4.dp,0221_p5.dp parallel=5 filesize=4096m
-->亲测效率:
总共 7.11G,17分钟。
如果用exp userid=username/..^<^>..@orclyxkj file=%filename%.dmp owner=username INDEXES=y grants=y constraints=y compress=y log=%filename%.log
则是9.69G,35分钟。
--(87上)impdp导入

1.
create or replace directory expdir  as 'F:\orabak\orabak\web\backup\oracle';
grant read,write on directory expdir to username;
2.将上面expdp导出的dp文件传到87的F:\orabak\web\backup\oracle目录下
impdp username/..^<^>..@orclyxkj DIRECTORY=expdir DUMPFILE=0221_p1.dp,0221_p2.dp,0221_p3.dp,0221_p4.dp,0221_p5.dp parallel=10 logfile=wllimpdp.log
-->亲测效率:
pd文件总共 7.11G,用impdp导入共25分钟(如果是9.69g的dmp文件用imp导入,则要2个小时)。如果还想增加效率,可以把parallel并行度调大,理论上不超过cpu的2倍,cpu可以通过show parameter cpu 查看。

0 0