[Oracle] sqlplus 명령어 정리

prana·2024년 9월 26일
0

ORACLE

목록 보기
10/96
post-thumbnail

SQL*Plus

숫자 풀기

  SELECT 123123123123123112 FROM dual;
  SET LINE 500
  /
  확인했을 땐 1E7+ (숫자가 아닌 과학적 숫자로 표기됨)
  SET NUM 38
  /
  숫자가 풀려서 보인다.
  • help set

SET TIME ON, SET TIMING ON

  • 💚set time on : SQL*Plus 세션에 현재 시간을 표시

    • SQL 프롬프트에 명령을 입력할 때마다 현재 시간이 표시된다.
  • /: PL/SQL 블록 실행

  • SQL*Plus에서는 PL/SQL 블록이 입력될 때, 해당 블록은 세미콜론(;)으로 끝나지 않고 단일 슬래시(/)로 끝내야 실행된다. /으로 실행을 트리거 한다고 보면 된다.
    • SQL명령: 세미콜론(;)으로 즉시 실행
  • 💎set timing on: SQL문 또는 PL/SQL 블록을 실행하는 데 걸리는 시간을 표시

  SQL> SET TIME ON
💚15:30:21 SQL> SET TIMING ON
15:30:25 SQL> SELECT * FROM employees WHERE department_id = 10;

EMPLOYEE_ID FIRST_NAME  LAST_NAME  EMAIL       PHONE_NUMBER  HIRE_DATE   JOB_ID     SALARY
----------- ------------ ---------- ---------- ------------ ---------- ---------- ---------
178         Kim         Smith      KSMITH      515.123.4567  21-JUN-01   SA_REP     6000

💎Elapsed: 00:00:00.02

help set

  • SET 명령에서 나오는 옵션들.. 이것저것 많이 알고 있어야 해요.

  • SET ECHO {ON|OFF}: SQL 스크립트의 명령을 실행하면서, 화면에 표시할지 여부를 설정

  • SET FEEDBACK {ON|OFF}: 영향 받은 행의 수를 표시 on/off

  • SET LINESIZE n: 한 페이지에 표시될 수 있는 최대 행 수를 지정

  • SET PAGESIZE n: 한 페이지에 표시될 수 있는 최대 행 수를 지정

  • SET SQLPROMPT 'text' : 프롬프트를 사용자가 원하는 텍스트로 변경

    • ex: SET SQLPROMPT 'BSJ> '
  BSJ> SELECT * FROM employees WHERE employee_id = 100;
  • SET SERVEROUTPUT {ON|OFF}: PL/SQL 블록에서 DBMS_OUTPUT.PUT_LINE과 같은 명령을 통해 생성된 출력이 표시될지 여부를 설정한다.
  SET SERVEROUTPUT ON;
  BEGIN 
  	DBMS_OUTPUT.PUT_LINE('Hello, SQL*Plus!');
  END;
  /
  
  ##출력문으로########################################
  Hello, SQL*Plus!
  PL/SQL procedure successfully completed.

실행계획 보기

  • SET AUTOT ON EXP: SET AUTOTRACE ON EXPLAIN; SQL문 실행 후 실행 계획만 표시한다. 결과는 나타나지 않는다.

  • SET AUTOTRACE ON: SQL문 실행 결과와 함께 실행 계획 및 통계 정보가 표시된다.

  • SET AUTOTRACE TRACEONLY: SQL문 실행 결과는 숨기고 실행 계획 및 통계 정보만 표시

history

  • history
  • hist 8 run <- history가 보여지는 것들 중 8번째 쿼리를 실행

csv 형식으로 출력하기

SELECT * FROM V$INSTANCE;
SELECT MARKUP CSV ON QUOTE OFF
/
엔터
  • SELECT MARKUP CSV ON
    : SQL*Plus에서 결과를 csv(Comma-Separated Values) 형식으로 출력하도록 설정한다.

  • QUOTE OFF
    : 출력 값에 대해 따옴표를 사용하지 않도록 설정한다.

날짜 출력하기

ALTER SESSION SET NLS_DATE_FORMAT='YYYY/MM/DD HH24:MI:SS';

SELECT SYSDATE FROM DUAL;

# 결과

SYSDATE
-------------------
2024/09/26 15:45:30

현재 시스템에서 실행중인 프로세스 찾기

ps -ef | grep tns
  • ps -ef: 현재 시스템에서 실행 중인 모든 프로세스를 상세하게 출력한다.
    • -e : 모든 프로세스를 출력한다.
    • -f: 자세한 형식으로 출력한다.

리스너 상태 확인

lsnrctl status ORADVLT_LISTENER

### 결과
############################################################################
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 26-SEP-2024 10:30:00

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=myhost)(PORT=1521)))
STATUS <of the LISTENER
------------------------
Alias                     ORADVLT_LISTENER
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date                26-SEP-2024 10:00:00
Uptime                    0 days 0 hr. 30 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/19c/dbhome_1/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/myhost/ORADVLT_LISTENER/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=myhost)(PORT=1521)))
Services Summary...
Service "ORCL" has 1 instance(s).
  Instance "ORCL", status READY, has 1 handler(s) for this service...
The command completed successfully

  • Oracle Listener Control (lsnrctl) 유틸리티를 사용하여 ORADVLT_LISTENER라는 이름의 리스너의 현재 상태를 확인하는 데 사용
  • Oracle 데이터베이스에서 클라이언트와 서버 간의 통신을 관리하는
    TNS Listener의 상태를 확인하는 방법

오라클 리스너 파일 실시간으로 확인

tail -f listener.log
  • tail -f listener.log 명령은 Oracle Listener 로그 파일의 마지막 부분을 실시간으로 모니터링하는 데 사용

ls -ltrF

  • ls : 현재 디렉터리의 파일과 디렉터리 목록을 표시하는 기본 명령
  • -l : 긴 형식으로 상세정보를 표시한다. 파일 권한, 소유자, 그룹, 파일 크기, 수정 날짜 및 파일 이름 등이 포함된다.
  • -t: 파일을 수정 시간 순서로 정렬한다. 수정된 파일이 가장 마지막에 나타난다.
  • -r: 역순(reverse order) 로 정렬한다. 즉, 오래된 파일이 먼저 나오고, 최근 파일이 마지막에 표시된다.
  • -F: 파일 디렉터리 유형을 식별하기 위해, 파일 이름에 식별문자를 추가한다.
    • /: 디렉터리
    • *: 실행 파일
    • @: 심볼릭 링크
    • |: 파이프
    • =:: 소켓

0개의 댓글