使用者被鎖定不影響JOB的執行
今天在維護使用者的帳號狀態的時候碰到這個問題。和同事討論這個問題的時候,我認為即使使用者的帳號被鎖定,JOB也可以執行。
用一個建立例子來說明這個問題:
SQL> conn / as sysdba
Connected.
SQL> create user u_test identified by u_test default tablespace ndmain;
User created.
SQL> grant connect, resource to u_test;
Grant succeeded.
SQL> conn u_test/u_test
Connected.
SQL> create table t (time date);
Table created.
SQL> alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss';
Session altered.
SQL> declare
2 v_job number;
3 begin
4 dbms_job.submit(v_job, 'begin insert into t values (sysdate); end;', to_date('2009-8-26 11:0:0'));
5 commit;
6 end;
7 /
PL/SQL procedure successfully completed.
SQL> col what format a45
SQL> select job, what, next_date from user_jobs;
JOB WHAT NEXT_DATE
---------- --------------------------------------------- -------------------
50 begin insert into t values (sysdate); end; 2009-08-26 11:00:00
SQL> select sysdate from dual;
SYSDATE
-------------------
2009-08-26 10:44:22
建立一個U_TEST使用者,授權必要的許可權,然後建立一張測試表,並設定一個JOB,在11點的時候向測試表中插入系統時間。
現在的時間是10點44分,下面鎖住U_TEST使用者:
SQL> conn / as sysdba
Connected.
SQL> alter user u_test account lock;
User altered.
SQL> select username, account_status
2 from dba_users
3 where username = 'U_TEST';
USERNAME ACCOUNT_STATUS
------------------------------ --------------------------------
U_TEST LOCKED
SQL> alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss';
Session altered.
SQL> select sysdate from dual;
SYSDATE
-------------------
2009-08-26 10:45:59
SQL> select * from u_test.t;
no rows selected
鎖定使用者後,目前的時間是10點46分左右,U_TEST使用者下的T表還沒有記錄,等待一段時間後:
SQL> select sysdate from dual;
SYSDATE
-------------------
2009-08-26 10:59:18
SQL> select sysdate from dual;
SYSDATE
-------------------
2009-08-26 11:00:50
SQL> select * from u_test.t;
TIME
-------------------
2009-08-26 11:00:01
SQL> select username, account_status, lock_date
2 from dba_users
3 where username = 'U_TEST';
USERNAME ACCOUNT_STATUS LOCK_DATE
------------------------------ -------------------------------- -------------------
U_TEST LOCKED 2009-08-26 10:44:52
可以看到,在11點的時候JOB執行,向測試表中插入了JOB執行時的系統時間。而檢查U_TEST使用者可以發現,從10點44分起,這個使用者一直處於鎖定狀態。
這說明JOB的執行和使用者是否被鎖定無關,因為JOB的執行並不需要登陸操作。以前碰到過的一個問題從另一方面說明了這一點:JOB自動執行出錯,但手工執行正常——淺談job和database link的一個特點:http://yangtingkun.itpub.net/post/468/7984
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-613331/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 時區調整對job的執行時間的影響
- 定義JOB的執行間隔
- 影響獨立伺服器穩定執行的因素伺服器
- CSS3實現動畫不會影響主執行緒,JS實現動畫會影響主執行緒CSSS3動畫執行緒JS
- WinRAR被曝存嚴重程式碼執行漏洞 19年影響5億使用者!
- oracle job使用詳解及job不執行的檢查方法Oracle
- 600 【12333】不影響db執行的bug嗎
- arraysize/TDU/SDU的設定對sql執行代價的影響SQL
- shell:nohup (在系統後臺不掛起地執行命令,退出終端不會影響程式的執行)
- 採用job定時執行recover datafile
- cluster factor對執行計劃的影響
- 淺析影響專案執行的因素
- Oracle中JOB的建立後不執行解決方法Oracle
- 將不確定變為確定~類中的屬性何時被執行
- IO多路複用和多執行緒會影響Redis分散式鎖嗎?執行緒Redis分散式
- 設定drawables物件背景導致資源被影響物件
- Git 爆任意程式碼執行漏洞,所有使用者都受影響Git
- oracle建立job並執行jobOracle
- 設定shell 定期 (crontab job) 執行 DB 中的物件物件
- 查詢有多少JOB正在執行,程式被hang住
- 淺析影響專案執行的因素(續)
- 索引及排序對執行計劃的影響索引排序
- try catch 對程式碼執行的效能影響
- 老師,你確定Java註釋不會被執行嗎?Java
- Oracle使用者密碼被鎖定導致的故障Oracle密碼
- 停掉正在執行的JOB
- Hint 組合執行步驟 - 分開執行, 互不影響
- 伺服器不穩定直接影響網站SEO?伺服器網站
- Oracle:建立JOB定時執行儲存過程Oracle儲存過程
- Oracle Job 定時執行設定例項[final]Oracle
- CLUSTERING_FACTOR影響執行計劃
- 執行緒數目對資料庫的影響執行緒資料庫
- oracle cardinality對於執行計劃的影響Oracle
- not-null約束對執行計劃的影響Null
- job任務均不執行,手工執行報job now running
- Oracle 11g 測試停庫對job的影響Oracle
- 【知識分享】伺服器不穩定對網站的影響伺服器網站
- 設定父控制元件的alpha 不影響子控制元件控制元件