2 ghost  9 Ghost__9 于 2017.09.14 09:49 提问

oracle 中的 scheduler 如何备份 10C

最近机房搬迁、库里存在scheduler,并且有jobs,programs,schedules等的东西、、、、
这个怎么备份呢?

2个回答

u011046042
u011046042   2017.09.14 10:03

在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;

/

-- 运行job

begin

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;

u011046042
u011046042 回复Ghost__9: 直接用命令备份吧
10 个月之前 回复
Ghost__9
Ghost__9 我想问的是备份、 东西太多了、不可能一个一个的根据现在的内容去写创建语句
10 个月之前 回复
u011046042
u011046042   2017.09.14 10:18

机房搬迁,你把服务器上的硬盘数据备份好 关机搬迁服务器 吧

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
【Oracle】SCHEDULER使用详解
SCHEDULER使用详解:   创建SCHEDULER: BEGIN sys.dbms_scheduler.create_schedule( repeat_interval => 'FREQ=DAILY;BYHOUR=15;BYMINUTE=0;BYSECOND=0', start_date => systimestamp at time zone '+8:00', end_dat
关于oracle Scheduler的介绍——管理scheduler
整理自君三思博客:http://blog.itpub.net/7607759/viewspace-612220/ 三、使用Schedules   10g 中新推出的SCHEDULER可能确实会让很多初接触的朋友感觉晕头晕脑,相比之前的jobs,SCHEDULER中新增的概念太多。比如说jobs,仍然可以理解成之前版本中的jobs,不过功能更加强大(注意10g中也仍然可以使用普通jo
Oracle Scheduler Jobs 基本使用
创建Jobs语法: 通过DBMS_SCHEDULER包来创建Jobs,是使用其CREATE_JOB过程。例如: SQL> BEGIN    2  DBMS_SCHEDULER.CREATE_JOB (    3     job_name           =>  'INSERT_TEST_TBL',    4     job_type           =>  'STORED_
关于oracle Scheduler的介绍——job
整理自君三思博客:http://blog.itpub.net/7607759/viewspace-610951 所谓出于job而胜于job,说的就是Oracle 10g后的新特性Scheduler啦。在10g环境中,ORACLE建议使用Scheduler替换普通的job,来管理任务的执行。其实,将Scheduler描述成管理job的工具已经太过片面了,10G版本中新增的Scheduler
Oracle Scheduler(一)——Jobs(基本使用)!
创建Jobs语法: 通过DBMS_SCHEDULER包来创建Jobs,是使用其CREATE_JOB过程。例如: SQL> BEGIN 2 DBMS_SCHEDULER.CREATE_JOB ( 3 job_name => 'INSERT_TEST_TBL', 4 job_type => 'STORED_PROC
oracle 定时任务(scheduler job)
怎样从数据库中查询job的属性 select * fromuser_scheduler_jobs; 或者调用DBMS_SCHEDULER包中的GET_ATTRIBUTE   --============================================================ --dbms_scheduler的使用 --======================
oracle Scheduler调用job
Scheduler 可以简单调度成百上千的tasks。Oracle Scheduler 通过在DBMS_SCHEDULER PL/SQL 包中存储和过程来执行,用普通的数据库用户做测试。 --创建表 createtable indextable(idnumber,namevarchar2(10)); --存储过程 createorreplaceprocedure p_insert_te
oracle中禁用Scheduler_job
How to disable the scheduler using SCHEDULER_DISABLED attribute in 10g (文档 ID 1491941.1) Applies to: Oracle Server - Enterprise Edition - Version 10.1.0.2 and later 适用于任何平台,oracle 10.1.0.
关于oracle Scheduler的介绍——Programs
整理自君三思博客:http://blog.itpub.net/7607759/viewspace-611604/ 二、使用Programs   在论坛中偶尔见过有人讨论如何在ORACLE中执行操作系统命令,或是ORACLE数据库外的应用。应该说在9i及之前的版本中,虽然说并非完全无法实现(其实还是有多种方式能够变相实现的),不过复杂的实现方式让DBA使劲了力,伤透了心,费劲了事儿。
Scheduler和Job的基本概念
Oracle Scheduler是用来管理和计划数据库的Job,通过它可以让很多常规的数据库任务自动执行,减少人为干预,解放劳动力,本质上来说,它和Linux的crontab,商业任务管理软件如Autosys, UC4一样,只是它们的领域不一样,Oracle Scheduler专注于Oracle数据库Job的自动化管理、维护和监控。 本篇是理论篇,介绍Oracle Scheduler的基本概念,O