最近机房搬迁、库里存在scheduler,并且有jobs,programs,schedules等的东西、、、、
这个怎么备份呢?
oracle 中的 scheduler 如何备份
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
关注 在oracle中使用scheduler的范例
Sql代码
-- 创建新表
create table T_TEST_JOB
(
ID LONG,
TEST_DATE TIMESTAMP(6)
)tablespace GBIAPS
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64
minextents 1
maxextents unlimited
);-- 创建序列
create sequence SEQ_TEST_JOB
minvalue 1
maxvalue 9999999999999999999999999999
start with 1
increment by 1
cache 10;
-- 创建存储过程
create or replace procedure P_TEST_JOB as
begin
insert into t_test_job(id,test_date) values (SEQ_TEST_JOB.NEXTVAL,sysdate);
end;
/
/*
在使用create_job或者create_schedule前,请先检查 NLS_DATE_LANGUAGE, NLS_DATE_FORMAT,
NLS_TIMESTAMP_FORMAT, NLS_TIMESTAMP_TZ_FORMAT 等参数的值, 通过alter session 命令来修改
alter session set NLS_DATE_FORMAT='yyyy-MM-dd';
alter session set NLS_TIMESTAMP_FORMAT='yyyy-MM-dd hh24:mi:ss';
alter session set NLS_TIMESTAMP_TZ_FORMAT='yyyy-MM-dd HH:MI:SS.FF AM TZR';
/
select * from nls_session_parameters where parameter like '%_DATE_%' or parameter like '%_TIMESTAMP_%';
-- 创建job
-- FREQ 用来指定间隔的时间周期,可选参数有: YEARLY, MONTHLY, WEEKLY, DAILY, HOURLY, MINUTELY, SECONDLY
-- INTERVAL 用来指定间隔的频繁,可指定的值的范围从1-999
-- 附加的参数有: BYMONTH,BYWEEKNO,BYYEARDAY,BYMONTHDAY,BYDAY,BYHOUR,BYMINUTE,BYSECOND
/
每周的1,3,5运行job FREQ=WEEKLY; BYDAY=MON,WED,FRI
每年的3,6,9,12月的30号运行job FREQ=YEARLY; BYMONTH=MAR,JUN,SEP,DEC; BYMONTHDAY=30
每月1号凌晨1点执行一次
Freq=Monthly;BYMONTHDAY=1;BYHOUR=1;BYMINUTE=0;BYSECOND=0;Interval=1
*/
begin
sys.dbms_scheduler.create_job(job_name => 'JOB_TESTJOB',
job_type => 'STORED_PROCEDURE',
job_action => 'P_TEST_JOB',
start_date => sysdate,
repeat_interval => 'Freq=MINUTELY;BYSECOND=0;Interval=1',end_date => to_date(null), job_class => 'DEFAULT_JOB_CLASS', enabled => true, auto_drop => false, comments => 'Baiyun Airport Web Site');
end;
/
-- 启动job
begin
dbms_scheduler.enable('JOB_TESTJOB');
end;
/
-- 运行jobbegin
dbms_scheduler.run_job('JOB_TESTJOB',TRUE); -- true代表同步执行
end;
/
-- 停止job
begin
dbms_scheduler.stop_job(job_name => 'JOB_TESTJOB',force => TRUE);
end;
/-- 删除job
begin
dbms_scheduler.drop_job(job_name => 'JOB_TESTJOB',force => TRUE);
end;/
-- 查询job
select * from user_scheduler_jobs;
select * from dba_scheduler_jobs;-- 查看数据
select * from t_test_job;
-- 删除数据delete from t_test_job;
解决 无用评论 打赏 举报
悬赏问题
- ¥15 为什么eprime输出的数据会有缺失?
- ¥20 腾讯企业邮箱邮件可以恢复么
- ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
- ¥15 错误 LNK2001 无法解析的外部符号
- ¥50 安装pyaudiokits失败
- ¥15 计组这些题应该咋做呀
- ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
- ¥15 让node服务器有自动加载文件的功能
- ¥15 jmeter脚本回放有的是对的有的是错的
- ¥15 r语言蛋白组学相关问题