Dev/DBMS
oracle 유용한 쿼리
newtype
2006. 7. 7. 11:38
- Join UPDATE
UPDATE AA A SET A.TARGET = ( SELECT B.TARGET FROM BB B WHERE A.PK = B.PK ) WHERE EXISTS ( SELECT 1 FROM BB B WHERE A.PK = B.PK );
set timing on; set timing off;
set autot on exp 사용자 쿼리 set autot off rollback;
select count(*) from v$session;
select status, sid from v$session;
select USERNAME, count(1) from v$session group by USERNAME;
select * from v$nls_parameters WHERE PARAMETER='NLS_CHARACTERSET'
select * from V$SQL_SHARED_MEMORY
(CPU, DISK 사용량이 증가하므로, 야간에 작업할 것)
ALTER SYSTEM FLUSH SHARED_POOL;
SELECT a.cnt, a.user_name, b.sql_text, a.hash_value FROM ( SELECT COUNT (*) cnt, user_name, hash_value FROM v$open_cursor GROUP BY user_name, hash_value) a, v$sqlarea b WHERE a.hash_value = b.hash_value AND ROWNUM <= 100 ORDER BY cnt DESC;
SELECT A.TABLE_NAME table_name , A.CONSTRAINT_NAME key_name , B.TABLE_NAME referencing_table , B.CONSTRAINT_NAME foreign_key_name , B.STATUS fk_status FROM USER_CONSTRAINTS A , USER_CONSTRAINTS B WHERE A.CONSTRAINT_NAME = B.R_CONSTRAINT_NAME AND B.CONSTRAINT_TYPE = 'R' AND A.OWNER = '대문자 계정명' AND ( A.TABLE_NAME = '대문자 테이블명' OR B.TABLE_NAME = '대문자 테이블명' ) ORDER BY 1, 2, 3, 4;
$ sqlplus "/as sysdba"
$ lsnrctl stop $ sqlplus "/as sysdba"
SHUTDOWN [NORMAL | TRANSACTIONAL | IMMEDIATE | ABORT ]
NORMAL : 현재 사용자가 연결을 끊을때까지 대기 default 옵션
TRANSACTIONAL : 접속된 사용자들이 새롭게 트랜잭션을 시작할 수 없습니다. 사용자의 트랜잭션이 끝나면 연결이 종료되면 모든 트랙잭션이 종료되면 데이터베이스가 즉시 종료 됩니다.
IMMEDIATE : 현재 진행중인 SQL문이 완료되지 않으며 현재 사용자의 연결을 즉시 끝으며, 모든 트랜잭션을 롤백합니다.
ABORT : 강제 종료라고 할수 있으며 다음번 데이터베이스 시작시 인스턴스 복구가 필요합니다.
$ sqlplus "/as sysdba"
STARTUP [NORMAL | NOMOUNT | MOUNT] exit
$ lsnrctl start
$ lsnrctl stop $ sqlplus "/as sysdba"
ALTER SYSTEM SET LOCAL_LISTENER = "(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1522))"; ALTER SYSTEM REGISTER; exit
$ lsnrctl start
http://hobak.emailkorea.net/hobak/
http://www.lsbu.ac.uk/oracle/oracle7/api/doc/PC_22/
http://www.lsbu.ac.uk/oracle/oracle9i/appdev.920/a97269/toc.htm
shared_pool 메모리 사용량
Sql 바인딩
하드파싱 쿼리 잡는 방법
$sqltext 에 대해서
반응형