내맘대로긍정이 알려주는
Oracle 23ai 신기능
무료 세미나 발표자료
OS 환경 : Oracle Linux 8.4 (64bit)
DB 환경 : Oracle Database 19.3.0.0
에러 : Creating new log segment
alert log 에 Creating new log segment 라는 메세지와 함께 패치 정보가 출력되는 현상
보통 startup 할때 패치 정보가 alert log 에 표시됨
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
$ vi /ORA19/app/oracle/diag/rdbms/oracle19/oracle19/trace/alert_oracle19.log
2024-09-19T16:11:42.886852+09:00
ARC1 (PID:888605): Archived Log entry 579 added for T-1.S-9 ID 0xc83d143c LAD:1
2024-09-19T16:18:11.428655+09:00
Control autobackup written to DISK device
handle '/ORA19/app/oracle/product/19.0.0/db_1/dbs/c-3209222764-20240909-09'
2024-09-19T17:33:30.031385+09:00
Creating new log segment:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0.
ORACLE_HOME: /ORA19/app/oracle/product/19.0.0/db_1
System name: Linux
Node name: ora19
Release: 4.18.0-553.5.1.el8_10.x86_64
Version: #1 SMP Wed Jun 5 15:18:13 PDT 2024
Machine: x86_64
Using parameter settings in client-side pfile
System parameters with non-default values:
processes = 1000
allow_group_access_to_sga= TRUE
large_pool_size = 32M
java_pool_size = 32M
pga_aggregate_limit = 3G
nls_language = "AMERICAN"
nls_territory = "AMERICA"
disk_asynch_io = FALSE
sga_target = 2G
control_files = "/ORA19/app/oracle/oradata/ORACLE19/control01.ctl"
control_files = "/ORA19/app/oracle/oradata/ORACLE19/control02.ctl"
db_block_size = 8192
compatible = "19.0.0"
log_archive_dest_1 = "location=/ORA19/app/oracle/arch"
log_archive_format = "oracle19_%t_%s_%r.arc"
undo_tablespace = "UNDOTBS2"
_undotbs_regular_tables = FALSE
remote_login_passwordfile= "EXCLUSIVE"
dispatchers = "(PROTOCOL=TCP) (SERVICE=oracle19XDB)"
local_listener = "LISTENER_ORACLE19"
_kks_parse_error_warning = 0
_query_execution_cache_max_size= 16384
audit_file_dest = "/ORA19/app/oracle/admin/oracle19/adump"
audit_trail = "DB"
db_name = "oracle19"
open_cursors = 300
pga_aggregate_target = 1232M
optimizer_dynamic_sampling= 0
deferred_segment_creation= TRUE
diagnostic_dest = "/ORA19/app/oracle"
===========================================================
Dumping current patch information
===========================================================
Patch Id: 29517242
Patch Description: Database Release Update : 19.3.0.0.190416 (29517242)
Patch Apply Time: 2019-04-18T16:21:17+09:00
Bugs Fixed: 14735102,19697993,20313356,21965541,25806201,25883179,25986062,
26476244,26611353,26872233,27369515,27423500,27666312,27710072,27846298,
27957203,28064977,28072567,28129791,28181021,28210681,28279456,28313275,
28350595,28371123,28379065,28431445,28463226,28489419,28502773,28513333,
28534475,28561704,28569897,28572533,28572544,28587723,28593682,28594086,
28597221,28601957,28605066,28606598,28625862,28627033,28636532,28643718,
28644549,28645570,28646200,28646939,28649388,28655209,28663782,28673945,
28692275,28694872,28696373,28705231,28710385,28710734,28714461,28718469,
..
|
해결 방법 : 히든 파라미터 설정 또는 무시
12c 부터 alert log xml 파일이 10mb 가 되면 기존 파일을 log_1.xml 이렇게 번호를 붙여 백업하고 log.xml 파일을 새로 씀
이때 alert log 에 Creating new log segment 메세지와 함께 파라미터 파일 정보와 패치 정보가 표시됨
관련 히든 파라미터를 false 로 변경하여 이 메세지가 남지 않게 할 수 있음, 또는 그냥 무시할 수도 있음
버그로 인해 alert log 가 불필요하게 많이 쌓이는 경우 이 메세지가 자주 발생할수 있는데 이때는 파라미터를 false 로 변경하는것이 좋음
히든 파라미터 조회
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
SQL>
set lines 200 pages 1000
col name for a30
col default_value for a15
col desc for a70
select
a.ksppinm "name",
b.ksppstdfl "default_value",
a.ksppdesc "desc"
from x$ksppi a, x$ksppcv b
where 1=1
and a.indx=b.indx
AND SUBSTR(a.KSPPINM, 1, 1) = '_'
and a.ksppinm like '%log_segment%'
order by 1;
name default_value desc
------------------------------ --------------- ----------------------------------------------------------------------
_log_segment_dump_parameter TRUE Dump KSP on Log Segmentation
_log_segment_dump_patch TRUE Dump Patchinfo on Log Segmentation
|
파라미터 false 로 변경
1
2
3
|
SQL>
alter system set "_log_segment_dump_parameter"= false;
alter system set "_log_segment_dump_patch"= false;
|
원인 : 12c 이상의 버전에서 alert log xml 파일 백업후 예상된 동작
12c 부터 alert log xml 파일이 10mb 가 되면 기존 파일을 log_n.xml 이렇게 번호를 붙여 백업하고 log.xml 파일을 새로 씀
이때 alert log 에 Creating new log segment 메세지와 함께 파라미터 파일 정보와 패치 정보가 표시됨
1
2
3
4
|
$ ls -lh /ORA19/app/oracle/diag/rdbms/oracle19/oracle19/alert
total 11M
-rw-r----- 1 oracle oinstall 11M Sep 19 17:43 log_1.xml
-rw-r----- 1 oracle oinstall 245K Sep 19 17:43 log.xml
|
참고로 리스너 로그는 아래 게시글처럼 xml 파일이 생기는 크기도 조정 가능함
오라클 19c 리스너 로그 자동백업 파라미터 ( https://positivemh.tistory.com/794 )
하지만 본문에서 설명하고 있는 alert log xml 파일 크기 10mb 제한의 경우 변경이 불가능 했음(19c 및 이전버전)
다행히도 21c 부터는 _alert_segment_size 파라미터로 사이즈 변경도 가능함
23ai 버전에서 이 파라미터를 확인해본 결과 기본값이 50mb로 설정되어 있음을 확인함
참조 :
2377750.1