使用者被鎖定不影響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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何找出被鎖定的行
- 影響獨立伺服器穩定執行的因素伺服器
- WinRAR被曝存嚴重程式碼執行漏洞 19年影響5億使用者!
- 獨家揭秘丨GreatSQL 的MDL鎖策略升級對執行的影響SQL
- CSS3實現動畫不會影響主執行緒,JS實現動畫會影響主執行緒CSSS3動畫執行緒JS
- 怎麼減少行鎖對效能的影響?
- shell:nohup (在系統後臺不掛起地執行命令,退出終端不會影響程式的執行)
- job任務均不執行,手工執行報job now running
- cluster factor對執行計劃的影響
- IO多路複用和多執行緒會影響Redis分散式鎖嗎?執行緒Redis分散式
- Git 爆任意程式碼執行漏洞,所有使用者都受影響Git
- 老師,你確定Java註釋不會被執行嗎?Java
- Oracle 11g 測試停庫對job的影響Oracle
- 伺服器不穩定直接影響網站SEO?伺服器網站
- Elasticjob執行job冪等AST
- return與finally的執行順序的影響(skycto JEEditor)
- 【知識分享】伺服器不穩定對網站的影響伺服器網站
- 虛擬主機不穩定會帶來哪些影響
- 突然斷電,是否會影響Mysql的執行結果MySql
- xxl-job執行器的註冊
- Oracle報錯>記錄被另外一個使用者鎖定Oracle
- [20191104]禁止job以及SCHEDULER執行.txt
- [ Linux ] Jellyfin 賬戶被鎖定如何解鎖Linux
- GitHub漏洞允許任意程式碼執行,Windows不受影響GithubWindows
- 執行緒的互斥鎖執行緒
- 這個D-Link不願修復的高危漏洞,影響面被嚴重低估了!
- 處處遭遇尷尬,國行Switch鎖卡將會造成怎樣的影響
- GitHub發現“tar”和 npm CLI 7個程式碼執行漏洞 影響Windows及unix使用者GithubNPMWindows
- linux下影響程式碼執行時序(時延大)的可能原因Linux
- 【CURSOR】Oracle繫結變數、執行計劃對遊標的影響Oracle變數
- 關於Quartz的Job 不能被注入以及SpringAop對Job失效quartzSpring
- 通過鎖定表的統計資訊來穩定sql的執行計劃SQL
- Python為什麼執行效率低?受哪些因素影響?Python
- 非平臺化的測試框架怎麼實現用例更新不影響正在執行的測試任務的?框架
- Facebook:不會賠償270萬受資料洩露影響的歐洲使用者
- Elastic-Job的執行原理及優化實踐AST優化
- 巧妙設定job的interval
- 如何讓 jenkins 上的 job,使用各自版本的 python 執行?JenkinsPython
- 執行緒中的死鎖執行緒