관리 메뉴

Today is Present.

Oracle DBMS TIP 모음 본문

신속한 업무를 위한 팁

Oracle DBMS TIP 모음

MorningPhys 2021. 9. 28. 13:26

각 테이블 별로 용량이 어느정도 되는지 알아보는 쿼리
select table_name, num_rows * avg_row_len / 1024 / 1024 mb from user_tables

이렇게 하면 각 테이블 별로 하드 디스크 용량이 얼마나 되는지 확인이 가능하다.

오라클에 돌고 있는 쿼리 시간 및 쿼리 확인하기
  SELECT TO_CHAR (SID) sid, serial# serialNumber,
   SUBSTR (TO_CHAR (last_call_et), 1, 6) executeSeconds, userName, machine,
   b.sql_text sqlText
  FROM v$session a, v$sqltext b
  WHERE username NOT IN ('SYSTEM', 'SYS')
   AND a.TYPE != 'BACKGROUND'
   AND a.status = 'ACTIVE'
   AND a.sql_address = b.address(+)
   AND a.sql_hash_value = b.hash_value(+)
  ORDER BY a.last_call_et DESC,
   a.SID,
   a.serial#,
   b.address,
   b.hash_value,
   b.piece

이 쿼리를 돌리면 현재 오라클에서 돌고 있는 쿼리와 수행 시간을 알 수 있다.
다만 저 쿼리를 돌리는 계정이 $session과 $sqltext 를 확인할 수 있는 권한이 있어야 한다.

Oracle session kill 하기
SID와 SERIAL을 알 경우 간단하게 이렇게 KILL할 수 있다.
 
alter system kill session '123, 23132'; 

뒤에 '123, 23132' 이 부분 중 첫번째 123이 SID이고 23132가 SERIAL이다.

그리고 만약에 KILL을 했는데도 세션이 살아있는 경우는 프로세스를 죽일 수 있다.

프로세스는 다음과 같다.

select   spid  from  v$process
where addr = (select paddr from v$session where sid = '123');

요라면 유닉스의 pid가 나오는데 이걸 kill -9 pid로 죽이면 된다.

count(1)과 count(*)의 차이점
count(1)과 count(*)의 차이점은 뭘까?
결론만 말하자면 아무런 차이가 없다. 심지어 속도 차이도 없다. 

SELECT COUNT(1) FROM EMP;
SELECT COUNT(*) FROM EMP;

오라클 SQL FULL TEXT 확인
SQL>
SQL> SET PAGES 1000
SQL> SET LINES 200

SQL>
set lines 200 pages 1000
col table_name for a30
col owner for a20

account_status 가 OPEN 인 유저들의 모든 테이블별 컬럼 갯수 구하는 쿼리
select owner, table_name, count(column_name)
from dba_tab_cols
where owner in (select username from dba_users where account_status='OPEN')
group by owner, table_name
order by 1

오라클에서 서버정보 확인하기 OS 정보 확인 쿼리
SQL> SELECT PLATFORM_NAME FROM V$DATABASE;
 
PLATFORM_NAME
--------------------------
Linux x86 64-bit

DBMS_UTILITY.PORT_STRING 를 이용한 확인
SQL> SELECT DBMS_UTILITY.PORT_STRING FROM DUAL;
 
PORT_STRING
-------------------------
x86_64/Linux 2.4.xx

아래 명령어는 sqlplus에서만 가능
SQL> host uname -a
Linux prdb2 4.1.12-37.4.1.el6uek.x86_64 #2 SMP Tue May 17 07:23:38 PDT 2016 x86_64 x86_64 x86_64 GNU/Linux

 

출처: https://positivemh.tistory.com/ 등 이곳저곳 서핑 자료입니다.

728x90
반응형