새로 생성한 db 에 계정을 할당 하려 합니다. 0 10 5,650

by 후레쉬 [Oracle 기초] [2015.02.12 15:56:02]


안녕하세요.


ORACLE 11G 사용 중이고요, 계정을 하나 생성 했습니다. (EX:USER1)
생성한 계정(USER1)에 오라클 설치시 기본으로 만들어진 ORCL 에는 접속이 잘 됩니다.
그리고, DB를 하나 생성 했습니다. (EX:NEWDB)
그런후, NEWDB 에 USER1 으로 로그인 하려니,
"ORA-01017:사용자명/비밀번호가 부적합, 로그온할 수 없습니다." 라는 메세지가 뜹니다.
아마, NEWDB 에 USER1 계정을 할당 안해서 그런것 같은데, 어떻게 해야하죠?


답변 부탁 드립니다.

 

by 임상준 [2015.02.12 16:21:16]

할당의 개념이 아니라 db 가 달라지면 계정도 새로 만드셔야 합니다...


by 후레쉬 [2015.02.12 16:23:01]

임상준님 답변 감사드립니다.


by 후레쉬 [2015.02.12 16:30:57]

추가질문 하나만요.

계정생성시 아래와 같이 하는데,,,

create user 유저명 identified by 비밀번호;
grant connect, resource, dba to 유저명;

그 어디에도 DB 지정은 없거든요.

근데, DB 생성후 위와 같이 하니깐, 계정 으로 접속이 되요?

무슨 이유죠?


by 임상준 [2015.02.12 18:20:43]

다른 DB 쓰시다 오셨나봐요?

oracle 에서 계정은 DB 에 귀속된 개념이기때문에 따로 DB 를 명시하는 구문이 필요 없습니다.

이미 create 명령어를 수행 한 시점에 특정 db 에 접속 되어 있는 상태이기 때문에 그 db 내부의 계정으로 만들어 지는거구요,


by 후레쉬 [2015.02.13 08:57:18]

답변 감사드립니다.
네, mssql 주로 사용했고요,오라클은 클라이언트만 사용했었습니다.
추가 질문좀요. 제가 이해를 못하고 있네요;;
계정을 생성하기 위해 cmd 창에서 아래 절차를 밟는데요..
아래 절차에서도 오라클에 접속하는데, 어느 db를 지정하고 접속하는건 아니잖아요?
근데, 어떻게 기존 OCRL 말고, 새로 생성한 DB 에 계정이 생기는지 궁금합니다.

sqlplus "/as sysdba"
create user 유저명 identified by 비밀번호;
grant connect, resource, dba to 유저명;


by 쿼리back [2015.02.13 09:39:33]

sqlplus /as sysdba 은 일반적으로 오라클이 설치된 서버에서 실행되는 명령어 인데요... 해당 명령으로 DB 접속을 하면,현재 서비스 되고 있는 DB의 관리자로 접속이 되는거죠...그런후에, create user 유저명 identified by 비밀번호; 로 계정을 생성을 하면, 위에서 접속된 DB에 계정이 생성된다고 보시면, 됩니다.....( 이내용은 임상준 님이 설명을 잘 해 놓으신거 같은데.... )


by 후레쉬 [2015.02.13 10:05:35]

답변 감사합니다.

DB는 최초 오라클 설치시 OCRL 이 있고, 제가 추가로 생성한 DB1 이라고 있을때, 둘다 서비스 되고 있는것 아닌가요?

쿼리백님 글에, 현재 서비스되고 있는 DB 의 관리자에 접속한다 하셔서..

OCRL 도 DB1 도 모두 서비스 되고 있는게 아닌가 싶어서요.

그럼 둘중 어딘가로 붙어야 하는걸 지정해야 하는게 아닌가 생각이 되서요.

죄송합니다. 이해가 좀 딸리고 있네요 ^^;;


by 임상준 [2015.02.13 10:16:58]

유닉스 경우 OS 의 ORACLE_SID 라는 환경변수를 읽어서 어떤 DB 에 붙을지가 결정됩니다..윈도우도 그랬었었나.. 기억이 가물가물하네요 아마 그랬던 것 같기도 하고;;


by 후레쉬 [2015.02.13 10:54:52]

임상준님 또 답변을 달아주셨네요 ^^
감사합니다.
저는 윈도우 환경이구요.
그럼 최초 DB가 OCRL 이였는데, 새로운 DB1 을 생성하면서, OS 의 ORACLE_SID 의 값이 OCRL 에서 DB1 으로 변경 되었다.
뭐 이렇게 이해하면 되나요?
그럼 OCRL 에 계정을 추가 하려면, OS 의 ORACLE_SID 를 현재의 DB1에서 OCRL로 변경해 줘야 겠군요.


by GoodPle [2015.02.20 22:43:22]

윈도우라면
set ORACLE_SID=ORCL
혹은 DB1으로 변경해서 사용하시면 됩니다.

그리고 DB 인스턴스(서비스)가 구동중인지 확인해보실려면
윈도우>제어판>관리도구>서비스 들어가셔서
ORACLEService"SID"의 상태를 확인해보시면 되요.

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입