ORACLE 10 g学習ノート(四)


1.CPUリソースを最も消費するSQL文をリアルタイムで問い合わせる
1.    top           spid 

2.         ID,   ,sqlID :
select sid,serial#,machine,username,program,sql_hash_value,sql_id,
       to_char(logon_time,'yyyy/mm/dd hh24:mi:ss') as login_time from v$session
where paddr in (select addr from v$process where spid in ('5648612','256523'));


3.      sql_id   hash_value   ,   v$sqlarea         sql
select sql_text
  from v$sqltext_with_newlines
  where hash_value = &hash_value
order by piece;

select * from v$sql where sql_id=''

 
 2. dblink
 
create database link ORC
  connect to SUNCPS identified by "123456"
  using '(DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.6.1.36)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )';

 
3.正規表現
 
1) REGEXP_LIKE : LIKE     

2) REGEXP_INSTR : INSTR      :        

3) REGEXP_SUBSTR : SUBSTR      :      

4) REGEXP_REPLACE : REPLACE     

                   ‘%’ ‘_’。


 
 
'^'             ,          ,             。

'$'             。      RegExp     Multiline   ,  $     'n'   'r'。

'.'        n        。

'?'               。

'+'               。

'*'               。

'|'            。  '^([a-z]+|[0-9]+)$'                  。

'( )'                 。

'[]'           。

'{m,n}'            ,m=<    <=n,'{m}'    m ,'{m,}'      m 。

num    num,   num       。          。

 
   : 
[[:alpha:]]     。

[[:digit:]]     。

[[:alnum:]]        。

[[:space:]]      。

[[:upper:]]       。

[[:lower:]]       。

[[:punct:]]       。

[[:xdigit:]]   16     ,   [0-9a-fA-F]。

           
1.    

2. (), (?:), (?=), []        

3. *, +, ?, {n}, {n,}, {n,m}    

4. ^, $, anymetacharacter      

5. | “ ”  

 
 、REGEXP_LIKE

/* Formatted on 2009/11/11 19:03 (Formatter Plus v4.8.8) */

SELECT *

  FROM scott.emp

 WHERE REGEXP_LIKE (ename, '^a{1,3}');

SELECT *

  FROM scott.emp

 WHERE REGEXP_LIKE (ename, 'a{1,2}');

SELECT *

  FROM scott.emp

 WHERE REGEXP_LIKE (ename, '^a.*e$');

SELECT *

  FROM scott.emp

 WHERE REGEXP_LIKE (ename, '^[[:lower:]]|[[:digit:]]');

SELECT *

  FROM scott.emp

 WHERE REGEXP_LIKE (ename, '^[[:lower:]]');

SELECT sal

  FROM scott.emp

 WHERE REGEXP_LIKE (sal, '[^[:digit:]]');

SELECT sal

  FROM scott.emp

 WHERE REGEXP_LIKE (sal, '^[^[:digit:]]');


 、REGEXP_INSTR

/* Formatted on 2009/11/11 19:03 (Formatter Plus v4.8.8) */

SELECT REGEXP_INSTR (ename, '[[:digit:]]$')

  FROM scott.emp;

SELECT REGEXP_INSTR (mc, '[[:digit:]]+$')

  FROM scott.emp;

SELECT REGEXP_INSTR ('The price is $400.', '$[[:digit:]]+')

  FROM DUAL;

SELECT REGEXP_INSTR ('onetwothree', '[^[[:lower:]]]')

  FROM DUAL;

SELECT REGEXP_INSTR (',,,,,', '[^,]*')

  FROM DUAL;

SELECT REGEXP_INSTR (',,,,,', '[^,]')

  FROM DUAL;


 、REGEXP_SUBSTR

/* Formatted on 2009/11/11 19:04 (Formatter Plus v4.8.8) */

SELECT REGEXP_SUBSTR (ename, '[a-z]+')

  FROM scott.emp;

SELECT REGEXP_SUBSTR (sal, '[0-9]+')

  FROM scott.emp;

SELECT REGEXP_SUBSTR ('aababcde', '^a.*b')

  FROM DUAL;


 、REGEXP_REPLACE

/* Formatted on 2009/11/11 19:06 (Formatter Plus v4.8.8) */

SELECT REGEXP_REPLACE ('Joe Smith', '(){2,}', ',') AS rx_replace

  FROM DUAL;

SELECT REGEXP_REPLACE ('aa bb cc', '(.*) (.*) (.*)', '3, 2, 1')

  FROM DUAL;

  
4.Unix基本コマンド
ps--     
grep--             
mailx--      mail 
cat--           
cut--       
awk--       
df--          

 
1.            : 
$ ps -ef| grep smon 

2.             : 
$ ps -ef grep listener grep -v grep 
(grep      -i  , grep -i listener,            ,      listener    ,         ) 
$ ps -ef|grep -i listener 

3.   Oracle              
$ df -k | grep /data 

4.   alter.log      : 
$ cat alert_PPRD10.log | wc -l 

$ more alert_PPRD10.log | wc -l 

5.   alert.log      Oracle    : 
$ grep ORA-* alert.log 

6. CRONTAB   
  crontab          : 
   0-59 
   0-23 
       1-31 
   1 - 12 
    0 - 6, with 0 = Sunday 

7. Unix    Shell   
     crontab  ,  : Crontab -e 
     crontab  ,  : Crontab -l 
0 4 * * 5 /dba/admin/analyze_table.ksh 
30 3 * * 3,6 /dba/admin/hotbackup.ksh /dev/null 2>&1 
       ,                   5 4:00am  。                         3:00a.m.  。