oracle脚本备份数据库
A. 菜鸟求助:linux下oracle数据库自动备份脚本,脚本可实现数据库自动备份功能,并删除三天前的备份
这个好办。 cp 你的数据库`date +'%y%m%d'` 指定目录 这个是以年月日来命名备份 删除的命令是
rm -f 你的数据库名字`date -d "3 days ago" +'%y%m%d'` 这个是删除匹配你数据库的备份名日期前3天的备份文件 他会按照日期-3天匹配3天前的日期来删除备份的
B. oracle数据库如何每天自动执行脚本完成正式数据库到备份数据库的备份
写个脚本完成正式数据库到备份数据库的备份
再设定Task Schele 每天某个时间自动执行这个脚本
C. ORACLE如何用脚本自动备份服务器上数据库到本地数据库上
使用dataguard。具体怎么用请自己查步骤,太多了,写不下(严重推荐,很多大型企业都在用)。
大概步骤就是建一个test1数据库,再将test1做全备份,再恢复到test2上。这两库就一致了。然后将test2打开到mount,设成standby库。按照文档修改参数,让test1能传数据过来。
太详细的我这里也写不完。你自己查一下“如何使用dataguard或者standby”
一旦数据库崩溃可以很快切换到备份库上,两者之间的数据相差非常小(也就传一两个archivelog的时间)。此外,还可以通过第三方软件(较安全),实现报表分离。也就是这个库还可以专门做报表。
D. 我写了个Oracle数据库自动备份脚本,执行后只有log文件,没有dmp文件,在线等。bat文件内容如下:
大致看了下,没发现你的批处理有明显问题。
那就简单说下排查思路。
1、既然问题出在备份上,就先不要理会删除备份的问题。
2、相信你写批处理以前应该手工输入exp命令成功备份过。
3、把 exp那句输出到文本或批处理文件如下,用记事本打开backdb.txt看看与你成功备份的手输命令有和不同,然后做相应修改即可。
exp改为:
echoexp%USER%/%PASSWORD%@%DATABASE%full=yfile=%DATADIR%\%BACKUPDATE%.DMPlog=%LOGDIR%\%BACKUPDATE%.log>backdb.txt
E. 怎么用PL/sql备份oracle数据库
1、 准备数据库创建脚本
create tablespace whc_tbs datafile 'E:\oracle\oradata\whcdb\whc.dbf' size 100M;
--DROP TABLESPACE whc_tbs INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;
create user whc identified by whc default tablespace whc_tbs;
grant connect,resource to whc;
grant dba to whc;
--Revoke dba from whc;
其中--的注释语句是删除命名空间和移除DBA用户的权限的。
以上这些脚本是为了我们在新建一个表空间和Oracle数据库的时候使用的。
其中E:\oracle\oradata\whcdb\whc.dbf路径是我们要存放数据库数据的位置,因此要保证该路径有足够的空间和足够的访问权限,否则会失败的。
2、 导出数据库对象
在PL/SQL Developer的菜单Tools=>Export User Objects中出来一个对话框界面,然后框选要到处的Oracle 数据库对象,包括表,序列,存储过程,视图,函数等等,并指定导出的文件名称,如下操作。
3)导出表数据
导出表结构和其他对象后,我们下一步就是把数据库的表数据进行导出,PL/SQL Developer工具支持导出数据到PL/SQL数据库陪空脚本中,如下所示。这样导出的脚本,我们可以在PL/SQL Developer工具导入或者自己通过Sql plus 工具进行导入。
至此,我们就已经宴乱尘完成了三种脚本了,包括创建数据库空间和数据库脚本、创建Oracle数据库对象(表、存储过程、视图、序列等)、创建导入数据的脚本,这样三种合一,就是一个完整的数据库了。最后一步就是我们如何导入晌禅数据库对象和数据的问题了。
4)导入数据库对象及数据
导入数据库对象和数据的操作一样,都可以通过Import Tables操作实现,我们指定刚才上面两步创建的数据库脚本,执行即可再新的环境中创建数据库对象和数据库数据了。如下所示。
完成上面几个步骤,我们在新的数据库环境中,就具备了所有的东西了,顺利完成整个Oracle数据库对象及数据的迁移工作。
以上值得注意的是,我们导出Oracle对象和数据的时候,默认还是原来Oracle数据库的表空间和数据库用户名称的,如果我们想要在新的数据库服务
器中指定不同的表空间和数据库用户对象,那么我们就需要替换生成的sql脚本,并在第一步指定合理的表空间和数据库用户。
如果是Linux平台下的数据库服务器,第一步操作也是差不多的,就是指定表空间的路径名稍微不同,其他操作并无差异。
F. oracle中怎么设置数据库自动备份
Oracle自动备份的三种方法:x0dx0aOracle自动备份数据库不外乎以下三种方式:x0dx0aWINDOWS下的任务计划(At命令)x0dx0aUNIX下的Crontab x0dx0a第三方工具如Viritasx0dx0a在以上三种方式中Viritas属于第三方工具,很多人可能都没有接触,主要说一下windows的任务计划与unix的cronx0dx0a1、生成脚本文件,如backup.rcv 假定文件内容如下:x0dx0a$>cat backup.rcv connect target sys/password rcvcat rman/rman@localname; run{ allocate channel c1 type disk; allocate channel c2 type disk; allocate channel c3 type disk; backup fileaperset 3 format ‘/u01/oradata/backup/arch%u_%s_%p’ archivelog all delete input; release channel c1; release channel c2; release channel c3; }x0dx0ax0dx0a2、生成执行文件在windows上生成backup_archive.bat,内容包括rman cmdfile = backup.rcv 在unix下生成 backup_archive.sh,内容包括oracle/ramn/rman cmdfile = backup.rcvx0dx0a3、加入调度在windows中用任务计划向导即可,或使用at命令。在unix中,在目标机器上编写一个文件,用以启动Oracle自动备份进程。假定文件名为ORACLE,文件将放在/var/spool/cron/crontabs目录下x0dx0a$>cat oracle x0dx0a0 23 * * 0 backup_archive.sh x0dx0a#表示星期天23点对数据库备份 x0dx0a0 12,18 * * * backup_archive.sh x0dx0a #表示每天12点,18点备份 x0dx0aCrontab文件的每一行由六个域(minutes,hours,day of month,month,day of week,command)组成,域之间用空格或Tab分隔开来。