一个用户有500个表 想备份其中的495个 怎么做最方便 大家讨论一下 那要看你什么怎么备份的了啊,exp 还是rman? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 通过数据字典(user_tables)去掉不要的表,再通过循环控制写出一个exp语句. 六楼的兄弟 说的详细点成么 回七楼的男人 好象是因为数据量太大了 备份到那个表已经2G多了 在OEM里查那一个表就好几百M很久以前作的 好象是700多M 现在想起来大家一起研究研究 我觉得使用exp备份你所指定的用户最方便,而且恢复时也比较方便 “自己写一个批处理,将不需要备份的表剔除.”“过数据字典(user_tables)去掉不要的表,再通过循环控制写出一个exp语句.” 汗 怎么写啊 求你们了 说详细点啊 我菜 我认为可以这样首先写一个批处理命令命令行如下:exp parfile=d:\exp.txt接着,在相同目录下生成一个exp.txttxt内容如下:userid=yzdl/yzdl@yzdlowner=(yzdl) file=d:\yzdl.dmprows=Ygrants=Yindexes=YTABLES=(A,B,C...)其中 A,B,C可以使用SQL语句来生成虽然还是比较麻烦,我觉得基本上还是可行的 连接SQLspool c:\autobak.bat;declearstr char(200);beginstr:=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 luxuezhu(卢冲) 想法不错! 学习! 用pl/sql developer 直接选中要备份的表(完全鼠标操作)如果文件过大(fat32格式不支持大于2G的文件),将不同的表还可以导成不同的文件 "用pl/sql developer 直接选中要备份的表(完全鼠标操作)如果文件过大(fat32格式不支持大于2G的文件),将不同的表还可以导成不同的文件"如果备份 几百个表不是要点上千下(备份一个表至少点2下吧)还有可能我说的不是很清楚 备份的时候在在LINUX 下备份的脚本是echo '请输入管道名(qing shu ru guan dao ming):'read gdmmknod $gdm pecho '请输入文件名:(qing shu ru wen jian ming):'read wjmcompress < $gdm > $wjm.dmp.Z&echo '请输入用户及口令(qing shu ru yong hu he kou ling):'read yhklexp $yhkl file=$gdm log=$wjm.logrm $gdm压缩后大概200多M(惊人的压缩比吧 )看日志总是到一个表出错 我问了一些同事 他们在WIN2000下最大备份过5。7G的DMP(用EXP)好象也是FAT32的文件格式好久之前的事情了 现在想起来主要是想 解决部分备份的问题 感谢上面2位仁兄的说的这么详细 分数一定奉上 看大家讨论的这么热烈 我过几天再结贴没问题吧 echo '需请输入管道名:'read agdmmknod $agdm pecho '需安装的文件名(文件名.dmp.Z):'read awjmuncompress < $awjm > $agdm&echo '需安装用户及口令:'read ayhklimp $ayhkl file=$agdm full=y commit=y ignore=y rows=y log=$awjm.logrm $agdm在LINUX下对应恢复数据的方法 好东西大家分享啊(也许这个不算什么 不过为了感谢大家还是想拿出来现现丑) “userid=yzdl/yzdl@yzdlowner=(yzdl) file=d:\yzdl.dmprows=Ygrants=Yindexes=YTABLES=(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,CTO 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) 么这个你实验成功了么 我没有看来这个结不了帖了 关于查询问题。 Oracle版提问建议及常出现的问题与解决方案集 -- 分享 $$$$$$ ORA-04030 你的应用系统中有多少表 Ora-01571:重做版本8.1.6.0.0 与oracle8.0.5.0.0不兼容,是怎么回事?谢谢..急 导入数据时出错 这样一个语句会提示标识过长select BUREAUINFO from PM_REALTIME_HLR_ERR 求一SQL语句!在线等 急!oracleservice启动不了! PRO*C中连接ORACLE中密码怎样写才能更安全? BDE连接ORACLE9的问题 剛用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) 么这个你实验成功了么 我没有
看来这个结不了帖了