
맥 환경이라 oracle을 docker에 띄어둔 상황 docker os는 linux다.

리스너를 구성하고 돌렸더니 첫번째로 뜬 에러
start 하면 TNS-01192가 뜬다.
알고보니 정적리스너 만들려고 SID태그?에 SID_DESCRIPTION 지정했는데,
태그를 SID_LIST_LISTENER 태그로 감싸주지 않아서, 정적 리스너 설정값으로 인식이 안된 상황.
SID_LIST_LISTENER 로 감싸주고 나서
(여기서 마지막 단어인 LISTENER는 listener.ora 파일 내부에 정적리스너로 지정할 listener 이름이 와야함)
TNS-01192는 해결 완

두번째로 뜬 에러는
TNS-01201 : listener cannot find executable /.../... for SID '...'
찾아보니 oracle_home 경로가 안맞을 경우 뜬다고 해서
env | grep ORACLE_HOME 으로 홈경로 찾아준 다음에
SID_DESCRIPTON 밑에 다시 붙여넣기 해줬다.

세번째는 에러는 아닌데
listener.ora 수정하고 리스너 재시작 하면 띄우려는 listener 'SAMPLEDB' 상태가 자꾸
Instance status UNKNOWN임.
('ORCL', status는 READY 상태로 표시되는 건 해당 리스너가 동적 리스너라는 뜻.
KNOWN 표시가 정적 리스너라는 뜻)
알고보니
정적리스너로 연결해주려는 tnsnames.ora파일에 데이터 베이스 인스턴스 지정을 잘못해줬다.
ORCL=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL)
)
)
여기서 SERVICE_NAME에 DB 인스턴스
select name from v$database; 했을 때 조회 되는 sid 를 적어줘야 하는데 잘못적어서 서비스 UNKNOWN이 떳던 것.
'DB > Oracle' 카테고리의 다른 글
ORACLE 인스턴스 기동 시 ORA-16032 에러 해결 방법 (0) | 2024.04.23 |
---|---|
ORACLE data pump (expdp, impdp) 에러 해결 zip (0) | 2024.04.21 |