DB(SQL)

[SQL] 사용자 생성/권한부여/삭제

_주야 2017. 2. 28. 21:57

 

 

 

1. user 생성

SQL> create user java identified by hello;
사용자가 생성되었습니다.

 

SQL> exit
Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production에서 분리되었습니다.

C:\Documents and Settings\MyHome>sqlplus
SQL*Plus: Release 10.2.0.1.0 - Production on 목 7월 23 16:18:47 2009
Copyright (c) 1982, 2005, Oracle.  All rights reserved.

사용자명 입력:oracle

암호 입력:
ERROR:
ORA-01045: user JAVA lacks CREATE SESSION privilege; logon denied


 

2. user 권한 부여
사용자명 입력: /as sysdba

다음에 접속됨:
Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production

기본적으로 resource, connect 권한 부여... 권한부여 안하면 oracle로 접속이 안되고 위와 같은 에러 발생!

SQL> grant resource,connect  to oracle;

권한이 부여되었습니다.

 

SQL> exit
Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production에서 분리되었습니다.

C:\Documents and Settings\MyHome>sqlplus
SQL*Plus: Release 10.2.0.1.0 - Production on 목 7월 23 16:22:53 2009
Copyright (c) 1982, 2005, Oracle.  All rights reserved.

사용자명 입력: oracle
암호 입력:

다음에 접속됨:
Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production

SQL> select * from tab;
선택된 레코드가 없습니다. 

 

 

3. user 삭제

SQL> drop user oracle;

사용자가 삭제되었습니다.

 

 

[설명 보충]
- DDL-객체를 만들고 지우고 수정.

- XE는 맨 처음에 sys, system, scott만 생성됨.
  10g 부터 scott은 자동 생성 안되서 안되서 만들어 줘야함.
  C:\oraclexe\app\oracle\product\10.2.0\server\RDBMS\ADMIN에 보면 scott.sql 이라는 스트립트!

- 유동ip -> 고정ip로 바꿨어 그러면 테이블 깨지거나 잘못되었을 때 괜찮고, 네트워크 충돌 없음
  C:\oraclexe\app\oracle\product\10.2.0\server\NETWORK\ADMIN에서 listener.ora와tnsnames.ora
  의 HOST를 고정IP로 바꿔주면 설정 끝!

  

#. scott 생성
SQL> set linesize 120
SQL> select * from tab;

TNAME                                                                                     TABTYPE        

------------------------------------------------------------

DEPT                                                                                         TABLE
BIN$d6GFAAC1Tqi1SWgF9M/hfw==$0                                              TABLE
BIN$ZIDxUB64S2Kk7faPuHX0Ag==$0                                                TABLE
BIN$Y6IRqjyUQgWN17xbspavcQ==$0                                               TABLE
EMP                                                                                           TABLE
BONUS                                                                                       TABLE
SALGRADE                                                                                   TABLE

7 개의 행이 선택되었습니다.

 

SQL> conn /as sysdba
연결되었습니다.
SQL> drop user scott cascade;

사용자가 삭제되었습니다.

 

SQL> @C:\oraclexe\app\oracle\product\10.2.0\server\RDBMS\ADMIN\scott.sql
SQL> show user
USER은 "SCOTT"입니다
SQL> set linesize 120
SQL> select * from tab;

TNAME                                                        TABTYPE        

------------------------------------------------------------

DEPT                                                             TABLE
EMP                                                               TABLE
BONUS                                                          TABLE
SALGRADE                                                  TABLE

 #. 데이터베이스 모든 user 조회

SQL> select username from all_users;

USERNAME
------------------------------------------------------------
SCOTT
DVD
FLOWS_020100
FLOWS_FILES
HR
MDSYS
ANONYMOUS
XDB
CTXSYS
DBSNMP
TSMSYS

DIP
OUTLN
SYSTEM
SYS

15 개의 행이 선택되었습니다.

 

 

 

'DB(SQL)' 카테고리의 다른 글

[SQL] SQL 연습1  (0) 2017.02.28
[SQL] 권한 관리  (0) 2017.02.28
[SQL] 데이터 입력/수정/삭제  (0) 2017.02.28
[MySQL] password 초기화  (0) 2013.07.08
[MySQL] MySQL 접속  (0) 2013.07.08