본문 바로가기
Database/오라클 (Oracle)

[Database 강좌] ORACLE #1 – Oracle 사용자(User) 생성(Create) 및 삭제(Drop) 하는 방법

by ★√★ 2021. 2. 16.

 안녕하세요, Davey 입니다. 오늘은 포스팅 할 내용은 Oracle DB 관련된 내용을 포스팅 하려고 합니다. 프로그래밍 공부를 하다보면, DB 공부를 안할래야 안할 수 없게 되는 거 같습니다. 그래서 저도, 공부 및 복습하는 차원에서 하나 하나 포스팅을 올릴려고 합니다. 오늘 제목은, "Oracle 사용자(User) 생성(Create) 및 삭제(Drop) 하는 방법" 입니다. 차근 차근 하나씩 설명 하도록 하겠습니다.

1. 사용자(User) 생성(Create) – Create Users

: SQL 창에서 아래와 같이 명령을 통해서 Oracle User를 생성하실 수 있습니다. Temp User 이름을, “Davey”로 일단 구현하고 진행하도록 하겠습니다.

  [SQL창 명령어] SQL> create user “Davey”

   2 identified by Davey

  3 default tablespace users

  4 temporary tablespace temp

  5 quota unlimited on users;

 

- 위의 명령어를 수행하게 되면, 아래와 같이 User Creation이 되었다라고 문구가 보여집니다.

: User created.

2.  “Davey” User에 Session 생성할 권한과, 테이블 생성할 권한 부여.

: SQL 창에서 아래와 같이 명령을 통해서 생성한 Oracle User에 권한부여 권한 및 테이블 생성할 수 있는 권한을 부여 할 수 있습니다. 

 [SQL창 명령어] SQL> grant create session, create table

  2 to Davey;

 

- 위의 명령어를 수행하게 되면, 아래와 같이 권한 부여가 잘 이뤄졌다라는 문구가 보여집니다.

: Grant succeeded.


 3. 테이블 (Table) 생성 하기

: 1, 2번을 거쳐서 생성한 “Davey” 라는 사용자(User)를 가지고 테이블(Table)을 생성하도록 하겠습니다. SQL 명령어는 아래와 같습니다.

 [SQL창 명령어] SQL> conn Davey/Davey

 

- 위의 명령어를 수행하게 되면, 아래와 같이 문구가 나오고, Connection이 잘 되었다라고 문구가 보여집니다.

Error accessing PRODUCT_USER_PROFILE

Warning:  Product user profile information not loaded!

You may need to run PUPBLD.SQL as SYSTEM

Connected.

 

 [SQL창 명령어] SQL> create table tbs(

  2 Column1 varchar2(30)

  3 Column2 varchar2(30));

 

- 위의 명령어를 수행하게 되면, 아래와 같이 문구가 나오고, Table 생성 완료 문구가 보여집니다.

: Table created.

 

4. 사용자(User) 삭제(Drop) – Drop Users

: 기존에 생성한 사용자(User) 를 삭제 (Drop) 해보도록 하겠습니다. 삭제 (Drop) 관련 SQL 명령어는 아래와 같습니다. Table 생성 여부에 때라서 명령어를 다르게 입력하셔야 합니다.

 

 Case #1 테이블(Table)을 가지고 있는 경우

  [SQL창 명령어] SQL> drop user “Davey” cascade;

 

- 위의 명령어를 수행하게 되면, 아래와 같이 문구가 나오게 됩니다.

: User dropped.

 

 Case #2 테이블(Table)을 가지고 있지 않는 경우

  [SQL창 명령어] SQL> drop user Davey;

 

- 그런데, 만약에 Table을 가지고 있는 User를 위의 명령어로 Drop 했을 때는 아래와 같은 Error Message가 발생하게 됩니다. 즉 Table이 있을 때는, 꼭 cascade의 명령어를 꼭 입력하여, 실행을 시켜야 합니다.

ERROR at line 1:

ORA-01922: CASCADE must be specified to drop 'DAVEY’

 이상입니다. 정말 Database 라는 단어가 멀게만 느껴질 때가 엊그제 같은데, 요즘에는 이런 Query를 날리면서, 실행도 해보고, 실제적으로, DB에서 활용도 하고 있습니다. 하나 하나 모여서 나중에는 더 자신감을 가진 제가 서 있지 않을 까라는 기대감으로 오늘도 열심히 공부를 하고 있습니다. 같이 공부해서, 같이 성장하시죠! 감사합니다. 

 

 제 Posting이 조금이나마 정보 전달에 도움이 되셨길 빌며, 되셨다면, 구독, 댓글, 공감 3종 세트 부탁 드립니다. 감사합니다. 

[저작권이나, 권리를 침해한 사항이 있으면 언제든지 Comment 부탁 드립니다. 검토 후 수정 및 삭제 조치 하도록 하겠습니다. 그리고, 기재되는 내용은 개인적으로 습득한 내용이므로, 혹 오류가 발생할 수 있을 가능성이 있으므로, 기재된 내용은 참조용으로만 봐주시길 바랍니다. 게시물에, 오류가 있을때도, Comment 달아 주시면, 검증 결과를 통해, 수정하도록 하겠습니다.]

728x90

댓글


// 내부링크를 현재창으로 열기 // Open internal links in same tab