那要看你什么怎么备份的了啊,exp 还是rman?
解决方案 »
- 求助神人关于启动OracleDBConsoleorcl和oem的错误解决方法
- 请教 游标变量
- 存储过程 多条件组合查询
- Toad的SQL Editor里怎么能一次执行多行SQL语句?
- ORACLE出现错误警告,导致无法连接:oracle instance jh - can not allocate log , archival required
- 在线等待中》》》
- 很怪,我写的删除过程突然无法将它删除,各位遇见过这种情况吗?请进来帮帮忙
- 询问ORACLE 问题
- 连接池是什么?
- 学习oracle除了这个论坛,大家还经常去哪儿啊?英文的也行啊,主要就是人气旺些的!
- 剛用ORACLE,問個很菜的問題
- 大家帮忙写一个sql查询语句
回七楼的男人 好象是因为数据量太大了 备份到那个表已经2G多了 在OEM里查那一个表就好几百M
很久以前作的 好象是700多M 现在想起来大家一起研究研究
“过数据字典(user_tables)去掉不要的表,再通过循环控制写出一个exp语句.”
汗 怎么写啊 求你们了 说详细点啊 我菜
首先写一个批处理命令
命令行如下:
exp parfile=d:\exp.txt
接着,在相同目录下生成一个exp.txt
txt内容如下:
userid=yzdl/yzdl@yzdl
owner=(yzdl)
file=d:\yzdl.dmp
rows=Y
grants=Y
indexes=Y
TABLES=(A,B,C...)其中 A,B,C可以使用SQL语句来生成
虽然还是比较麻烦,我觉得基本上还是可行的
spool c:\autobak.bat;
declear
str char(200);
begin
str:=select 'exp user/passwd file=c:\bak'||table_name'.dmp table='||table_name from user_tables where table_name not in (a,b,c);
execute immediate str;
end;
spool off;退出sql,执行c:\autobak.bat
如果文件过大(fat32格式不支持大于2G的文件),将不同的表还可以导成不同的文件
如果文件过大(fat32格式不支持大于2G的文件),将不同的表还可以导成不同的文件"如果备份 几百个表不是要点上千下(备份一个表至少点2下吧)
还有可能我说的不是很清楚 备份的时候在在LINUX 下
备份的脚本是echo '请输入管道名(qing shu ru guan dao ming):'
read gdm
mknod $gdm p
echo '请输入文件名:(qing shu ru wen jian ming):'
read wjm
compress < $gdm > $wjm.dmp.Z&
echo '请输入用户及口令(qing shu ru yong hu he kou ling):'
read yhkl
exp $yhkl file=$gdm log=$wjm.log
rm $gdm压缩后大概200多M(惊人的压缩比吧 )看日志总是到一个表出错
我问了一些同事 他们在WIN2000下最大备份过5。7G的DMP(用EXP)好象也是FAT32的文件格式
好久之前的事情了 现在想起来主要是想 解决部分备份的问题
感谢上面2位仁兄的说的这么详细 分数一定奉上 看大家讨论的这么热烈 我过几天再结贴没问题吧
read agdm
mknod $agdm p
echo '需安装的文件名(文件名.dmp.Z):'
read awjm
uncompress < $awjm > $agdm&
echo '需安装用户及口令:'
read ayhkl
imp $ayhkl file=$agdm full=y commit=y ignore=y rows=y log=$awjm.log
rm $agdm在LINUX下对应恢复数据的方法 好东西大家分享啊(也许这个不算什么 不过为了感谢大家还是想拿出来现现丑)
owner=(yzdl)
file=d:\yzdl.dmp
rows=Y
grants=Y
indexes=Y
TABLES=(A,B,C...)” 不可以 owner和TABLES不能并存 去掉一个就行了
可是如果TABLES=(select table_name from user_tables where table_name not in (a,b,c))的话 ORACLE会把SELECT TABLE_NAME FROM.... 分别当成几个表
最后只能备份 A,B,C
TO luxuezhu(卢冲)
你想写的是 在一个BAT文件里(你用的是AUTOEXE。BAT)
EXP USERNAME/PASSWORD file =c:\xxx.dmp (这地方有点没看明白table_name 是什么 ) table = table_name from user_tables where table_name not in (a,b,c) 么这个你实验成功了么 我没有
看来这个结不了帖了