데이터베이스 프로세스 매개변수 증가 실패 [실패 101]

"실패 101 수업"에 오신 것을 환영합니다

프로젝트 42가 시작된 이후로 저는 항상 "섹션"또는 "기사 시리즈"를 갖고 싶었습니다. 여기에서 우리 모두가 저지르는 실수 중 일부를 보여주고 특정 오류와 해결 방법을 언급하는 대신 실수를 피하는 방법에 초점을 맞춥니다. 그것을 해결하거나 "무엇을 하지 않는 방법"을 배울 때

이것이 "번들"의 시작으로 끝날지 아니면 "일회용"으로 끝날지 확실하지 않지만 다음과 같습니다.

시스템이 현재 허용되는 최대값보다 더 많은 프로세스를 생성하려고 했기 때문에 최근에 데이터베이스가 보고하는 문제ORA-20 errors가 발생했습니다.
응용 프로그램 중 하나에서 생성된 세션을 줄인 후 해결 방법은 프로세스 매개 변수를 늘리는 것이었습니다.
프로세스 중에 실제로 첫 번째 인스턴스를 다시 시작하지 못했습니다.
"srvctl 시작"실행 중에 시스템이 "ORA-01078: 시스템 매개변수 처리 실패"를 보고하고 시작할 수 없습니다.

시스템이 안정적이었기 때문에 프로세스 변경이 되돌려졌고 실제로 변경을 실행해야 하는 다른 사람이 매개변수를 변경하고 시스템을 다시 시작하는 것을 불가능하게 만드는 문제를 실제로 발견했습니다.

동료가 팀과 문제 및 해결 방법을 공유하고 향후 문제를 방지하기 위해 집에 있는 내 데이터베이스 중 하나에서 문제를 재현하기로 결정했습니다.

내가 한 것은 내가 언급한 대로 시스템 프로세스 매개변수를 늘리는 것이었습니다.
이 테스트에서는 640에서 12000으로 증가시킵니다.

[oracle@rac1-node1 ~]$ sqlplus / as sysdba

SQL> show parameter processes

NAME                     TYPE    VALUE
------------------------------------ ----------- ------------------------------
[....]
processes                integer     640

SQL> alter system set processes=12000 scope=spfile;

System altered.

SQL> exit


이제 데이터베이스 인스턴스 cdb1221을 다시 시작하면 언급한 것과 동일한 오류가 발생하지만 시스템을 시작할 수 없는 이유에 대한 더 많은 단서는 없습니다.

[oracle@rac1-node1 ~]$ srvctl stop instance -d cdb122 -i cdb1221
[oracle@rac1-node1 ~]$ srvctl start instance -d cdb122 -i cdb1221
PRCR-1013 : Failed to start resource ora.cdb122.db
PRCR-1064 : Failed to start resource ora.cdb122.db on node rac1-node1
CRS-5017: The resource action "ora.cdb122.db start" encountered the following error: 
ORA-01078: failure in processing system parameters
. For details refer to "(:CLSN00107:)" in "/u01/app/grid/diag/crs/rac1-node1/crs/trace/crsd_oraagent_oracle.trc".

CRS-2674: Start of 'ora.cdb122.db' on 'rac1-node1' failed
[oracle@rac1-node1 ~]$ 


언급된 CRS 로그를 확인하면 실제 문제를 볼 수 없으며 시스템이 인스턴스를 시작할 수 없다는 사실만 볼 수 있습니다.

021-02-22 18:31:01.329 : USRTHRD:1293846272: [     INFO] {1:62087:1895} Thread:InstSta
rtThread: InstStartThread::didExceptionOccur excp:0x7f71100a3060
2021-02-22 18:31:01.329 : USRTHRD:1293846272: [     INFO] {1:62087:1895} Thread:InstStartThread: InstStartThread::didExceptionOccur excp:0x7f71100a3060
2021-02-22 18:31:01.329 :CLSDYNAM:1293846272: [ora.cdb122.db]{1:62087:1895} [start] InstAgent::start 380 thread exception:ORA-01078: failure in processing system parameters

2021-02-22 18:31:01.329 :CLSDYNAM:1293846272: [ora.cdb122.db]{1:62087:1895} [start] clsnUtils::error Exception type=2 string=
CRS-5017: The resource action "ora.cdb122.db start" encountered the following error: 
ORA-01078: failure in processing system parameters
. For details refer to "(:CLSN00107:)" in "/u01/app/grid/diag/crs/rac1-node1/crs/trace/crsd_oraagent_oracle.trc".

2021-02-22 18:31:01.330 :    AGFW:1327466240: [     INFO] {1:62087:1895} Agent sending reply for: RESOURCE_START[ora.cdb122.db 1 1] ID 4098:5986
[....]
.0/dbhome_1 oracleSid:cdb1221 instanceType:1 instanceVersion:12.2.0.1.0 
2021-02-22 18:31:01.396 :CLSDYNAM:1293846272: [ora.cdb122.db]{1:62087:1895} [check] clsnInstConnection::makeConnectStr UsrOraEnv ,ORA_SERVER_THREAD_ENABLED=FALSE,ORACLE_BASE=
 m_oracleHome /u01/app/oracle/product/12.2.0/dbhome_1 Crshome /u01/app/19.3.0/grid
2021-02-22 18:31:01.396 :CLSDYNAM:1293846272: [ora.cdb122.db]{1:62087:1895} [check] clsnInstConnection::makeConnectStr = (DESCRIPTION=(ADDRESS=(PROTOCOL=beq)(PROGRAM=/u01/app
/oracle/product/12.2.0/dbhome_1/bin/oracle)(ARGV0=oraclecdb1221)(ENVS='ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1,ORACLE_SID=cdb1221,LD_LIBRARY_PATH=,ORA_SERVER_THRE
AD_ENABLED=FALSE,ORACLE_BASE=')(ARGS='(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))')(CONNECT_DATA=(SID=cdb1221))))
2021-02-22 18:31:01.397 :CLSDYNAM:1293846272: [ora.cdb122.db]{1:62087:1895} [check] InstConnection::connectInt 020 server not attached
2021-02-22 18:31:01.403 : USRTHRD:3552564992: [     INFO] {1:62087:2} Thread:UpgradeCheckThread UpgradeCheckThread running 0
2021-02-22 18:31:01.430 :CLSDYNAM:1293846272: [ora.cdb122.db]{1:62087:1895} [check] ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3701
Additional information: -1151133049
Process ID: 0
Session ID: 0 Serial number: 0


Database alertlog와 관련하여 중지된 이후로 아무 것도 등록하지 않았습니다.

[oracle@rac1-node1 trace]$ tail -f /u01/app/oracle/diag/rdbms/cdb122/cdb1221/trace/alert_cdb1221.log
Archiving is disabled
2021-02-22T18:16:55.285384+00:00
JIT: pid 15083 requesting stop
2021-02-22T18:16:56.674745+00:00
freeing rdom 4
freeing rdom 3
freeing rdom 2
freeing rdom 0
2021-02-22T18:16:58.375228+00:00
Instance shutdown complete (OS id: 15083)


그러나 sqlplus를 사용하여 인스턴스를 시작하려고 하면 무엇이 문제인지 확인할 수 있습니다.

SQL> startup
ORA-00093: pga_aggregate_limit must be between 36000M and 100000G   <<<<<<<<<<<<<<
ORA-01078: failure in processing system parameters
SQL> 


해당 매개변수의 현재 값을 확인하고 아직 실행 중인 다른 인스턴스에서 변경할 수 있습니다.

SQL> show parameter pga

NAME                     TYPE    VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_limit          big integer 3154M
pga_aggregate_target             big integer 1577M

SQL> alter system set pga_aggregate_limit=36000M scope=spfile;

System altered.

SQL> 


시스템을 다시 시작하려고 하면 올바르게 시작하는 방법을 확인할 수 있습니다.

SQL> startup
ORACLE instance started.

Total System Global Area 7365197824 bytes
Fixed Size          8809808 bytes
Variable Size        3170894512 bytes
Database Buffers     4177526784 bytes
Redo Buffers            7966720 bytes
Database mounted.
Database opened.
SQL> 


그렇다면 여기서 pga_aggregate_limit가 문제가 된 이유는 무엇입니까?
답은 pga_aggregate_limit가 PROCESSES 매개변수의 3MB 이상이어야 하기 때문입니다.
프로세스 매개변수가 12000으로 변경되었으므로 12000*3M = 36000M이 필요합니다.

Oracle Documentation pga_aggregate_limit


일부 매개변수는 다른 매개변수에 직접적인 영향을 미치며 이러한 매개변수 관리는 21c 및 향후 버전에서 간소화되었습니다.

여기서 기억해야 할 몇 가지 좋은 교훈은 몇 가지 기본 규칙을 따르는 것입니다.
  • Clusterware가 인스턴스/데이터베이스를 시작하지 못하는 경우 항상 sqlplus에서 시도하십시오
  • .
  • 빠른 변경이 필요한 경우 spfile에서 pfile을 생성하고 이를 사용하여 DB를 다시 시작해야 합니다
  • .
  • 전체 데이터베이스가 이와 같은 영향을 받지 않도록 항상 롤링 모드에서 변경을 시도하십시오
  • .
  • 가능한 경우 빠른 변경을 위해 다른 인스턴스에서 세션을 준비하십시오
  • .

    좋은 웹페이지 즐겨찾기