2010. 8. 2. 17:52
반응형
대략적인 명령..

-- dba 권한이 있어야함
select * from dba_users

CREATE TABLESPACE TESTS
DATAFILE '/home/oracle/product/10.2.0/oradata/orcl/TESTS.dbf' SIZE 100M;

CREATE USER TESTS IDENTIFIED BY TESTS1234 DEFAULT TABLESPACE TESTS;

GRANT CONNECT, RESOURCE, DBA TO TESTS;
 

상세내용

계정 생성

- 0.system계정으로 로그인 ①테이블스페이스생성 ②계정생성 ③ 권한 부여 ④권한부여 받은 아이디로 접속
새 로운 사용자를 만들려면 사용환경을 SYS로 해야한다

사용자 이름 SYS,System은 데이타베이스 관리자(Admin)와 사용자(User) 생성 가능하다.

<형식>
create user 계정명 identified by 암호
default tablespace tablespace명
temporary tablespace tablespace명;
-암호의 첫자는 영문자로 시작해야한다.
-temporary 일반적으로 임시 기억 공간... 2번째줄의 테이블스페이스명이 날아가는 것을 방지하기 위해서 백업본으로 만들어 놓는다.

①SQL> create tablespace tsDb datafile 'd:\oraDB17\tsDbdf01.dbf' size 2m;
테이블 영역이 생성되었습니다.

②SQL> create user angle identified by angle
  2  default tablespace tsDb;
사용자가 생성되었습니다.

③SQL> grant connect, resource to angle;
권한이 부여되었습니다.

④SQL> conn angle/angle
연결되었습니다.
  SQL> show user
USER은 "ANGLE"입니다

계정 삭제
SQL>drop user angle;
사용자가 삭제되었습니다

 

시스템 환경에서 사용할 수 있는 USER을 보여준다.
SQL> Select * from all_users;
모든 계정에서 다 확인가능하다. 기본 30개

유저 환경의 테이블을 보여준다.
SQL> select * from tab;

제약 조건에 대한 정보
SQL> select * from user_constraints;
NOT NULL 제약 조건,,,알아보자!
반드시 있어야지만 넘어가게 되는 들어가지않으면 다음으로 넘어가지 않게 만든다...

사용자 정보에 대한 정보
SQL> select * from user_users;
USERNAME,DEFAULT_TABLESPACE,TEMPORARY_TABLESPACE
          └테이블 스페이스(논리적)의 존재 유무 확인 가능하다.
SQL> select username, default_tablespace from user_users;  => 유저 이름과 기본 테이블 스페이스의 정보만 보여준다.

 

-테이블스페이스-

오라클은 사용자 마다 데이터베이스상에 서로 다른 영역을 가지게 하기 위해서

테이블 스페이스(Table space) 라는 개념을 사용한다.

데이터베이스 사용자 간에 독립적인 작업이 가능하게 해주기 위해서는

사용자 마다 테이블 스페이스를 마련해주는 것이 좋다.

다른 사용자가 같은 테이블 스페이스를 사용하더라도 스키마의 개념을 적용해 테이블 명 앞에

사용자의 스키마를 적용하여 구분 가능하다.

즉, 같은 스페이스를 갖는 user1, user2가 같이 testTable이라는 테이블을 생성한다면

오라클은 user1.testTable, user2.testTable 의 형태로 테이블 명에 사용자 스키마 접두어를 두어 구분하게 된다.

하지만 실습용으로 일시에 여러 사용자를 생성해야하는 경우가 아니라면은

사용자 마다 테이블 스페이스를 따로 지정해주는 것이 좋다.

 

따라서 오라클에서는 데이터 베이스 사용자를 추가하려면은 그 사용자만의 테이블 스페이스를

추가해주고 그 다음에 사용자 계정을 추가하여 사용 테이블 스페이스를 앞서 생성한 테이블 스페이스로 지정해 주어야 한다.

 

-- 테이블스페이스 삭제
-- 테이블스페이스가 오프라인으로 상태에서 명령을 내리길 권장

DROP TABLESPACE unicorn_temp
INCLUDING CONTENTS CASCADE CONSTRAINTS;

-- DATA TABLESPACE 생성
CREATE TABLESPACE unicorn_data
DATAFILE 'D:\oracle\oradata\unicorn_data.TBL' SIZE 100M
AUTOEXTEND ON NEXT 10M MAXSIZE 500M
DEFAULT STORAGE
      (INITIAL     4K
              NEXT        128K
              MINEXTENTS  1
              PCTINCREASE 0);

-- INDEX TABLESPACE 생성
CREATE TABLESPACE unicorn_index
DATAFILE 'D:\oracle\oradata\unicorn_index.TBL' SIZE 100M
AUTOEXTEND ON NEXT 10M MAXSIZE 500M
DEFAULT STORAGE
      (INITIAL     4K
              NEXT        128K
              MINEXTENTS  1
              PCTINCREASE 0);

-- TEMP TALBESPACE 생성

CREATE TEMPORARY TABLESPACE unicorn_temp
TEMPFILE 'D:\oracle\oradata\unicorn_temp.TBL' SIZE 100M
AUTOEXTEND ON NEXT 10M MAXSIZE 500M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K;


-- 사용자 생성

CREATE USER unicorn IDENTIFIED BY unicorn
DEFAULT TABLESPACE unicorn_data
TEMPORARY TABLESPACE unicorn_temp;

-- 사용자 비밀번호 변경
ALTER USER unicorn IDENTIFIED BY unicorn;

-- 권한 설정
-- 생성한 사용자에게 자신의 schema에서 테이블등을 만들 권한과 자원을 사용할 권한을 준다.
-- GRANT RESOURCE, CONNECT TO MIDAN;
-- DBA 권한을 준다.

GRANT DBA TO unicorn;

-- datafile 추가
ALTER TABLESPACE unicorn_data
ADD DATAFILE 'D:\oracle\oradata\unicorn\unicorn_dat02.dbf' SIZE 2048M;
/*
alter tablespace unicorn_data
  add datafile 'D:\oracle\oradata\unicorn\unicorn_dat02.dbf' size 50M
  autoextend on next 20M maxsize 100M

추후에 datafile에 자동증가만 추가하려면
alter database datafile 'D:\oracle\oradata\unicorn\unicorn_dat02.dbf' autoextend on next 20M maxsize 100M
계속 증가하도록 하려면 100M 대신 unlimited 사용 (32G이상 확장되지 않음)

*/

-- datafile 확인

select * from DBA_DATA_FILES;

-- 등록되어 있는 사용자보기
SELECT * FROM ALL_USERS;


-- 사용자 삭제
-- ※ CASCADE를 사용하게 되면 사용자 이름과 관련된 모든 데이터베이스 스키마가 데이터 사전으로부터
--    삭제되며 모든 스키마 객체들 또한 물리적으로 삭제 됩니다.

DROP USER scott CASCADE;


--IMPORT, EXPORT 권한을 준다.
GRANT EXP_FULL_DATABASE, IMP_FULL_DATABASE TO unicorn;

/*
--시스템 권한 부여
GRANT CREATE USER, ALTER USER, DROP USER TO scott WITH ADMIN OPTION.
--*설명 : scott 사용자에게 사용자를 생성, 수정, 삭제 할 수 있는 권한을 부여하고,
--         scott 사용자도 다른 사용자에게 그 권한을 부여 할 수 있습니다.

--시스템 권한 박탈
REVOKE CREATE USER, ALTER USER, DROP USER FROM scott
--*설명 : scott 사용자에게 부여한 생성, 수정, 삭제 권한을 회수합니다,
*/

--사용자조회
SELECT username, default_tablespace, temporary_tablespace FROM DBA_USERS;
SELECT * FROM ALL_USERS;

-- 테이블스페이스조회
SELECT * FROM DBA_TABLESPACES;

 

 

반응형

'Db > Oracle' 카테고리의 다른 글

like와 escape의 사용 예제  (1) 2011.03.29
toad 한글깨짐 처리  (2) 2011.02.11
oracle mssql function 비교  (1) 2010.04.09
oracle nowait 처리  (1) 2010.04.09
oracle start with, connect by  (3) 2010.04.09
Posted by seongsland