프린트 하기

내맘대로긍정이 알려주는

Oracle 23ai 신기능
무료 세미나 발표자료

다운로드 trending_flat

OS환경 : Oracle Linux 7.6 (64bit)

 

DB 환경 : Oracle Database 19.6.0.0

 

에러 : ORA-00304: requested INSTANCE_NUMBER is busy

rac환경에서 2번 노드 db 기동중 발생하는 에러메세지

1
2
3
4
5
6
7
8
9
10
11
$ sqlplus / as sysdba
 
SQL*Plus: Release 19.0.0.0.0 - Production on Tue Sep 28 02:09:21 2021
Version 19.6.0.0.0
 
Copyright (c) 19822019, Oracle.  All rights reserved.
 
Connected to an idle instance.
 
SQL> startup
ORA-00304: requested INSTANCE_NUMBER is busy

 

 

해결 방법 : .bash_profile의 ORACLE_SID값 정상적인 값으로 변경

2번 노드 oracle유저 .bash_profile 파일 확인

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
$ cat .bash_profile 
# .bash_profile
 
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi
 
# User specific environment and startup programs
 
PATH=$PATH:$HOME/.local/bin:$HOME/bin
 
export PATH
export TMP=/tmp;
export TMPDIR=$TMP;
export ORACLE_BASE=/ORA19/app/oracle;
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/db_1;
export ORACLE_SID=ORADB1;
export GRID_HOME=/ORA19/app/grid/19.3.0;
export GRID_SID=+ASM1;
export PATH=$ORACLE_HOME/bin:$GRID_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
export DISPLAY=192.168.137.1:0.0;
 
alias grid='export ORACLE_HOME=$GRID_HOME; export ORACLE_SID=$GRID_SID; export PATH=$ORACLE_HOME/bin:$GRID_HOME/bin:$PATH; echo $ORACLE_SID; echo $ORACLE_HOME'
alias db='. ~oracle/.bash_profile;export PATH=$ORACLE_HOME/bin:$GRID_HOME/bin:$PATH; echo $ORACLE_SID;echo $ORACLE_HOME'
alias oh='cd $ORACLE_HOME;pwd'
alias ss='sqlplus / as sysdba'

2번 노드인데 ORACLE_SID를 ORADB1(1번 노드의 SID)로 설정되어있음

 

 

해당 값 변경 후 저장

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
$ vi .bash_profile 
# .bash_profile
 
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi
 
# User specific environment and startup programs
 
PATH=$PATH:$HOME/.local/bin:$HOME/bin
 
export PATH
export TMP=/tmp;
export TMPDIR=$TMP;
export ORACLE_BASE=/ORA19/app/oracle;
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/db_1;
export ORACLE_SID=ORADB2;
export GRID_HOME=/ORA19/app/grid/19.3.0;
export GRID_SID=+ASM2;
export PATH=$ORACLE_HOME/bin:$GRID_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
export DISPLAY=192.168.137.1:0.0;
 
alias grid='export ORACLE_HOME=$GRID_HOME; export ORACLE_SID=$GRID_SID; export PATH=$ORACLE_HOME/bin:$GRID_HOME/bin:$PATH; echo $ORACLE_SID; echo $ORACLE_HOME'
alias db='. ~oracle/.bash_profile;export PATH=$ORACLE_HOME/bin:$GRID_HOME/bin:$PATH; echo $ORACLE_SID;echo $ORACLE_HOME'
alias oh='cd $ORACLE_HOME;pwd'
alias ss='sqlplus / as sysdba'
 
$ . ./.bash_profile 

ORACLE_SID이 ORADB2(2번 노드의 SID)로 변경됨

 

 

db 기동

1
2
3
4
5
6
7
8
9
10
SQL> startup
ORACLE instance started.
 
Total System Global Area 2137886720 bytes
Fixed Size            2254952 bytes
Variable Size         1543505816 bytes
Database Buffers      587202560 bytes
Redo Buffers            4923392 bytes
Database mounted.
Database opened.

정상적으로 기동됨

 

 

원인 : .bash_profile의 잘못된 ORACLE_SID값

.bash_profile의 잘못된 ORACLE_SID값으로 발생한 문제

 

 

참조 : https://ittutorial.org/ora-00304-requested-instance_number-is-busy-due-to-db_unique_name-parameter-and-startup-oracle-instance-ora-304/