SSISO Community

시소당

oracle(오라클) process수 늘리기

ORA-00020 : 최대 프로세스 수(%s)를 초과했습니다.

 

위와 같은 오라클 에러 메시지가 발생하면 프로세스 현황을 파악한다.

 

SQL> select osuser, count(saddr) from v$session group by osuser;

 

 

현황을 파악하여 특정 프로세스에 문제가 없을 시 processes 파라미터 값을 확인해서 이 값을 늘려주어야한다. 이 파라미터는 background 프로세스의 수까지 포함한다. 

 

1. oracle의 현재 설정된 processes 를 확인한다.

 

SQL> show parameter processes

NAME                                 TYPE                  VALUE
--------------------------------------------------------

aq_tm_processes                      integer             1
db_writer_processes                  integer             1
job_queue_processes                integer             10
log_archive_max_processes       integer             2
processes                                integer             150

 

2. alter system set 명령으로 spfile 을 수정합니다.

주의) 이 명령으로 동적으로 DB에 반영되지는 않습니다. DB를 다시 오픈 시켰을때 반영됩니다.

 

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

System altered.

 

3. spfile 에서 process수가 200 으로 바뀌었는지 확인합니다.

참조) 굳이 확인할 필요는 없으며 spfile은 binary 파일이므로 vi로 편집이 불가능 합니다.

 

[oracle@angka dbs]$ pwd
/oracle/app/oracle/product/9.2.0/dbs
[oracle@angka dbs]$ more spfileORA92.ora


.....

.....
*.job_queue_processes=10
*.large_pool_size=16777216
*.open_cursors=300
*.pga_aggregate_target=33554432
*.processes=200
*.query_rewrite_enabled='TRUE'
*.remote_login_passwordfile='EXCLUSIVE'
*.shared_pool_size=83886080
*.sort_area_size=1048576
.....

.....

 

4. DB를 shutdown 시킵니다.

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

 

5. DB를 다시 올리고 process수가 200으로 바뀐지를 확인합니다.

SQL> startup
ORACLE instance started.

Total System Global Area  219223120 bytes
Fixed Size                   451664 bytes
Variable Size             201326592 bytes
Database Buffers           16777216 bytes
Redo Buffers                 667648 bytes
Database mounted.
Database opened.

 

SQL> show parameter processes

NAME                                 TYPE                  VALUE
--------------------------------------------------------

aq_tm_processes                      integer             1
db_writer_processes                  integer             1
job_queue_processes                integer             10
log_archive_max_processes       integer             2
processes                                integer             200

 

참고) pfile 로 DB를 오픈해서 쓰고 있는 시스템에서는 initORA.ora 파일의 processes를 직접 수정하고 DB를 다시 올리시면 됩니다. initORA.ora 파일의 위치는 %ORACLE_HOME/dbs 입니다.

3573 view

4.0 stars