--创建表空间,系统用户建立
create tablespace tstest
datafile 'D:\oraclexe\oradata\XE\tstest01.dbf'
size 100m
autoextend on
next 50m
maxsize 1000m;
--删除表空间
DROP tablespace tstest INCLUDING CONTENTS AND DATAFILES;
--创建用户
create user test identified by test default tablespace tstest temporary tablespace TEMP;
grant connect,dba,resource to test ;
--删除用户
drop user test cascade;
--创建表
CREATE TABLE test
(
id VARCHAR2(100) PRIMARY KEY,
name VARCHAR2(100),
age VARCHAR2(100),
sex VARCHAR2(100)
);
--创建一个存储过程用来删除表中过期数据
CREATE OR REPLACE PROCEDURE MYPROC
IS
BEGIN
insert into test(id,name,age,sex) values (sysdate,'tom','12','boy');
END;
/
--创建JOB
variable job1 number;
begin
dbms_job.submit(:job1,'MYPROC;',sysdate,'sysdate+1/1440');
commit;
end;
/
--创建job,每天1440分钟,即一分钟运行test过程一次
variable job1 number;
begin
dbms_job.submit(:job1,'INSERT_EXPIRY_DATAS;',sysdate,'sysdate+1/1440');
end;
/
--运行job
begin
dbms_job.run(:job1);
end;
/
begin
dbms_job.run(:job1);
end;
/
--删除JOB
begin
dbms_job.remove(:job1);
end;
/
--------------------------------------------------------------------
variable job1 number;
begin
sys.dbms_job.submit
(job => :job1,
what => 'INSERT_EXPIRY_DATAS;',
next_date => trunc(sysdate)+23/24,
interval => trunc(sysdate,'mi')+1/(24*60));
commit;
end;
--定义一个数字型变量
declare job1 number;
begin
dbms_job.submit(:job1,'test;',sysdate,'sysdate+1/1440');
end;
/
variable jobno number;
begin
dbms_job.submit(:jobno, 'statspack.snap;', trunc(sysdate+1/24,'HH'), 'trunc(SYSDATE+1/24,''HH'')', TRUE, :instno);
commit;
end;
print jobno
variable job1 number;
begin
sys.dbms_job.submit
(job => :job1,
what => 'INSERT_EXPIRY_DATAS;',
next_date => trunc(sysdate)+23/24,
interval => trunc(sysdate,'mi')+1/(24*60));
commit;
end;
begin
sys.dbms_job.submit(job => :job,
what => 'check_err;',
next_date => trunc(sysdate)+23/24,
interval => 'trunc(next_day(sysdate,''星期五''))+23/24');
commit;
end;
其中:job是系统自动产生编号,check_err是我的一个过程,next_date设置下次执行时间,这里是今天晚上23:00,interval设置时间间隔,多久执行一次,这里是每周的星期五晚上23:00,函数next_day返回日期中包含指定字符的日期,trunc 函数去掉日期里的时间,也就是得到的是某天的00:00,时间是以天为单位的所以要得到某某点某某分,就需要分数:
1/24 一小时;
1/1440 一分;
1/3600 一秒;
分享到:
相关推荐
Oracle 创建 Job 实现数据库定期任务 Oracle 中创建 Job 是实现数据库定期任务的重要步骤,可以是定期执行存储过程或者简单的 SQL 语句。在 Oracle 中,Job 是一个异步执行的任务,可以根据需要设置执行频率和执行...
从给定的Oracle Job实例测试通过的描述与代码片段中,我们可以提炼出多个关于Oracle数据库管理、编程与作业调度的关键知识点。以下是对这些知识点的详细解释: ### 1. 创建序列(Sequence) 在Oracle数据库中,...
### Oracle 创建 Job 实例 在 Oracle 数据库管理与开发中,创建定时任务是十分常见的需求之一。例如,可能需要每分钟将一个表中的数据更新到另一个表中,这样的任务可以通过创建 Oracle 的 Job 来实现。 #### 一、...
Oracle Job 是 Oracle 数据库中的一个特性,用于在预定义的时间执行数据库任务,如备份、清理、数据处理等。Job 的使用通常涉及以下几个步骤: 1. **创建测试表和过程**: 在示例中,首先创建了一个名为 `A` 的...
在IT领域,特别是数据库管理与自动化任务调度方面,Oracle的JOB定时器机制提供了一种高效且灵活的方式来执行定期任务,如备份、数据清理或报告生成等。本文将深入解析如何利用Oracle JOB定时器来操作存储过程,包括...
Oracle Job是Oracle数据库中的一个功能强大的调度工具,用于在预设的时间点自动执行数据库任务,如运行存储过程、数据备份、统计分析等。本文将深入探讨Oracle Job的使用与管理技巧。 首先,我们需要了解如何查看和...
### Oracle作业(JOB)更新next_date的探讨 在Oracle数据库管理中,作业(JOB)是自动化执行任务的重要机制之一。本文将重点探讨Oracle作业中`next_date`字段的更新方式及其背后的工作原理,并通过实际案例深入理解...
### Oracle中的Job定时任务详解与应用 #### 一、Oracle Job概述 在Oracle数据库中,Job是一种非常重要的机制,用于实现数据库的定时任务自动化。它主要用于执行预定义的PL/SQL代码块,如存储过程或者匿名块等。Job...
- 创建测试表 `a` 和自定义过程 `test`,然后创建 Job `job1` 来定期插入数据。 5. **监控和调整**: - 通过 `USER_JOBS` 视图可以查看所有用户的 Job 信息。 - 使用 `DBA_JOBS` 视图获取所有数据库 Job 的详细...
### Oracle数据库之间同步数据:dbLink + Job方式 在Oracle数据库管理中,有时我们需要实现不同数据库之间的数据同步。本文将详细介绍如何通过dbLink与Job相结合的方式实现这一目标。 #### 一、dbLink简介 dbLink...
这个示例将创建一个名为 test_job 的 job 定时任务执行,每分钟执行一次 test_procedure 存储过程。 五、结论 在本文中,我们详细介绍了如何使用 plsql 创建存储过程并创建 job 定时任务执行。在 Oracle 中,plsql...
Oracle Job 是 Oracle 数据库中的一个特性,用于在预定义的时间执行数据库操作,如定期备份、统计分析或数据清理等。Job 的使用与管理是数据库管理员(DBA)日常维护工作的重要部分,尤其对于大型企业应用而言,有效...
在本文中,我们将深入探讨如何使用Oracle SQL,包括连接远程服务器、数据导入导出以及Oracle Job的使用。 首先,连接到远程Oracle服务器通常涉及配置本地的tnsnames.ora文件。在该文件中,你需要定义数据库连接的...
job => job_proc_zc_test, what => 'proc_zc_test(''zc'');', next_date => SYSDATE, interval => 'trunc(sysdate,''mi'')+1/(24*60)' ); COMMIT; END; ``` 查看定时器任务: ```sql SELECT * FROM user_jobs;...
在Oracle数据库中,`DBMS_JOB`包提供了一种简单的方式来安排周期性或一次性的工作。以下将详细介绍如何使用`DBMS_JOB`来创建、运行和管理定时任务。 ##### 创建定时任务 ```sql -- 创建一个用于执行的任务过程 ...
在Oracle数据库管理中,存储过程和job作业扮演着至关重要的角色。存储过程是一组为了完成特定功能的SQL语句集合,它们被编译并存储在数据库中,供用户反复调用,提高了数据库操作的效率和代码复用性。而job则是...
- **删除 Job**: `DBMS_SCHEDULER.DROP_JOB(job_name => 'INSERT_TEST_TBL', force => TRUE);` - **查询 Job 状态**: `SELECT * FROM dba_scheduler_jobs WHERE job_name = 'INSERT_TEST_TBL';` #### 三、使用 ...
impdp jijin/tuteng@192.168.0.100 schemas=jijin dumpfile=expdp_test2.dmp logfile=expdp_test2.log directory=dmp job_name=myjob ``` 这里的参数与导出命令类似,但注意`dumpfile`指向的是在Oracle 10g上创建的...
- **ORACLE_SID**: 数据库实例的唯一标识符,在本例中设定为`"test8"`。 - **NLS_LANG**: 设置语言环境,例如`"AMERICAN_AMERICA.ZHS16GBK"`,用于指定数据库的语言和字符集。 - **TNS_ADMIN**: TNS命名服务的管理...
在这个例子中,我们连接到Oracle数据库,然后执行`DBMS_SCHEDULER.RUN_JOB`存储过程来启动名为"your_job_name"的作业。这需要在Oracle数据库中已经定义了这个作业,并赋予了相应的执行权限。 至于标签“源码”和...