oracle11g之备份数据与调度作业

来源:互联网 发布:贾衣玫盗取数据 编辑:程序博客网 时间:2024/06/03 20:29

     因为实际的需要,需要每天按时调度一个存储过程产生数据,提供给前台使用,而数据则需要每天进行备份,在本文中,记录分别使用脚本和oracle的oem完成前面两项工作.

    记录学习的脚步.


1.按时调度存储过程

   准备工作:

   建stus表;

-- Create tablecreate table STUS(  stu_id       VARCHAR2(50) not null,  stu_name     VARCHAR2(30) not null,  stu_age      NUMBER not null,  stu_birthday DATE not null)tablespace USERS  pctfree 10  initrans 1  maxtrans 255  storage  (    initial 64K    next 1M    minextents 1    maxextents unlimited  );-- Create/Recreate primary, unique and foreign key constraints alter table STUS  add constraint INFOIDS primary key (STU_ID)  using index   tablespace USERS  pctfree 10  initrans 2  maxtrans 255  storage  (    initial 64K    next 1M    minextents 1    maxextents unlimited  );

  建存储过程 insertDataStus:  

create or replace procedure insertDataStus isbegin  insert into stus values(sys_guid(),'张三',89,sysdate);end insertDataStus;

  a:使用脚本的方式

     创建作业

     

--创建作业 variable job_exec number;begin  --从当前时间开始 隔1分钟(1天=24*60=1440分钟)执行一次insertDataStus存储过程  dbms_job.submit(:job_exec,'insertDataStus;',sysdate,'sysdate+1/1440');end;/  
执行作业

--执行作业  只有执行job后 才开始执行存储过程begin  dbms_job.run(:job_exec); end;/  

效果:



删除作业

--删除作业begin  dbms_job.remove(:job_exec);end;/  



b:使用oracle的oem进行建立作业

    使用账号登陆到oracle11g的database control的web页面



点击右边的作业


点击类似创建按钮


 配置如上界面 主要是更改命令类型  点击后 会选择你要执行的存储过程



  在2014年3月7日的晚上11:22:05秒开始 每个一分钟调用一次存储过程 插入数据


点击完成


查看数据中数据




2.导出数据

  a:使用脚本和win的任务计划结合的方式

     脚本

echo oracle正在备份中,请稍等!!exp 'under/under@ganew' file='d:/backup/ga_oracle_data_%date:~0,10%.dmp' log='d:/backup/ga_oracle_data_%date:~0,10%.log' full=yecho oracle 备份完成!!

 然后添加任务计划 指向此脚本即可

   这里写的比较详细  就不写了  http://blog.csdn.net/u012750338/article/details/18841913


b:oracle的oem


点击导出到导出文件


上面的主机身份证明为 登陆你os的用户名与密码


%D表示使用系统的年月日命名



配置调度策略







   再来说说遇到的错误及解决办法

1.ORA-20446 解决方案   参看此处  http://blog.csdn.net/fly_binbin/article/details/5592904

2.OC4J Configuration issue. e:\app\u1\product\11.2.0\dbhome_1/oc4j/j2ee/OC4J_DBCon sole_192.168.6.88_ganew not found.   解决方案 

  找到C:\Windows\System32\drivers\etc\  将hosts中的 locaohost改为你的计算机名加域




    因为在E:\app\u1\product\11.2.0\dbhome_1\  中有计算机名加域名的配置文件     上面所做的操作  只是将本地的地址做了一个dns的映射而已 为的是让oracle的database concole找到oc4j的配置文件

3.EXP-00028 看这里  http://cag2050.blog.51cto.com/1009647/1168928

   http://blog.163.com/dianli_jingjing/blog/static/1661278201251395919243

0 0
原创粉丝点击