Oracle SQL 강좌
USER의 생성 134 124 99,999+

by 김정식 CREATE USER 사용자 생성 IDENTIFIED BY CONNECT RESOURCE USER 사용자 AS SYSDBA [2002.01.19]


  • - 새로운 USER를 생성하기 위해서는 CREATE USER문을 이용하면 된다.
  • - USER를 생성하기 위해서는 USER생성 권한이 있는 사용자로 접속해야 한다.

USER 생성 문법

USER생성문법

  • - user_name : USER 이름
  • - BY password : USER가 데이터베이스에 의해 인증되도록 지정하며, 데이터베이스 USER 로그인시 사용하는 비밀번호 이다.
  • - EXTERNALLY : USER가 운영 체제에 의해서 인증되도록 지정한다.
  • - DEFAULT TABLESPACE는 USER 스키마를 위한 기본 테이블스페이스를 지정 한다.
  • - TEMPORARY TABLESPACE는 USER의 임시 테이블스페이스를 지정한다.
  • - QUOTA절을 사용하여 USER가 사용할 테이블스페이스의 영역을 할당한다.
  • - PASSWORD EXPIRE : USER가 SQL*PLUS를 사용하여 데이터베이스에 로그인할 때 암호를 재설정 하도록 한다.(USER가 데이터베이스에 의해 인증될 경우에만 적합한 옵션이다.)
  • - ACCOUNT LOCK/UNLOCK : USER 계정을 명시적으로 잠그거나 풀 때 사용할 수 있다.(UNLOCK이 기본값이다.)
  • - PROFILE : 자원 사용을 제어하고 USER에게 사용되는 암호 제어 처리 방식을 지정하는데 사용된다.
  • 여기선 간단한 유저생성에 대해서만 알아보고 자세한 유저관리와 PROFILE 관리는 어드민에서 설명 하겠다.

※ 참고 1

- 임시 테이블스페이스를 지정해 주지 않으면 시스템 테이블스페이스가 기본으로 지정 되지만, 시스템 테이블스페이스에 단편화가 발생할 수 있으므로 USER를 생성할때 임시테이블스페이스를 따로 지정해 주는 것이 좋다.

- 또한 DEFAULT TABLESPACE도 USER를 생성할때 지정해 주지 않으면 기본적으로 시스템 테이블스페이스가 지정이 된다. 하지만 USER를 생성할때 DEFAULT TABLESPACE를 지정을 해서 USER가 소유한 데이터와 객체들의 저장 공간을 별도로 관리를 해야 한다.

- 시스템 테이블스페이스는 본래의 목적(모든 데이터 사전 정보와, 저장 프로시저, 패키지, 데이터베이스 트리거등을 저장)을 위해서만 사용되어져야 하지 일반USER의 데이터 저장용으로 사용 되어서는 안된다.

※ 참고 2, 테이블스페이스란?
  • - 오라클 서버가 테이터를 저장하는 논리적인 구조이다.
  • - 테이블스페이스는 하나 또는 여러개의 데이터파일로 구성되는 논리적인 데이터 저장 구조이다.
  • 테이블스페이스에 대한 자세한 내용는 오라클 어드민의 테이블스페이스 강좌에서 학습하도록 하겠다.

USER 생성 예제

 	
-- SQL PLUS를 실행시키고 SCOTT/TIGER로 접속을 한다.
SQL>CREATE USER TEST IDENTIFIED BY TEST;

1행에 오류:
ORA-01031: 권한이 불충분합니다

-- SCOTT USER는 사용자 생성 권한이 없어서 사용자를 생성할 수 없다.
-- DBA Role이 있는 유저로 접속 
-- sqlplus / as sysdba 로 접속하셔도 됩니다.
SQL>CONN sys/manager AS SYSDBA

 -- USER를 다시 생성.
SQL>CREATE USER TEST IDENTIFIED BY TEST;    
 사용자가 생성되었습니다.	
	

새로 생성한 USER로 접속해 볼까요..
 	
SQL> CONN TEST/TEST

ERROR:
ORA-01045: 사용자 TEST는 CREATE SESSION 권한을 가지고있지 않음;

-- 새로 생성한 TEST USER는 권한이 없어서 접근할 수가 없다.
-- 모든 USER는 권한이 있고 권한에 해당하는 역할만 할 수 있다.
-- TEST라는 USER를 사용하기 위해서도 권한을 부여해 주어야 한다.
SQL> CONN sys/manager AS SYSDBA
연결되었습니다.

SQL> GRANT connect, resource TO TEST ;
권한이 부여되었습니다.

SQL> CONN TEST/TEST
연결되었습니다.
 
※ 권한에 대한 자세한 설명은 권한 설정에서 학습 하겠습니다. 	
    

- 강좌 URL : http://www.gurubee.net/lecture/1005

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

by eeyes [2004.02.29 23:34:00]
좋은 자료 감사합니다

by twoanss [2004.03.30 13:28:39]
유용한 자료 감사드립니다.^^

by 지성 [2004.03.31 11:52:13]
오라클 잘 보고 있습니다.. ^^

by 일심 [2004.05.13 17:23:24]
짱입니다.
항상 좋은 자료 감사합니다.^^

by lufian [2004.05.27 16:22:00]
이런 좋은 곳이 있었네요...^^; 감사히 잘보겠습니다.

by MasterLee [2004.05.31 01:05:14]
열심히 공부하겠습니다. 너무나 감사합니다.^^

by ^^ [2004.06.01 17:41:44]
Thank you~

by rururu0 [2004.06.23 09:45:29]
좋은 정보 감사합니다..

by sw1918 [2004.06.24 09:02:25]
쉽게 설명 되 있어서 좋군요!!! 감사합니다

by 유내 [2004.06.25 17:32:41]
아주아주 유익한 정보에요.. ^^
근데 저 지금 거꾸로 보고 있네요..이거 먼저 봤어야 하는데..데이터 사전까지 보구서... 다시 위로 올라왔슴다..ㅋㅋ 다시 내려가야쥐~~

by 동윤 [2004.06.29 19:54:48]
자료가 참 좋네요.. 예제 까지 곁들여서 이해하기기 쉬운 것 같아요.

by hswook [2004.07.06 15:35:15]
깔끔하게 정리되어 있네요~~ 감사히 잘~ 보겠습니다.

by kwanshouse [2004.08.06 00:04:01]
책보면서 공부하고 있는데여 이걸 보니깐 정리가 확실하게 되네요 ^^

감사합니다~!!

by winer [2004.09.23 16:59:10]
정말 좋아서 글을 남기지 않을 수 없네요~~
정말 좋은 자료 감사합니다..

by yourlim [2004.10.28 15:33:38]
gooooooooooooooooooooooooooooood !!!
ㄳㄳ

by hills [2004.10.29 10:21:20]
오라클 초보 입니다. 운영자님의 강좌가 많이 도움이 되네요

by 김상구 [2004.11.04 06:02:14]
강좌 고맙습니다..근데여...default tablespace, temporary tablespace,를 지정하는 문장도 적어 주셨으면 하는데여..에 또 quota..ㅎㅎㅎ..제가 워낙에 초보라서..이렇게 하려면 table space를 생성해야 하는데..그것도 좀 적어주시면..고맙겠습니다...ㅎㅎㅎ그럼...

by 장환준 [2004.11.12 12:26:54]
감사합니다.
오라클을 처음 접해보는 저로서는 정말 암담했는데,
본 강좌를 보고 자신감이 생겼습니다!!

by 구름따라 [2004.11.25 12:25:21]
자료 만들때 정말 고생 많으셨겠네요....정말 잘 보고 있습니다.

by 일균 [2004.12.01 23:24:43]
위에 그림중에 unlimitied <== 요고 잘못되써여......
unlimited 로 하니까 되더라고여... 쩝..

근데여.. 테이블 스페이스 생성하고...
사용자 생성하면서 quota 절 않쓰고 사용자 생성하면 않되나여??
테이블 생성하는데 자꾸 에러나네여..

create user prgmmer
identified by *****
default tablespace ts_prgmmer;
이렇게 사용자 생성했구여...

create table a(
id number(10));
이렇게 테이블을 생성하니까...

에러나네여.. ㅡㅡ;;

by 오라걸 [2004.12.13 17:08:46]
몇몇 강좌 살째기 훑어봤는데..
정말 좋은내용이고 예제도 좋더군여^^
넘 감사드립니다..열심히 공부할게여 ^^

by 오라맨 [2004.12.27 13:09:49]
좋은 자료 감사합니다. 잘보고 있습니다.

by kkwoo [2005.01.22 07:12:34]
좋은 자료 잘 보고 있습니다. 감사합니다. 열심히 공부할게요

by wise83 [2005.02.21 10:49:09]
좋은 자료 잘 보고 가져갈게요~

by alcure23 [2005.03.21 10:46:50]
좋은정보 감사합니다.^^

공부잘하구 가요~~

by wildkaniza [2005.03.25 22:31:03]
감사합니다 .열심히 해야겠군요

by gamemedical [2005.04.02 16:55:51]
강의 잘봤습니다 ^^*

by 히보기 [2005.04.05 22:43:52]
thank you

by samerf [2005.04.12 12:08:45]
정말 맘에 쏙 드네요..^^
oracle 배우곤 있지만 매우 어렵네요..
모두 화팅! 하세요~

by 스윙걸즈 [2005.04.13 14:48:57]
잘봤어요

by 이희범 [2005.05.24 11:55:49]
좋은자료 감사...책으로 출간하시길..

by todaynow [2005.06.15 15:41:04]
덕분에 공부잘하고 있어요..정말 감사합니다.

by leeoracle [2005.07.01 11:51:13]
감사합니다~

by windowslab [2005.07.30 21:19:56]
첫단추를 잘끼워야겠다... 너무 감사합니다...

by 김찬우 [2005.08.24 11:53:55]
원츄... ~ ^^ 운영자님 사랑해요 ~

by 김선환 [2005.08.30 23:02:25]
질문있습니다. 운영자님....^^;
EXTERNAlly가 운영체제에 의해서 인증되도록 지정을 하신하는 뜻은
windows같은 OS에서 인증이 된다는 뜻인지요?? 아님 ORACLE에서 인증이 된다는 뜻인지요???

by 용가리 [2005.09.14 16:50:52]
정말 잘봤습니다~ 열심히 해야겠네요..~

by 그누세상 [2005.10.15 02:57:51]
잘 보았습니다.^^

by smile [2005.11.09 20:35:14]
퍼갑니다. ^^

by 호타루 [2005.11.30 16:15:23]
열심히하겟습니다

by 수강생 [2005.12.16 13:52:10]
잘 보고 있습니다. 감사감사 합니다.

by 오라매니아 [2006.01.27 10:13:00]
열공!

by 쫄태기 [2006.01.28 07:31:25]
헉.... scott/tiger로 생성이 안된다니.... 그럼 지금 내 소스에도 설정을 바꿔야 한다는 말인가.... 간단하게 해볼라구 그냥 scott/tiger로 했는데.... --;;

by 니김.. [2006.02.10 14:58:14]
이게 쉬어???난 무슨 말하는지 하나도 모르겠구만 ㅡㅡ;;;

by 만만찮아 [2006.06.10 06:39:13]
감사합니다^^

by 박승호 [2006.06.20 15:14:57]
정말 유용한자료들이 많군요..^^
그런데요...프로시저랑 커서..머이런 강의하실 생각은....^^

by kennith60 [2006.07.10 22:37:30]
이제 부터 열심히 다시 시작!!!!!!!!

by 유도현 [2006.07.11 14:48:40]
첨부터 시작이라~ 아직 머가 먼지~ ^^;

by 박근태 [2006.07.21 15:49:15]
참 실합니다.

by 김형주 [2006.10.26 16:19:02]
설명짱!!!

by 김종우 [2006.12.01 09:13:10]
좋은 정보네요.

by 권혁참 [2007.01.22 14:25:19]
좋은정보감사~!

by 오라가즘 [2007.04.25 13:09:05]
유익한 강의네요! 즐겨찾기 추가완료 ^^ㅋ

by 진호연 [2007.08.30 10:52:08]
흥분되요

by 아놔 [2007.09.05 14:40:22]
디비수업 짜증나 완전 책읽어..ㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜ
수업료 아까워

by 김윤경 [2007.10.24 15:35:20]
감사합니다;
유용하게 쓸게요;

by 최슬기 [2007.11.10 19:21:24]
잘보겠습니다^^

by swanbaek [2007.11.25 17:14:48]
오...아는 바로 이름이 위에 있네요^^ ㅋㅋ 저두 잘봅니다. 너무 좋아요.

by 배슬기 [2007.12.13 09:09:05]
여기있는 내용만 다 이해해도 오라클 쫌 하는구나 하는 소리를 듣겠죠? ^__^
열심히 배우겠습니다 ^___^

by 이인용 [2007.12.17 12:29:40]
아놔. 돈주고 배운 오라클 수업보다 여기가 훨났네요...돈아까버 ㅡㅡ;

by 진민욱 [2008.02.02 23:50:01]
정말 감사합니다~!!

by 곽경철 [2008.02.18 18:38:45]
잘보고있습니다 정말 좋은 내용이네요

by 황세원 [2008.03.28 18:46:46]
잘보고 있습니다..감사합니다..^^

by tt1cry [2008.06.09 14:17:04]
아나 아직 모르겟냉 ㅎㅎㅎ;;;
어여공부혀야지

by 촙오 [2008.06.25 10:19:27]
user 생성권한있는게 어떤거죠?

by 싼도르 [2008.07.01 10:28:54]
안습막장싼도르

by 퐁민이 [2008.07.13 17:56:44]
좋은자료 감사합니다...열공하겠습니다.

by dime [2008.08.06 17:26:44]
좋은자료 감사합니다!

by roser [2008.08.10 20:53:37]
좋은 자료 감사합니다.

by 헤픈웃음 [2008.10.01 20:32:58]
감사합니다^^

by kerbong [2008.10.04 20:35:19]
저희학교와서 수업좀 해주시면 안되겟습니까...

잘보구갑니다 ^_^

by 이상훈 [2008.10.07 11:28:18]
externally 인증방법으로 하면 구체적으로 어떻게 되는지 알수있을까요 ?
passwd가 운영체제계정 passwd랑 같아진다는것인지 아니면 운영체제에서 해당계정으로 접속하여 sqlplus접속시 패스워드입력없이 login이 된다는건지...
일단 해본결과로는 둘다 해당사항이 아닌듯한데요....

by 장태길 [2008.10.07 12:56:26]
OS 인증 후 [ telnet 로긴 = OS 인증 ]
sqlplus / 로 디비 접속이
바로 가능해 진다는 것으로
OS 인증을 통해서 디비 접속이 가능해 진다는 것입니다.
아래 참고
OPS$ORACLE 계정 활성화 !!
SQL> create user ops$oracle identified externally ;
User created.
SQL> grant connect , resource to ops$oracle ;
Grant succeeded.
SQL> select grantee, granted_role from dba_role_privs where grantee='OPS$ORACLE'
GRANTEE GRANTED_ROLE
------------------------------ ------------------------------
OPS$ORACLE CONNECT
OPS$ORACLE RESOURCE

최종 확인
> id
uid=301(oracle) gid=301(dba) groups=1(staff)
> sqlplus /

SQL> show user
USER is "OPS$ORACLE"
EXTERNALLY
Specify EXTERNALLY to create an external user and indicate that a user
must be authenticated by an external service (such as an operating system
or a third-party service).
Doing so causes Oracle to rely on the login authentication of
the operating system to ensure that a specific operating system user
has access to a specific database user.

Caution: Oracle strongly recommends that you do not use IDENTIFIED EXTERNALLY
with operating systems that have inherently weak login security.
For more information, see Oracle8i Administrator's Guide.





## dba_job 실행을 위해서 ops$oracle 계정에 dba role 을 부여하자.

SQL> grant dba to ops$oracle ;

Grant succeeded.


## 사전에 Check Point : 아래와 같이 되어 있지 않다면 설정 해준다.


sys@TGDOM>show parameters os_authent_prefix

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
os_authent_prefix string ops$

# init 화일 수정
10G
*.os_authent_prefix='ops$'

by 이상훈 [2008.10.07 15:58:21]
장태길님 감사합니다 해당계정으로 os접속후 sqlplus / <== 요것만으로 접속이 가능한것이군요 ^^ 감사합니다~
근데 계정생성시에 username에 붙는 ops$ <== 이게 os내의 계정이란 뜻이 맞나요 ?

by 장태길 [2008.10.07 16:32:44]
해당계정으로 os접속후 sqlplus / <== 요것만으로 접속이 가능한것이군요 ^^ 감사합니다~
==> 아닙니다. sqlplus ops$oracle/1234 [ 계정은 ops$oracle , 비번 1234 ] 처럼
일반적인 로긴도 가능합니다.
근데 계정생성시에 username에 붙는 ops$ <== 이게 os내의 계정이란 뜻이 맞나요 ?
os_authent_prefix 라는 파라미터를 통해서 제어 하는 것입니다.
디폴트라 ops$ 로 알고 있습니다.
ops$ 가 접두어구 oracle 이 unix 계정이죠
합쳐서 ops$oracle 이 oracle 계정이 되는 거구요.

by 유두 [2008.10.09 12:19:31]
와... 감사합니다. 제 나이 이제 서른..
시작입니다.
늦지 않았겠죠??ㅠㅠ 열심히 따라 해 보겠습니다. ㅋ

by 아미칼 [2008.10.14 09:50:41]
역쉬 처음맘가짐은 좋아....이 맘가짐을 그대로 가져가야되는데 ^^

by 파랑 [2008.11.23 01:05:08]
감사합니다.

by 김현진 [2009.01.29 07:17:28]
처음에 어떻게 할지 몰랐는데 자료가 정리가 잘 되어 있어서 좋네요
좋은 자료 감사합니다 ^ㅡ^!

by 황선용 [2009.06.11 09:57:17]
오늘도 좋은 강좌 잘 보고 있습니다 . ^^
감사합니다 ~ !!!!!!!

by 이승엽 [2009.07.30 17:13:10]
열심히 하겠습니다^^

by etking [2009.08.26 13:14:17]
좋은 정보 감사합니다.

by 닐리리 [2009.08.27 17:08:54]
깔끔한 강좌에 감동 받아 가입합니다.

by 나구니 [2010.02.02 17:23:19]
감동이에요~ㅋ

by 디버그수정 [2010.02.17 11:45:19]
오라클 보니 생소하지만 재밌을것 같아요..

by 파이팅마모루 [2010.08.19 09:00:36]
좋은자료 감사드립니다. 오라클에 대해 완전 쌩기초부터 다시 시작해 봅니다. :)

by 남신 [2010.09.07 00:04:35]
책을 봐야하까요..ㅡㅡ;; 완전 초보라 그런지.. 이자료를 보고 있는게 맞는지도 모르겠어요..ㅠㅠ

by 긋 [2010.09.09 13:55:48]
감사합니다.

by 김창환 [2010.10.08 18:29:56]
잘보고갑니다.

by 흰둥이 [2010.10.21 13:20:48]
나도 열심히 도장 찍어야지!!!!

by 나무 [2010.11.03 13:40:46]
IDENTIFIED BY 옵션추가 : GLOBALLY AS 'external_na'

GLOBALLY 명령은 Oracle Security Server를 통해 롤 검증이 이루어져만 하도록 지정합니다.

이런 옵션이 하나 더있네요^^

by 타락천사 [2010.11.05 18:20:48]
[비번관련]
10g 까지는 비밀번호 대소문자 구별 하지 않구요..
11g 부터는 비밀번호 대소문자 구별합니다.

by 꿈 [2010.12.22 10:34:04]
좋은자료 너무 감사합니다. 많은 도움이 되고 있습니다. 담아갈게요 감사해요

by 이성식 [2011.02.01 13:06:47]
고맙습니다

by dladudals [2011.04.05 11:11:01]
늘 좋은 자료 감사 합니다.

by 한들이 [2011.05.11 17:27:23]
하나하나 읽고 실습하여 밟아 나가도록 하겠습니다.^^
좋은 자료 퍼가며, 꼭 출처를 적어놓도록 하겠습니다.
감사합니다.

by 가마나나 [2011.05.24 17:29:28]
좋네요 여기^^

by 웃는쌀알 [2011.06.16 13:55:02]
정말 쉽게 설명 잘되있네요

by 박진영 [2011.07.07 16:01:45]
좋은 자료 감사합니다~~^^

by 전순열 [2011.07.13 16:12:03]
감사합니다^^

by 송죽 [2011.08.05 17:35:30]
열심히 하려고. 자료 고마워요

by 봉드기 [2011.08.10 18:09:57]
첨엔 좀 헤맸지만 잘 되네요~ 좋은 자료 감사합니다.

by 지석파더 [2011.09.01 16:48:10]
공부 잘 했습니다 감사합니다.

by miiooo [2011.10.04 21:38:43]
감사히 잘보겠습니다

by 오라클 [2012.01.31 12:29:24]
조으네요ㅇㅇ

by LEE [2012.02.12 20:00:21]
좋은 자료 감사합니다

by 돌이맹이 [2012.02.23 16:34:34]
음.. 쉽게 설명 잘 해놓았네요.. 감사

by 잠만자 [2012.03.02 00:13:04]
좋은 자료 감사합니다!

by Daniel [2012.07.16 09:44:07]

감사합니다^^

by 필추 [2012.08.06 10:36:34]

좋은 자료 감사합니다!


by 워너 [2012.08.20 15:50:19]
잘보고 갑니다^^

by zandi [2012.09.04 17:50:01]
두 번째 강의부터 어렵군요 ㅡ.ㅡ;

by 진 [2012.09.19 15:29:55]

잘보고 갑니다~

by 손님 [2012.10.18 15:53:53]
감사합니다.

by 신델렐라 [2012.11.08 10:09:03]
강좌 감사합니다.

by 손님 [2013.01.07 20:15:46]

제가 머리가 나쁜가보네요 ㅎㅎ 몇시간을 보고 간신히 이해 했네요 ㅠ_ㅠ

by 신화씨앤씨 [2013.10.22 21:34:20]

잘 보고 갑니다~^^


by 호야 [2014.03.12 11:02:47]
잘 보고 갑니다~

by 더봉 [2014.03.17 15:40:01]

좋은 정보 감사합니다 ^^

by 성명건 [2014.10.31 16:07:59]

잘 퍼가겠습니다. 감사합니다. ^^


by jessy4295 [2016.01.07 16:23:29]

잘보고 갑니다^^ 좋은자료 감사합니다~


by 박진영 [2016.01.15 17:40:37]

좋은자료 감사합니다.


by ooooooohu [2016.03.04 11:18:47]

좋은 자료 감사합니다. 잘 활용할게요.!


by 충공깽 [2016.10.17 17:42:56]

감사합니다^^ 도움이 되었습니다!

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