11g와 달라서 2시간 동안 빅엿을 먹었기에
계정 생성 시행착오를 여기에 기록한다
상태: 실패 -테스트 실패: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
처음에는 이 에러가 뜰 것이다.
이 에러는 ready 상태가 아닌 SID를 사용했기에 발생하는 오류이다.
ctrl + r + cmd + lsnrctl services 를 한다
여기서 상태:ready인 sid를 이용하면 해결된다.
난 scott을 사용하기로 했다.
이걸 바꿔주면 앞으로 java상의 모든 코드의 sql문은 이 주소로 사용해줘야 한다.
ORA-01017 다음 에러는 이거다.
ctrl + r + cmd + sqlplus를 해준다
사용자명에 system
비밀번호는 설치할 때 입력해준 것을 입력한다.
공백으로 설치했으면 아마 공백일것이다.
(문제가 생겨 재설치를 하면서 알았는데 공백일 경우 설치진행이 안되더라.)
그 다음 계정을 생성하기 위해
CREATE USER aaaa(아이디) IDENTIFIED BY bbbb(비번);
해야된다. 본래 11g에서는 이게 됐다
근데 12c에서는 이게 안된다
12c 부터는
CREATE USER C##aaaa IDENTIFIED BY bbbb;
로 해야 생성이 가능하다.
중요한것은 여기서 C##은 sql 명령어의 일부가 아니다!
즉 C##을 포함한 C##aaaa가 전부 아이디이다.
이 방식이 싫으면 다음 코드를 입력해준다.
alter session set "_ORACLE_SCRIPT"=true;
11g와 같은 이전에 쓰던 방식으로 돌려준다. 즉 c##을 빼도 된다.
그 후는 같다
ALTER USER aaaa(아이디) IDENTIFIED BY BBBB(비번)ACCOUNT UNLOCK;
으로 권한을 부여해 준다.
그 후 되야 정상이지만
또 에러를 만나게 될 것이다.
해결하고 바로 꺼버려서 스샷은 찍지 못했는데
ora-01045: user XXX lacks create session privilege
라는 에러가 뜰 것이다.
세션권한이 없어서 뜨는 에러이다.
grant create session to 아이디;
로 세션 권한을 부여한다.
그후 잘 됬나 확인해보기 위해
CONN 아이디/비번
으로 연결한다.
그 후
show user
로 어느 계정으로 연결되어있는지 확인이 가능할 것이다.
끝
--- 추가내용 ----
grant connect, dba, resource to 아이디;
으로 한번에 모든 권한을 한번에 줄 수 있더라
'그 외 개발관련' 카테고리의 다른 글
intellij 에서 JRebel 추가하기 (0) | 2017.11.22 |
---|---|
eclipse Web project를 intellij로 가져오기 (3) | 2017.11.11 |
IntellJ idea에서 hot swapping 설정하기 (0) | 2017.11.11 |