掌握的Oracle定时任务
一、在PLSQL中创建表:
create table HWQY.TEST
(
CARNO VARCHAR2(30),
CARINFOID NUMBER
)
二、在PLSQL中创建存储过程:
create or replace procedure pro_test
AS
carinfo_id number;
BEGIN
select s_CarInfoID.nextval into carinfo_id
from dual;
insert into test(test.carno,test.carinfoid) values(carinfo_id,''123'');
commit;
end pro_test;
三、在SQL命令窗口中启动任务:
在SQL>后执行:
VARIABLE jobno number;
begin
DBMS_JOB.SUBMIT(:jobno,
''pro_test;'',
SYSDATE,''sysdate+1/24/12'');
commit;
end;
/
提交后提示:
英文代码
四、跟踪任务的情况(查看任务队列):
SQL> select job,next_date,next_sec,failures,broken from user_jobs;
JOB NEXT_DATE NEXT_SEC FAILURES BROKEN
---------- ----------- ---------------- ---------- ------
1 2008-2-22 ?01:00:00 0 N
说明有一个任务存在了。
执行select * from test t查看定时任务的结果。可以看出定时任务是正常执行了的。
五、停止已经启动的定时任务:
先执行select job,next_date,next_sec,failures,broken from user_jobs;
以查看定时任务的job号。
在SQL>中执行下面的语句停止一个已经启动的定时任务:
begin
dbms_job.remove(1);
commit;
end;
/
表示停止job为1的任务。
执行后显示如下:
PL/SQL procedure successfully completed
六、查看进程数:
show parameter job_queue_processes;
必须>0,否则执行下面的命令修改:
alter system set job_queue_processes=5;
七、再创建一个任务(每5分钟执行一次):
variable jobno number;
begin
dbms_job.submit(:jobno, ''pro_test;'',
sysdate,''sysdate+1/24/12'');
commit;
end;
/
建立一个定时任务后,在PLSQL中查看JOB,它的sql语句类似的是如下:
begin
sys.dbms_job.submit(job => :jobno,
what => ''pro_test;'',
next_date => to_date(''21-02-2008 17:37:26'', ''dd-mm-yyyy hh24:mi:ss''),
interval => ''sysdate+1/24/12'');
commit;
end;
/
所以,创建一个任务的完整的格式是:
variable jobno number;
begin
相关文档:
oracle11g具有自动的表压缩功能, 但当insert语句未指定具体的列名时, 会使用自动表压缩功能失效。(如该语句会使得表t_test不能自动压缩: insert into t_test select * from t_test2)
另外使用一些外部工具进行数据装载(sqlload),也有可能使得表不能自动压缩,此时需要用以下语句,以重新分析表,分析完成之后,该表即会 ......
oracle 方法 & ......
1.首先需要建立plan table,否则不能使用
建立方法:
$oracle\rdbms\admin下有个
utlxplan.sql
其内容为:
create table PLAN_TABLE (
statement_id varchar2(30),
timestamp date,
remarks varchar2(80),
operat ......
Oracle
归档模式与非归档模式设置
Oracle
的日志归档模式可以有效的防止
instance
和
disk
的故障,在数据库故障恢复中不可或缺,由于
oracle
初始安装模式为非归档模式,因此需要将其设置为归档模式,下面就其方法和步骤做一些总结,虽然简单,但这是管理
oracle
数据库必备之工,故有如下陈述。
例子 ......
1.OS认证
Oracle安装之后默认情况下是启用了OS认证的,这里提到的os认证是指服务器端os认证。OS认证的意思把登录数据库的用户和口令校验放在了操作系统一级。如果以安装Oracle时的用户登录OS,那么此时在登录Oracle数据库时不需要任何验证,如:
SQL> connect /as sysdba
已连接。
SQL> connect sys/aaa@test as ......