- 浏览: 11229 次
最新评论
工作中可能遇到这样的情况,在A用户下有一个不用的job,但是dba不知道A用户的密码,怎么删除这个job呢。
相信大部分人都会尝试在sys用户下用dbms_job.remove()命令去删除它,但是会报错
sys用户下
SQL> exec dbms_job.remove(70);
BEGIN dbms_job.remove(70); END;
*
ERROR at line 1:
ORA-23421: job number 70 is not a job in the job queue
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86
ORA-06512: at "SYS.DBMS_IJOB", line 680
ORA-06512: at "SYS.DBMS_JOB", line 174
ORA-06512: at line 1
还是在sys用户下,使用dbms_ijob.remove()就可以删除
SQL> exec dbms_ijob.remove(70);
PL/SQL procedure successfully completed.
那么,到底dbms_job和dbms_ijob到底怎么用,彼此有什么区别呢?下面用实验证明。
一、sys用户使用dbms_ijob为hou用户创建job
1.查看dbms_ijob.submit的书写格式
sys用户下desc dbms_ijob
PROCEDURE SUBMIT
Argument Name Type In/Out Default?
------------------------------ ----------------------- ------ --------
JOB BINARY_INTEGER IN
LUSER VARCHAR2 IN --> Login user when the job was submitted
PUSER VARCHAR2 IN --> User whose default privileges apply to this job
CUSER VARCHAR2 IN --> schema_user
NEXT_DATE DATE IN
INTERVAL VARCHAR2 IN
BROKEN BOOLEAN IN
WHAT VARCHAR2 IN -->procedure
NLSENV VARCHAR2 IN
ENV RAW IN
2.hou用户下创建一个简单存储过程
SQL> conn hou/
Enter password:
Connected.
SQL> create table test(a date);
Table created.
SQL> create or replace procedure pro_insert_date as
begin
insert into test values(sysdate);
end;
/ 2 3 4 5
Procedure created.
3.sys用户为hou创建5号job
SQL> conn / as sysdba
Connected.
SQL> begin
dbms_ijob.submit(5,'HOU','HOU','HOU',
to_date('2012-09-29 12:30:00','YYYY-MM-DD HH24:MI:SS'),'sysdate+1',false,'pro_insert_date;',
'NLS_LANGUAGE=''SIMPLIFIED CHINESE'' NLS_TERRITORY=''CHINA'' NLS_CURRENCY=''¥'' NLS_ISO_CURRENCY=''CHINA'' NLS_NUMERIC_CHARACTERS=''.,'' NLS_DATE_FORMAT=''yyyy-mm-dd hh24:mi:ss'' NLS_DATE_LANGUAGE=''SIMPLIFIED CHINESE'' NLS_SORT=''BINARY''',
'0102000200000000');
commit;
end;
/
匿名块已完成
或者写成
begin
dbms_ijob.submit(5,'HOU','HOU','HOU',
to_date('2012-09-29 12:30:00','YYYY-MM-DD HH24:MI:SS'),'sysdate+1',false,'pro_insert_date;',
'NLS_LANGUAGE=''SIMPLIFIED CHINESE'' NLS_TERRITORY=''CHINA'' '||
'NLS_CURRENCY=''¥'' NLS_ISO_CURRENCY=''CHINA'' '||
'NLS_NUMERIC_CHARACTERS=''.,'' '||
'NLS_DATE_FORMAT=''YYYY-MM-DD HH24:MI:SS'' '||
'NLS_DATE_LANGUAGE=''SIMPLIFIED CHINESE'' NLS_SORT=''BINARY'' ',
'0102000200000000');
commit;
end;
/
注意:1.dbms_ijob.submit创建job时,只能手动指定job号。
2.书写顺序要按照上面的顺序。
3.用户名一定要大写。
注意:上面两条写法是在sql developer中能够执行成功。在sqlplus下无法执行成功,由于涉及到中文货币符号,在这里也就是NLS_CURRENCY=''¥''。
想要在sqlplus下执行成功,将¥换成$即可。至于如何能够在sqlplus下使用中文货币符号,还需要再研究。
4.登录到hou用户查看5号job的情况
SQL> conn hou/
Enter password:
Connected.
SQL> select job,what,LOG_USER,PRIV_USER,SCHEMA_USER,to_char(last_date,'YYYY-MM-DD HH24:MI:SS'),to_char(next_date,'YYYY-MM-DD HH24:MI:SS'),interval,broken,failures from user_jobs;
JOB WHAT LOG_USER PRIV_USER SCHEMA_USE TO_CHAR(LAST_DATE,' TO_CHAR(NEXT_DATE,' INTERVAL B FAILURES
---------- ------------------------------ ---------- ---------- ---------- ------------------- ------------------- -------------------- - ----------
5 pro_insert_date; HOU HOU HOU 2012-09-29 14:42:14 2012-09-30 14:42:14 sysdate+1 N 0
可以看到,sys用户通过dbms_ijob已经为hou用户创建了job。
二、执行5号job
1.在hou用户下
SQL> conn hou
Enter password:
Connected.
SQL> exec dbms_job.run(5);
PL/SQL procedure successfully completed.
2.在sys用户下执行
SQL> conn / as sysdba
Connected.
SQL> exec dbms_ijob.run(5);
PL/SQL procedure successfully completed.
sys通过dbms_ijob.submit为其他用户创建的job,sys和job所在的用户都可以执行。
三、修改job
1.hou用户修改job的执行间隔时间(interval)和下次执行时间(next_day)
SQL> exec dbms_job.interval(5,'sysdate+2');
PL/SQL procedure successfully completed.
查看job情况
SQL> select job,what,LOG_USER,PRIV_USER,SCHEMA_USER,to_char(last_date,'YYYY-MM-DD HH24:MI:SS'),to_char(next_date,'YYYY-MM-DD HH24:MI:SS'),interval,broken,failures from user_jobs;
JOB WHAT LOG_USER PRIV_USER SCHEMA_USE TO_CHAR(LAST_DATE,' TO_CHAR(NEXT_DATE,' INTERVAL B FAILURES
---------- ------------------------------ ---------- ---------- ---------- ------------------- ------------------- -------------------- - ----------
5 pro_insert_date; HOU HOU HOU 2012-09-29 14:45:50 2012-09-30 14:45:50 sysdate+2 N 0
修改next_day
SQL> exec dbms_job.next_date(5,sysdate+1/24);
PL/SQL procedure successfully completed.
SQL> commit;
Commit complete.
2.sys用户
SQL> exec dbms_ijob.interval(5,'sysdate+2');
PL/SQL procedure successfully completed.
SQL> commit;
Commit complete.
修改next_day
SQL> exec dbms_ijob.next_date(5,sysdate+5);
PL/SQL procedure successfully completed.
SQL> commit;
Commit complete.
四.中断job
1.hou用户
SQL> exec dbms_job.broken(5,true);
PL/SQL procedure successfully completed.
SQL> commit;
Commit complete.
SQL>
SQL> select job,what,LOG_USER,PRIV_USER,SCHEMA_USER,to_char(last_date,'YYYY-MM-DD HH24:MI:SS'),to_char(next_date,'YYYY-MM-DD HH24:MI:SS'),interval,broken,failures from user_jobs;
JOB WHAT LOG_USER PRIV_USER SCHEMA_USE TO_CHAR(LAST_DATE,' TO_CHAR(NEXT_DATE,' INTERVAL B FAILURES
---------- ------------------------------ ---------- ---------- ---------- ------------------- ------------------- -------------------- - ----------
5 pro_insert_date; HOU HOU HOU 2012-09-29 14:45:50 4000-01-01 00:00:00 sysdate+2 Y 0
2.sys用户
SQL> exec dbms_ijob.broken(5,true);
PL/SQL procedure successfully completed.
SQL> commit;
Commit complete.
SQL> conn hou
Enter password:
Connected.
SQL> select job,what,LOG_USER,PRIV_USER,SCHEMA_USER,to_char(last_date,'YYYY-MM-DD HH24:MI:SS'),to_char(next_date,'YYYY-MM-DD HH24:MI:SS'),interval,broken,failures from user_jobs;
JOB WHAT LOG_USER PRIV_USER SCHEMA_USE TO_CHAR(LAST_DATE,' TO_CHAR(NEXT_DATE,' INTERVAL B FAILURES
---------- ------------------------------ ---------- ---------- ---------- ------------------- ------------------- -------------------- - ----------
5 pro_insert_date; HOU HOU HOU 2012-09-29 14:45:50 4000-01-01 00:00:00 sysdate+2 Y 0
五.删除job
1.hou用户
SQL> exec dbms_job.remove(5);
PL/SQL procedure successfully completed.
SQL> select job,what,LOG_USER,PRIV_USER,SCHEMA_USER,to_char(last_date,'YYYY-MM-DD HH24:MI:SS'),to_char(next_date,'YYYY-MM-DD HH24:MI:SS'),interval,broken,failures from user_jobs;
no rows selected
2.sys用户
SQL> exec dbms_ijob.remove(5);
PL/SQL procedure successfully completed.
SQL> commit;
Commit complete.
SQL> conn hou
Enter password:
Connected.
SQL> select job,what,LOG_USER,PRIV_USER,SCHEMA_USER,to_char(last_date,'YYYY-MM-DD HH24:MI:SS'),to_char(next_date,'YYYY-MM-DD HH24:MI:SS'),interval,broken,failures from user_jobs;
no rows selected
总结:
1.dbms_job只能在当期用户内创建job、修改和删除job,不能对其他用户的job进行操作;sys用户也无法用dbms_job管理其他用户的job。
2.dbms_ijob只能由sys用户去执行,拥有DBA权限的用户都没有权限去执行它。
3.通过dbms_ijob sys用户可以给其他用户创建job,且job在该用户下,在该用户内可以通过user_jobs视图看到。
4.通过dbms_ijob sys用户能够对其他用户中的job进行删除、修改。
5.sys用户通过dbms_ijob给X用户创建job,那么X用户对该job拥有修改和删除的权限。
dbms_ijob书写格式:
1.创建job
begin
dbms_ijob.submit(jobnu,' LUSER ',' PUSER ',' CUSER ',
next day,'interval',false,'procedure_name;',
'NLS_LANGUAGE=''SIMPLIFIED CHINESE'' NLS_TERRITORY=''CHINA'' '||
'NLS_CURRENCY=''¥'' NLS_ISO_CURRENCY=''CHINA'' '||
'NLS_NUMERIC_CHARACTERS=''.,'' '||
'NLS_DATE_FORMAT=''YYYY-MM-DD HH24:MI:SS'' '||
'NLS_DATE_LANGUAGE=''SIMPLIFIED CHINESE'' NLS_SORT=''BINARY'' ',
'0102000200000000');
commit;
end;
/
2.执行job
exec dbms_ijob.run(jobnumber);
3.修改job的间隔时间(interval)
exec dbms_ijob.interval(5,'sysdate+2');
4.修改job的下次执行时间
exec dbms_ijob.next_date(5,sysdate+5);
5.中断job
exec dbms_ijob.broken(5,true);
6.删除job
exec dbms_ijob.remove(5);
此篇转载自http://blog.chinaunix.net/uid-23284114-id-3347118.html
相信大部分人都会尝试在sys用户下用dbms_job.remove()命令去删除它,但是会报错
sys用户下
SQL> exec dbms_job.remove(70);
BEGIN dbms_job.remove(70); END;
*
ERROR at line 1:
ORA-23421: job number 70 is not a job in the job queue
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86
ORA-06512: at "SYS.DBMS_IJOB", line 680
ORA-06512: at "SYS.DBMS_JOB", line 174
ORA-06512: at line 1
还是在sys用户下,使用dbms_ijob.remove()就可以删除
SQL> exec dbms_ijob.remove(70);
PL/SQL procedure successfully completed.
那么,到底dbms_job和dbms_ijob到底怎么用,彼此有什么区别呢?下面用实验证明。
一、sys用户使用dbms_ijob为hou用户创建job
1.查看dbms_ijob.submit的书写格式
sys用户下desc dbms_ijob
PROCEDURE SUBMIT
Argument Name Type In/Out Default?
------------------------------ ----------------------- ------ --------
JOB BINARY_INTEGER IN
LUSER VARCHAR2 IN --> Login user when the job was submitted
PUSER VARCHAR2 IN --> User whose default privileges apply to this job
CUSER VARCHAR2 IN --> schema_user
NEXT_DATE DATE IN
INTERVAL VARCHAR2 IN
BROKEN BOOLEAN IN
WHAT VARCHAR2 IN -->procedure
NLSENV VARCHAR2 IN
ENV RAW IN
2.hou用户下创建一个简单存储过程
SQL> conn hou/
Enter password:
Connected.
SQL> create table test(a date);
Table created.
SQL> create or replace procedure pro_insert_date as
begin
insert into test values(sysdate);
end;
/ 2 3 4 5
Procedure created.
3.sys用户为hou创建5号job
SQL> conn / as sysdba
Connected.
SQL> begin
dbms_ijob.submit(5,'HOU','HOU','HOU',
to_date('2012-09-29 12:30:00','YYYY-MM-DD HH24:MI:SS'),'sysdate+1',false,'pro_insert_date;',
'NLS_LANGUAGE=''SIMPLIFIED CHINESE'' NLS_TERRITORY=''CHINA'' NLS_CURRENCY=''¥'' NLS_ISO_CURRENCY=''CHINA'' NLS_NUMERIC_CHARACTERS=''.,'' NLS_DATE_FORMAT=''yyyy-mm-dd hh24:mi:ss'' NLS_DATE_LANGUAGE=''SIMPLIFIED CHINESE'' NLS_SORT=''BINARY''',
'0102000200000000');
commit;
end;
/
匿名块已完成
或者写成
begin
dbms_ijob.submit(5,'HOU','HOU','HOU',
to_date('2012-09-29 12:30:00','YYYY-MM-DD HH24:MI:SS'),'sysdate+1',false,'pro_insert_date;',
'NLS_LANGUAGE=''SIMPLIFIED CHINESE'' NLS_TERRITORY=''CHINA'' '||
'NLS_CURRENCY=''¥'' NLS_ISO_CURRENCY=''CHINA'' '||
'NLS_NUMERIC_CHARACTERS=''.,'' '||
'NLS_DATE_FORMAT=''YYYY-MM-DD HH24:MI:SS'' '||
'NLS_DATE_LANGUAGE=''SIMPLIFIED CHINESE'' NLS_SORT=''BINARY'' ',
'0102000200000000');
commit;
end;
/
注意:1.dbms_ijob.submit创建job时,只能手动指定job号。
2.书写顺序要按照上面的顺序。
3.用户名一定要大写。
注意:上面两条写法是在sql developer中能够执行成功。在sqlplus下无法执行成功,由于涉及到中文货币符号,在这里也就是NLS_CURRENCY=''¥''。
想要在sqlplus下执行成功,将¥换成$即可。至于如何能够在sqlplus下使用中文货币符号,还需要再研究。
4.登录到hou用户查看5号job的情况
SQL> conn hou/
Enter password:
Connected.
SQL> select job,what,LOG_USER,PRIV_USER,SCHEMA_USER,to_char(last_date,'YYYY-MM-DD HH24:MI:SS'),to_char(next_date,'YYYY-MM-DD HH24:MI:SS'),interval,broken,failures from user_jobs;
JOB WHAT LOG_USER PRIV_USER SCHEMA_USE TO_CHAR(LAST_DATE,' TO_CHAR(NEXT_DATE,' INTERVAL B FAILURES
---------- ------------------------------ ---------- ---------- ---------- ------------------- ------------------- -------------------- - ----------
5 pro_insert_date; HOU HOU HOU 2012-09-29 14:42:14 2012-09-30 14:42:14 sysdate+1 N 0
可以看到,sys用户通过dbms_ijob已经为hou用户创建了job。
二、执行5号job
1.在hou用户下
SQL> conn hou
Enter password:
Connected.
SQL> exec dbms_job.run(5);
PL/SQL procedure successfully completed.
2.在sys用户下执行
SQL> conn / as sysdba
Connected.
SQL> exec dbms_ijob.run(5);
PL/SQL procedure successfully completed.
sys通过dbms_ijob.submit为其他用户创建的job,sys和job所在的用户都可以执行。
三、修改job
1.hou用户修改job的执行间隔时间(interval)和下次执行时间(next_day)
SQL> exec dbms_job.interval(5,'sysdate+2');
PL/SQL procedure successfully completed.
查看job情况
SQL> select job,what,LOG_USER,PRIV_USER,SCHEMA_USER,to_char(last_date,'YYYY-MM-DD HH24:MI:SS'),to_char(next_date,'YYYY-MM-DD HH24:MI:SS'),interval,broken,failures from user_jobs;
JOB WHAT LOG_USER PRIV_USER SCHEMA_USE TO_CHAR(LAST_DATE,' TO_CHAR(NEXT_DATE,' INTERVAL B FAILURES
---------- ------------------------------ ---------- ---------- ---------- ------------------- ------------------- -------------------- - ----------
5 pro_insert_date; HOU HOU HOU 2012-09-29 14:45:50 2012-09-30 14:45:50 sysdate+2 N 0
修改next_day
SQL> exec dbms_job.next_date(5,sysdate+1/24);
PL/SQL procedure successfully completed.
SQL> commit;
Commit complete.
2.sys用户
SQL> exec dbms_ijob.interval(5,'sysdate+2');
PL/SQL procedure successfully completed.
SQL> commit;
Commit complete.
修改next_day
SQL> exec dbms_ijob.next_date(5,sysdate+5);
PL/SQL procedure successfully completed.
SQL> commit;
Commit complete.
四.中断job
1.hou用户
SQL> exec dbms_job.broken(5,true);
PL/SQL procedure successfully completed.
SQL> commit;
Commit complete.
SQL>
SQL> select job,what,LOG_USER,PRIV_USER,SCHEMA_USER,to_char(last_date,'YYYY-MM-DD HH24:MI:SS'),to_char(next_date,'YYYY-MM-DD HH24:MI:SS'),interval,broken,failures from user_jobs;
JOB WHAT LOG_USER PRIV_USER SCHEMA_USE TO_CHAR(LAST_DATE,' TO_CHAR(NEXT_DATE,' INTERVAL B FAILURES
---------- ------------------------------ ---------- ---------- ---------- ------------------- ------------------- -------------------- - ----------
5 pro_insert_date; HOU HOU HOU 2012-09-29 14:45:50 4000-01-01 00:00:00 sysdate+2 Y 0
2.sys用户
SQL> exec dbms_ijob.broken(5,true);
PL/SQL procedure successfully completed.
SQL> commit;
Commit complete.
SQL> conn hou
Enter password:
Connected.
SQL> select job,what,LOG_USER,PRIV_USER,SCHEMA_USER,to_char(last_date,'YYYY-MM-DD HH24:MI:SS'),to_char(next_date,'YYYY-MM-DD HH24:MI:SS'),interval,broken,failures from user_jobs;
JOB WHAT LOG_USER PRIV_USER SCHEMA_USE TO_CHAR(LAST_DATE,' TO_CHAR(NEXT_DATE,' INTERVAL B FAILURES
---------- ------------------------------ ---------- ---------- ---------- ------------------- ------------------- -------------------- - ----------
5 pro_insert_date; HOU HOU HOU 2012-09-29 14:45:50 4000-01-01 00:00:00 sysdate+2 Y 0
五.删除job
1.hou用户
SQL> exec dbms_job.remove(5);
PL/SQL procedure successfully completed.
SQL> select job,what,LOG_USER,PRIV_USER,SCHEMA_USER,to_char(last_date,'YYYY-MM-DD HH24:MI:SS'),to_char(next_date,'YYYY-MM-DD HH24:MI:SS'),interval,broken,failures from user_jobs;
no rows selected
2.sys用户
SQL> exec dbms_ijob.remove(5);
PL/SQL procedure successfully completed.
SQL> commit;
Commit complete.
SQL> conn hou
Enter password:
Connected.
SQL> select job,what,LOG_USER,PRIV_USER,SCHEMA_USER,to_char(last_date,'YYYY-MM-DD HH24:MI:SS'),to_char(next_date,'YYYY-MM-DD HH24:MI:SS'),interval,broken,failures from user_jobs;
no rows selected
总结:
1.dbms_job只能在当期用户内创建job、修改和删除job,不能对其他用户的job进行操作;sys用户也无法用dbms_job管理其他用户的job。
2.dbms_ijob只能由sys用户去执行,拥有DBA权限的用户都没有权限去执行它。
3.通过dbms_ijob sys用户可以给其他用户创建job,且job在该用户下,在该用户内可以通过user_jobs视图看到。
4.通过dbms_ijob sys用户能够对其他用户中的job进行删除、修改。
5.sys用户通过dbms_ijob给X用户创建job,那么X用户对该job拥有修改和删除的权限。
dbms_ijob书写格式:
1.创建job
begin
dbms_ijob.submit(jobnu,' LUSER ',' PUSER ',' CUSER ',
next day,'interval',false,'procedure_name;',
'NLS_LANGUAGE=''SIMPLIFIED CHINESE'' NLS_TERRITORY=''CHINA'' '||
'NLS_CURRENCY=''¥'' NLS_ISO_CURRENCY=''CHINA'' '||
'NLS_NUMERIC_CHARACTERS=''.,'' '||
'NLS_DATE_FORMAT=''YYYY-MM-DD HH24:MI:SS'' '||
'NLS_DATE_LANGUAGE=''SIMPLIFIED CHINESE'' NLS_SORT=''BINARY'' ',
'0102000200000000');
commit;
end;
/
2.执行job
exec dbms_ijob.run(jobnumber);
3.修改job的间隔时间(interval)
exec dbms_ijob.interval(5,'sysdate+2');
4.修改job的下次执行时间
exec dbms_ijob.next_date(5,sysdate+5);
5.中断job
exec dbms_ijob.broken(5,true);
6.删除job
exec dbms_ijob.remove(5);
此篇转载自http://blog.chinaunix.net/uid-23284114-id-3347118.html
相关推荐
Oracle数据库系统提供了强大的XML处理能力,这主要体现在其内置的几个PL/SQL包上,如DBMS_XMLDOM、DBMS_XMLPARSER和DBMS_XMLQUERY。这些包为开发者提供了处理XML文档的一整套工具,使得在数据库环境中进行XML数据的...
在Oracle数据库中,`DBMS_JOB`包提供了一种机制,用于创建和管理后台作业(Job),这些作业可以在特定的时间或按一定的时间间隔执行。这对于需要定期执行的任务非常有用,比如数据清理、统计报告生成、备份等。 ###...
`DBMS_JOB`提供了创建、修改、删除和查询作业的能力。一个作业(Job)是指一个可以在特定时间执行的PL/SQL块或存储过程。作业由系统自动调度执行,并且可以根据需求设定重复执行的时间间隔。 #### 2. 创建作业 在...
### DBMS_JOB 使用方法详解 #### 一、概述 `DBMS_JOB` 是 Oracle 数据库提供的用于调度任务的包,可以实现对定时任务的管理,包括任务的创建、修改、删除及执行等操作。该包提供了多种过程和函数,允许用户以灵活...
Oracle数据库的管理和保护是数据库管理员(DBA)的关键任务,RMAN(Recovery Manager)和DBMS_JOB包提供了自动化和高效管理这些任务的工具。RMAN是Oracle提供的一个强大的备份和恢复工具,它允许DBA执行复杂的数据库备份...
通过阅读如“Oracle中的包――DBMS_LOB(一).pdf”、“ORACLE LOB大对象处理.pdf”和“DBMS_LOB包的使用.pdf”等资料,可以深入理解这些概念,并通过实践来熟练掌握。同时,“dbms_lob包学习笔记之二:append和...
在 Oracle 数据库中,dbms_stats 包提供了一种手动收集统计信息的方式,包括基于表、用户和索引的统计信息。通过使用 dbms_stats 包,我们可以手动收集统计信息,以提高数据库的性能和查询优化。 基于表的统计信息...
Oracle数据库中的DBMS_JOB包是用于创建和管理定时任务的重要工具,它允许用户安排数据库执行特定的PL/SQL过程或存储过程。这个包提供了一系列的子程序,用于创建、修改、启动、停止以及监控数据库作业。下面将详细...
`DBMS_STATS.GATHER_TABLE_STATS` 是 Oracle 数据库中的一个重要过程,主要用于收集表、列和索引的统计信息,这些统计信息对于优化器选择合适的执行计划至关重要。该过程允许数据库管理员通过一系列参数来灵活控制...
解决方案是重建`DBMS_REGISTRY`包和`DBA_REGISTRY`视图。在进行此操作之前,建议先备份数据库以防万一。以下是解决步骤: 1. 以SYSDBA权限连接到数据库。 2. 关闭数据库:`SHUTDOWN IMMEDIATE` 3. 启动升级模式:`...
DBMS_JOB 是 Oracle 数据库提供的一个功能强大的任务计划管理系统,允许用户提前调度和安排某一任务,使其能够在指定的时间点或时间段内自动执行一次或多次。由于任务是在数据库中被执行的,因此执行效率很高。 ...
DBMS_OBFUSCATION_TOOLKIT 包含了一系列用于加密和解密的方法: - **DESGETKEY**: 用于获取DES加密方式所需的密钥。 - **DES3GETKEY**: 用于获取TripleDES加密方式所需的密钥。 - **DESENCRYPT**: 采用DES算法进行...
本文将详细介绍如何利用`dbms_java`包来禁用和回收Java相关的权限,帮助读者更好地理解和掌握这一关键技能。 #### 二、dbms_java 包简介 `dbms_java`是Oracle提供的一个用于在数据库中运行Java代码的标准包。该包...
在Oracle数据库系统中,`DBMS_RANDOM`是一个非常实用的包,它提供了生成随机数和随机字符串的功能。这个包在各种场景下都有广泛的应用,比如在测试数据的生成、模拟随机行为或者创建伪随机数据时。我们将深入探讨`...
### Oracle DBMS_SQL 使用详解 #### 一、概述 在Oracle数据库中,`DBMS_SQL`包是一个功能强大的工具,用于执行动态SQL语句。它提供了处理动态SQL语句的能力,使得开发人员能够灵活地构建和执行SQL语句,而不需要...
支持ArcGIS10.2版本的PostgreSQL_DBMS_for_windows_922,ESRI官方原版资源。
DBMS_LOCK是Oracle数据库系统中的一个内置包,用于在用户会话之间实现锁的管理,以确保并发操作的安全性和数据一致性。这篇博文深入探讨了DBMS_LOCK的功能、使用方法以及在实际应用中的重要性。 首先,我们要理解...