DB(2) 오라클 에러 몇가지
1년만에 통계청 프로젝트 보다가, 똑같은 에러가 몇가지 발생해서
여기다 기록하려는 목적의 포스팅!
일단 샘플 유저 만들기
CREATE USER TEST IDENTIFIED BY "TEST";
에러1. (ORA-01950) - no privileges on tablespace ‘USERS’
또다시 이 에러를 보니 반가웠다.
Oracle DB 내에서 테이블을 생성하거나 INSERT 하려고 할때 이러한 에러를 종종 만나는 경우가 있다.
나또한 오랜만에 내 오라클에 테스트 테이블을 만드려 할때 이러한 에러가 발생하였다.
일단 이 에러는 데이터를 기록하고 하는 테이블 스페이스에 대한 권안이 없어서 발생하는 에러이다.
따라서 해결 방법은 간단히 권한을 부여해 주면 끝!
grant unlimited tablespace to TEST;
TEST 유저에게 모든 테이블 스페이스에 대한 __무제한 사용권한__을 주고자 할 때 이와 같이 설정하면 된다.
에러2. (ORA-12505) && (ORA-12514)
-
ORA-12505 에러는 접속하려는 SID가 맞지 않는 경우 발생하는 에러이다.
-
ORA_12514 에러는 접속하려는 SERVICE NAME이 맞지 않는 경우 발생하는 에러이다.
보통 이경우 말그대로 SID 또는 Service name을 잘못 입력 하였을때 발생하는데, 간간히 conf에 따라 Listener 상태가 이상할때도 이러한 문제가 발생한다.
일단 SID 와 Service name이 뭔지부터 알아보자
SID vs SERVICE NAME
SID = DB 하나의 인스턴스
Service Name = 여러개의 인스턴스를 모아 하나의 서버 혹은 시스템을 구성한것
자세한 내용은 옆 서비스네임과 SID 링크 확인
해결책
서비스 네임 확인
SELECT name FROM v$database;
SID 확인
SELECT instance FROM v$thread;
로 확인하여 값을 잘 넣어주면 된다.