리스너 관리

  • 관련 설정 파일 위치

    $ORACLE_HOME/network/admin/listener.ora
    $ORACLE_HOME/network/admin/tnsnames.ora
  • listener.ora 샘플

    # listener.ora Network Configuration File: /usr/oracle/app/product/11.2.0/dbhome_1/network/admin/listener.ora
    # Generated by Oracle configuration tools.
    
    LISTENER =
           (DESCRIPTION_LIST =
             (DESCRIPTION =
               (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.10)(PORT = 1521)))
             )
           )
    
    ADR_BASE_LISTENER = /usr/oracle/app
  • tnsnames.ora 샘플

    # tnsnames.ora Network Configuration File: /usr/oracle/app/product/11.2.0/dbhome_1/network/admin/tnsnames.ora
    # Generated by Oracle configuration tools.
    
    TEST_NAME =
     (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.10)(PORT = 1521))
      (CONNECT_DATA =
       (SERVER = DEDICATED)
       (SERVICE_NAME = SID)
      )
     )
  • 리스너 중지/시작/확인

    #- 중지
    lsnrctl stop
    
    #- 시작
    lsnrctl start
    
    #- 확인
    lsnrctl services
    lsnrctl status
    Note
    Oracle 엔진 중단 전에 리스너를 먼저 내리고
    Oracle 엔진 시작 후 리스너를 올리는 것이 좋음

Oracle shutdown/startup 관리

  • shutdown

    # su - oracle
    $ sqlplus '/as sysdba'
    SQL> shutdown;
  • startup

    # su - oracle
    $ sqlplus '/as sysdba'
    SQL> startup;
  • 오류가 있는 경우 강제 셧다운

    # su - oracle
    $ sqlplus '/as sysdba'
    SQL> shutdown abort;
    SQL> startup;
    SQL> shutdown immediate;

Oracle 관리를 위한 쿼리문

  • 테이블 리스트 확인

    #- 현재 계정의 테이블 목록을 보여줌.
    SQL> SELECT * FROM tab;
    
    #- 모든 계정의 테이블 목록을 보여줌.
    SQL> SELECT * FROM all_tables WHERE OWNER = SCOTT;
    SQL> SELECT * FROM user_tables;
  • 현재 사용중인 tablespace 확인 쿼리

    select distinct tablespace_name from dba_segments;
  • 현재의 TableSpace와 Datafile 확인

    select file_name, tablespace_name, bytes from dba_data_files;
  • 전체 DB 용량

    -- Byte
    select sum(bytes) from dba_data_files;
    
    -- GB
    select sum(bytes)/1024/1024/1024 from dba_data_files;
  • 사용한 DB 용량

    -- Byte
    select sum(bytes) from dba_segments;
    
    -- GB
    select sum(bytes)/1024/1024/1024 from dba_segments;
  • 사용 가능한 DB 용량

    -- Byte
    select sum(bytes) from dba_free_space;
    
    -- GB
    select sum(bytes)/1024/1024/1024 from dba_free_space;
  • 테이블스페이스별로 용량 현황 확인

    SELECT A.TABLESPACE_NAME,
                   ROUND(A.BYTES_ALLOC / 1024 / 1024, 2) CURRENT_SIZE,
                   ROUND(NVL(B.BYTES_FREE, 0) / 1024 / 1024, 2) FREE_SIZE,
                   ROUND((A.BYTES_ALLOC - NVL(B.BYTES_FREE, 0)) / 1024 / 1024, 2) USED_SIZE,
                   ROUND((NVL(B.BYTES_FREE, 0) / A.BYTES_ALLOC) * 100,2) FREE_RATE,
                   100 - ROUND((NVL(B.BYTES_FREE, 0) / A.BYTES_ALLOC) * 100,2) USED_RATE,
                   ROUND(MAXBYTES/1048576,2) MAX_SIZE
            FROM   ( SELECT F.TABLESPACE_NAME,
                            SUM(F.BYTES) BYTES_ALLOC,
                            SUM(DECODE(F.AUTOEXTENSIBLE, 'YES',F.MAXBYTES,'NO', F.BYTES)) MAXBYTES
                     FROM DBA_DATA_FILES F
                     GROUP BY TABLESPACE_NAME) A,
                   ( SELECT F.TABLESPACE_NAME,
                            SUM(F.BYTES)  BYTES_FREE
                     FROM DBA_FREE_SPACE F
                     GROUP BY TABLESPACE_NAME) B
            WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME (+)
            UNION
            SELECT TABLESPACE_NAME,
                   ROUND(SUM(BYTES_USED + BYTES_FREE) / 1048576, 2),
                   ROUND(SUM(BYTES_FREE) / 1048576,2),
                   ROUND(SUM(BYTES_USED) / 1048576,2),
                   ROUND((SUM(BYTES_FREE) / SUM(BYTES_USED + BYTES_FREE)) * 100,2) FREE_RATE,
                   100 - ROUND((SUM(BYTES_FREE) / SUM(BYTES_USED + BYTES_FREE)) * 100,2) USED_RATE,
                   ROUND(MAX(BYTES_USED + BYTES_FREE) / 1048576, 2)
            FROM   SYS.V_$TEMP_SPACE_HEADER
            GROUP BY TABLESPACE_NAME
            ORDER BY 1;
  • DBA_FREE_SPACE 테이블스페이스 잔여 공간

    SELECT TABLESPACE_NAME, BYTES, BLOCKS FROM DBA_FREE_SPACE;

'Database' 카테고리의 다른 글

MySQL 용량 확인  (0) 2021.03.23