ORACLEÖÐÈçºÎ²éÕÒÌØ¶¨¶ÔÏóÖеÄÎı¾ÄÚÈÝ~
SQL> select dbms_metadata.get_ddl('PROCEDURE','PRO2','SCOTT') text from dual;
TEXT
----------------------------------------
CREATE OR REPLACE PROCEDURE "SCOTT"."P
RO2"
is
begin
dbms_output.put_line('wangpeng up');
end;
SQL> select dbms_metadata.get_ddl('PROCEDURE','PRO1','SCOTT') text from dual;
TEXT
----------------------------------------
CREATE OR REPLACE PROCEDURE "SCOTT"."P
RO1"
is
begin
dbms_output.put_line('wanghai up');
end;
SQL> select * from(
2 SELECT NAME , LINE , 'Create or Replace ' || TEXT as text
3 from USER_SOURCE
4 WHERE TYPE = 'PROCEDURE'
5 AND LINE = 1
6 UNION
7 SELECT NAME, LINE, TEXT as text
8 from USER_SOURCE
9 WHERE TYPE = 'PROCEDURE'
10 AND LINE > 1
11 UNION
12 SELECT NAME, 999999 , '/' as text
13 from USER_SOURCE
14 WHERE TYPE = 'PROCEDURE'
15 AND LINE = 1
16 ORDER BY 1, 2
17 ) c
18 where UPPER(c.text) like '%WANGHAI%';
NAME LINE TEXT
---------- ------- ----------------------------------------
PRO1 4 dbms_output.put_line('wanghai up');
SQL> select * from(
2 SELECT NAME , LINE , 'Create or Replace ' || TEXT as text
3 from USER_SOURCE
4 WHERE TYPE = 'PROCEDURE'
5 AND LINE = 1
6 UNION
7 SELECT NAME, LINE, TEXT as text
8 from USER_SOURCE
9 WHERE TYPE = 'PROCEDURE'
10 AND LINE > 1
11 UNION
12 SELECT NAME, 999999 , '/' as text
13 from USER_SOURCE
14 WHERE TYPE = 'PROCEDURE'
15 AND LINE = 1
16 ORDER BY 1, 2
17 ) c
18 where UPPER(c.text) like '%WANGPENG%';
NAME LINE TEXT
---------- ------- ----------------------------------------
PRO2 4 dbms_output.put_line('wangpeng up');
SQL> select * from(
2 SELECT NAME , LINE , 'Create or Replace ' || TEXT as text
3 from USER_SOURCE
4 WHERE TYPE = 'PROCEDURE'
5 AND LINE = 1
6 UNION
7 SELECT NAME, LINE, TEXT as text
8 from USER_SOURCE
9 WHERE TY
Ïà¹ØÎĵµ£º
About parent vs child latches. There is no fundamental low level difference between parent and child latches, they are all small regions of memory modified with atomic test-and-set style opcodes.
You see parent (and solitary) latches from x$ksll ......
in ÊǰÑÍâ±íºÍÄÚ±í×÷hash Á¬½Ó£¬¶øexistsÊǶÔÍâ±í×÷loopÑ»·£¬Ã¿´ÎloopÑ»·ÔÙ¶ÔÄÚ±í½øÐвéѯ¡£
Ò»Ö±ÒÔÀ´ÈÏΪexists±ÈinЧÂʸߵÄ˵·¨ÊDz»×¼È·µÄ¡£
Èç¹û²éѯµÄÁ½¸ö±í´óСÏ൱£¬ÄÇôÓÃinºÍexists²î±ð²»´ó¡£
in ÊǰÑÍâ±íºÍÄÚ±í×÷hash
Á¬½Ó£¬¶øexistsÊǶÔÍâ±í×÷loopÑ»·£¬Ã¿´ÎloopÑ»·ÔÙ¶ÔÄÚ±í½øÐвéѯ¡£
Ò»Ö±ÒÔ ......
×î½ü¹«Ë¾´òËãÔÚÏÂÒ»´ú¼Æ·ÑϵͳÀïÃæÊ¹ÓÃÄÚ´æÊý¾Ý¿âµÄ¼¼Êõ£¬ËùÒÔ×÷Ϊ¹«Ë¾µÄÉè¼ÆÈËÔ±Ö®Ò»µÄÎÒ£¬ÔÚoracleÍøÉÏÏÂÁ˸öTimesTen£¬°²×°ÔÚÎÒÃǵIJâÊÔ·þÎñÆ÷ÉÏÃæaix5£¬ÕâÆª¶ÌÎÄÖ÷ÒªÊÇÎÒ²Ù×÷Êý¾Ý¿âµÄÒ»¸ö±Ê¼Ç£¬ÏÂһƪ´òËã·¢Ò»¸öc³ÌÐòµÄÀý×ÓºÍÎÒ²âÊԵĽá¹û£¬ºóÐø¿ÉÄÜ»¹»áʹÓÃTimesTen cache of oracleÕâ¸ö²úÆ·£¬Â½ÐøÒ²»á·¢Ò»ÏÂÕâ· ......
Èç¹û½ö½öÊÇlock£¬ÒÔÏÂÓï¾ä¿ÉÒÔ·¢ÏÖËùÓÐÓû§Ëø :
SELECT s.username,
decode(l.type, 'TM', 'TABLE LOCK', 'TX', 'ROW LOCK', NULL) LOCK_LEVEL,
o.owner,
o.object_name,
&n ......