본문 바로가기

IT/database

oracle 12C ##계정

반응형

** 오라클에서 유저 및 테이블 생성,삭제 권한부여하기 ( 12c )

 

12c 부터 c##계정이름 으로 지정하도록 바뀜.. 그렇게 하지 않기 위해서

 

sys as sysdba 로 접속후  ( sqlplus sys/sys_password as sysdba )

 

alter session set "_ORACLE_SCRIPT"=true; 설정

 

평소와 같이 유저 성생

create user {user_name} idetified by {password};

 

생성한 유저에 로그인 권한 생성

grant create session to {user_name};

 

일반적인 권한부여

grant connect, resource to {user_name};

 

이렇게만 하면 생성된 유저로 테이블 생성은 되는데 인서트에서 다음같은 오류가 발생함

 

ORA-01950 : 테이블스페이스 'USERS"에 대한 권한이 없습니다.

 

sys 유저로 다음 실행

alter user {user_name} default tablespace users quota unlimited on users;

 

이제 테이블 생성 및 레코드 인서트까지 모두 가능하다.

 



1. 계정의 테이블 스페이스 생성


create tablespace [tablespace_name] 

datafile '/home/oracle/oradata/DANBEE/[file_name].dbf' size 500m;


예)

CREATE TABLESPACE ADMIN DATAFILE 'D:\ORACLE\ORADATA\XE\ADMIN.dbf' SIZE  500M ;



2. 오라클 유저 만들기


CREATE USER [user_name] 

IDENTIFIED BY [password]

DEFAULT TABLESPACE [tablespace_name]

TEMPORARY TABLESPACE TEMP;


예)

CREATE USER nextree IDENTIFIED BY nextree DEFAULT TABLESPACE NEXTREE TEMPORARY TABLESPACE TEMP;



3. 생성한 USER에 권한주기


GRANT connect, resource, dba TO [user_name];


예)

grant connect, dba, resource to 유저명; (모든 권한 주기)


GRANT CREATE SESSION TO 유저명         // 데이터베이스에 접근할 수 있는 권한

GRANT CREATE DATABASE LINK TO 유저명

GRANT CREATE MATERIALIZED VIEW TO 유저명

GRANT CREATE PROCEDURE TO 유저명

GRANT CREATE PUBLIC SYNONYM TO 유저명

GRANT CREATE ROLE TO 유저명

GRANT CREATE SEQUENCE TO 유저명

GRANT CREATE SYNONYM TO 유저명

GRANT CREATE TABLE TO 유저명             // 테이블을 생성할 수 있는 권한

GRANT DROP ANY TABLE TO 유저명         // 테이블을 제거할 수 있는 권한

GRANT CREATE TRIGGER TO 유저명 

GRANT CREATE TYPE TO 유저명 

GRANT CREATE VIEW TO 유저명


GRANT  

 CREATE SESSION

,CREATE TABLE

,CREATE SEQUENCE   

,CREATE VIEW

TO 유저명;


4. 생성한 USER로 ORACLE에 접속하기


sqlplus nextree/nextree[@db_sid]



5. 계정 삭제하기


drop user 사용자계정 cascade;



-- 테이블 스페이스 크기 확장해주는 쿼리문

alter database 

datafile 'D:\oracle\oradata\XE\ADMIN.DBF'  resize 900M;


--테이블 스페이스 정보 보는 쿼리문 

SELECT file_name, tablespace_name, bytes, status FROM  DBA_DATA_FILES;


--테이블 명시적 인덱스 생성

--1번째 방법

CREATE INDEX MSID_IDX1 ON TEST(MSID)

--2번째 방법

create index test1_test on test1(test) 

tablespace users 

storage 

initial 10k 

next     10k 

pctincrease 0) 

pctfree 10


--테이블 정보 보는 쿼리

select * from user_constraints-- where table_name = upper('test1');


--ORA-00054: 자원이 사용중이고, NOWAIT가 지정되어 있습니다 해결 방법 

select a.sid, a.serial# 

from v$session a, v$lock b, dba_objects c 

where a.sid=b.sid and 

b.id1=c.object_id and 

b.type='TM' and 

c.object_name='CAR_INFO';


alter system kill session '12, 27846';


-- CAR_INFO에는 있는 값을 DASH_BOARD에 넣기

INSERT INTO DASH_BOARD(CAR_LICEN_NUM)

SELECT CAR_LICEN_NUM FROM CAR_INFO

MINUS

SELECT CAR_LICEN_NUM FROM DASH_BOARD



SYSTEM 계정 패스워드 변경하기

사용자계정 : /as sysdba


alter user system identified by "암호";

일반 스트링은 관계없지만 특수문자가 있을경우 반드시 "" 따옴표로 감싸준다.

반응형

'IT > database' 카테고리의 다른 글

ALTIBASE odbc.ini 설정  (0) 2016.12.11
오라클 데이터베이스 분석 기초  (0) 2016.11.30