oracle定时备份

发布 2022-06-28 16:07:28 阅读 4186

对oracle数据库的定时热备份(exp)通常可用两种办法实现,一种是在oracle数据库中利用其提供的任务队列管理器(job queue)来实现;另一种是利用操作系统的定时执行命令来完成。在第一种方法中需要数据库启动后台进程snp,并且需在oracle的初始化文件中加入任务队列的启动参数,而第二种方法不需对数据库做任何改动即可完成。本例介绍如何利用digital unix 4.

0f下的定时触发器crontab去完成对oracle8i数据库的热备份。一、命令的使用方法1、crontab的使用方法。

crontab是unix系统下的定时任务触发器,其使用者的权限记载在下列两个文件中:/usr/var/adm/cron/该文件中所列的用户不允许使用crontab命令;/usr/var/adm/cron/该文件中所列的用户允许使用crontab命令;crontab命令的格式为:crontab–l|-v|-r|-e [username],其参数含义如表一:

表一crontab参数的使用方法。

参数名称-l-v

含义。显示用户的crontab文件的内容。

显示用户的crontab文件的内容及其提交的时间,只适用于compaq系列。

r-e从crontab目录中删除用户的crontab文件编辑用户的crontab文件。

用户所建立的crontab文件存于/var/spool/cron/crontabs中,其文件名与用户名一致。它的格式共分为六段,前五段为时间设定段,第六段为所要执行的命令段,格式如下其时间段的含义如表二:

表二crontab文件中时间段的含义。

段第一段第二段第三段第四段第五段。

含义。代表分钟代表小时代表日期代表月份。

代表星期几,0代表星期日。

取值范围0—590—231—311—120—6

例:如果用户的crontab文件的内容是:29 19 * echo its dinner time,则系统每天的19:

29显示its dinner time。2、exp的使用方法。

exp为oracle数据库的热备份命令,其经常使用格式为:

exp userid file=……owner=[username]

因exp命令的参数较多,这里不逐一介绍了,读者可通过exp help=y命令了解exp命令各项参数的用法,下面只把将要用到的三个参数的含义介绍给大家,见表三:

表三exp的常用参数。

参数名称userid

含义。写法为[username]/[userpassword],oracle中的用户名/口令,其必须为exp的第一个参数。

fileowner

备份文件所放位置及名称。

备份该用户所拥有的oracle对象(表、存储过程等)

二、实现方法。

假设数据库的拥有者为oracle,数据库的用户为scott,其口令为trigger,oracle数据库的参数$oracle_home为/usr/oracle,$oracle_sid为orcl,则实现步骤如下:1、建立实现备份的shell

在/usr/oracle中用vi命令建立文件其内容为:oracle_home=/usr/oracle;export oracle_home;oracle_sid=orcl;export oracle_sid;

usr/oracle/bin/exp scott/trigger file=/usr/oracle/ owner=scott使用chmod命令修改的属性为可执行:chmod +x

到此,具有备份功能的可执行文件(shell)已经建成。其执行结果是将scott所拥有的oracle对象备份到/usr/oracle中的中,读者可以直接运行它来看看效果。值得注意的是,中oracle的两个环境参数一定要声明,否则系统会报错。

下一步将开始建立oracle用户的crontab文件。

2、查看crontab的使用权限。

使用超级用户(root)的身份登录,在/usr/var/adm/cron下通过vi命令查看文件,如果数据库的拥有者oracle被列在里面,将其删除即可。3、建立oracle的crontab文件。

用oracle用户登录,通过使用命令crontab–e oracle开始建立oracle用户的crontab文件。其内容为:

00 17 * 1-5 “/usr/oracle/

存盘退出后,你会发现在/var/spool/cron/crontabs中新增了一个名为oracle文件,其作用是在周一至周五每天的17:00运行“/usr/oracle/

到此大功告成,系统会将每次备份的信息通过mail的形式发送给oracle用户。在进行以上操作时,建议。

将/var/spool/cron/crontabs中其他用户(尤其是root)的crontab文件进行备份,以免误操作对系统产生影响。

win下ORACLE定时备份

在windows下实现对oracle数据库的定时备份。确定你的计算机上装有oracle的客户端,如果没有,请安装oracle客户端。确定有你的oracle服务里有你要需要备份的数据库的服务名。我这里的服务名是example,数据库名。test,密码为 testpw。制作一个批处理文件 具体方法 打开...

oracle定时任务

一 在plsql中创建表 create table carno varchar2 30 carinfoid number 二 在plsql中创建存储过程 create or replace procedure pro test ascarinfo id number beginselect s in...

oracle定时任务

今天总结下oracle的任务队列管理器 job queue 以后也方便查询。我们要做定时任务时,有两种办法。一种是 操作系统的定时,win的定时任务,unix的crontab 一种是 数据库级的定时,她的效率更高,再有大量的表级操作时,建议用数据库本身的job queue,这样方便,效率高 如果用系...