2020. 1. 16. 15:39 오라클
crs 환경에서 DB Restart 시 Listener 올라오지 않게 하기
APP 가 계속 접속시도를 하는데 막고 싶다던가 여러가지 이유로 DB 재기동시에시 Listener 가 자동으로 같이 올라오지 않게 설정하고 싶을 때가 있다.
START_DEPENDENCIES 를 수정해서 반영을 해 보자.
테스트 환경은 12.1.0.2 환경이였음.
1. 해당 databaes 의 CRS 속성을 확인
crsctl stat res ora.test_icn14t.db -p
2. START_DEPENDENCIES 에 LISTENER 가 들어가 있다.
START_DEPENDENCIES=hard(global:uniform:ora.DATA.dg, global:uniform:ora.RECO.dg) pullup(global:ora.RECO.dg, global:ora.DATA.dg) weak(type:ora.listener.type,uniform:ora.ons)
3. 아래와 같이 LISTENER 를 제외하도록 수정한다.
(root로 수행)
crsctl modify resource ora.test_icn14t.db -attr "START_DEPENDENCIES='hard(global:uniform:ora.DATA.dg, global:uniform:ora.RECO.dg) pullup(global:ora.RECO.dg, global:ora.DATA.dg) weak(type:ora.listener.type,uniform:ora.ons)'" -unsupported
- 만일 명령어 수행시 CRS-4995: The command 'Modify resource' is invalid in crsctl. Use srvctl for this command. 가 나오면 -unsupported 옵션을 붙이도록 한다. (12cR1인 경우)
- 변경시 명령어에 " 으로 감싸주는 것을 확인한다.
4. 리스너를 내리고 DB를 재기동 하여 LISTENER 가 같이 올라오지 않는것을 확인한다.
[oracle@test ~]$ ps -ef |grep tns
root 22 2 0 01:29 ? 00:00:00 [netns]
grid 10807 1 0 01:33 ? 00:00:06 /u01/app/19.0.0.0/grid/bin/tnslsnr ASMNET1LSNR_ASM -no_crs_notify -inherit
oracle 17615 17497 0 06:13 pts/0 00:00:00 grep --color=auto tns
grid 95377 1 0 05:45 ? 00:00:00 /u01/app/19.0.0.0/grid/bin/tnslsnr LISTENER -no_crs_notify -inherit
srvctl stop listener
shutdown immediate
startup
[oracle@test ~]$ ps -ef |grep tns
root 22 2 0 01:29 ? 00:00:00 [netns]
grid 10807 1 0 01:33 ? 00:00:06 /u01/app/19.0.0.0/grid/bin/tnslsnr ASMNET1LSNR_ASM -no_crs_notify -inherit
oracle 19593 17497 0 06:15 pts/0 00:00:00 grep --color=auto tns
5. 원복할 경우
(root로 수행)
crsctl modify resource ora.test_icn14t.db -attr "START_DEPENDENCIES='hard(global:uniform:ora.DATA.dg, global:uniform:ora.RECO.dg) pullup(global:ora.RECO.dg, global:ora.DATA.dg) weak(type:ora.listener.type,uniform:ora.ons)'" -unsupported