프린트 하기

OS환경 : Oracle Linux 7.6 (64bit)

 

DB 환경 : Oracle Database 19.3.0.0

 

방법 : 오라클 19c sqlplus spool 파일명에 날짜 넣는 방법

sqlplus에서 출력된 sql 및 결과를 로깅하는 명령이 spool임

이때 파일명은 spool a.log 와 같이 spool 뒤에 오는 이름(a.log)으로 되는데

여기에 현재날짜나 특정날짜를 넣고싶은 경우를 위해 게시글을 작성함

 

 

현재 날짜를 오라클에서 포맷팅한 뒤 &today에 할당

1
2
3
4
5
6
7
SQL>
col today NEW_VALUE today_date
select to_char(sysdate, 'yyyymmdd') as today from dual;
 
TODAY
--------
20240126

 

 

spool 시 &today 사용

1
2
3
4
5
6
7
8
9
10
SQL> spool spool_&today_date..log
 
쿼리 입력
SQL> select 2 from dual;
 
         2
----------
         2
 
SQL> spool off

 

 

파일 확인

1
2
$ ls -al spool_20240126.log
-rw-r--r-- 1 oracle oinstall 285  1월 26 14:36 spool_20240126.log

 

 

참고로 spool 시 &변수 사용 후 .(점)을 한번넣으면 .이 사라지고 .lst 확장자로 저장됨

1
2
3
4
5
6
7
8
9
10
11
12
13
SQL> spool spool2_&today_date.log
 
쿼리 입력
SQL> select 3 from dual;
 
         3
----------
         3
 
SQL> spool off
 
SQL> !ls -al spool2*
-rw-r--r-- 1 oracle oinstall 612  1월 26 14:44 spool2_20240126log.lst

 

 

참조 :