Oacle 사용자 권한,역할 관리 상세 설명

9704 단어 Oacle사용자
Oracle 권한 설정
1.권한 분류:
시스템 권한:시스템 은 사용자 가 데이터 베 이 스 를 사용 할 수 있 는 권한 을 규정 합 니 다.(시스템 권한 은 사용자 에 게).
실체 권한:사용자 가 다른 사용자 의 표 나 보기 에 접근 할 수 있 는 권한 입 니 다.(시계 나 보기 에 대한 것).
2.시스템 권한 관리:
1.시스템 권한 분류:
DBA:모든 특권 을 가지 고 있 으 며 시스템 최고 권한 입 니 다.DBA 만 데이터베이스 구 조 를 만 들 수 있 습 니 다.
RESOURCE:리 소스 권한 을 가 진 사용 자 는 실체 만 만 만 들 수 있 고 데이터베이스 구 조 를 만 들 수 없습니다.
CONNECT:Connect 권한 을 가 진 사용 자 는 Oracle 에 로그 인 할 수 있 고 실 체 를 만 들 수 없 으 며 데이터베이스 구 조 를 만 들 수 없습니다.
일반 사용자 에 게:connect,resource 권한 을 부여 합 니 다.
DBA 관리 사용자:connect,resource,dba 권한 을 부여 합 니 다.
2.시스템 권한 부여 명령:
[시스템 권한 은 DBA 사용자 만 부여 할 수 있 습 니 다:sys,system(처음에는 이 두 사용자 만 가능 합 니 다)]
권한 부여 명령:SQL>grant connect,resource,dba to user name 1[,사용자 이름 2]...;
[일반 사용 자 는 권한 수 여 를 통 해 system 과 같은 사용자 권한 을 가 질 수 있 지만 sys 사용자 와 같은 권한 을 가 질 수 없고 system 사용자 의 권한 도 회수 할 수 있 습 니 다.]
예:

SQL> connect system/manager

SQL> Create user user50 identified by user50;

SQL> grant connect, resource to user50;

사용자 가 어떤 권한 을 가지 고 있 는 지 알 아 보기:

SQL> select * from user_sys_PRivs;  

SQL> select * from user_tab_privs;  

사용자 삭제:SQL>drop user 사용자 이름 캐 스 케 이 드;  //게다가 캐 스 케 이 드 는 사용자 가 만 든 것 과 함께 모두 삭제 합 니 다.
3.시스템 권한 전달:
WITH ADMIN OPTION 옵션 을 추가 하면 받 은 권한 을 전달 할 수 있 습 니 다.

SQL> grant connect, resorce to user50 with admin option;  // 。
4.시스템 권한 회수:시스템 권한 은 DBA 사용자 만 회수 할 수 있 습 니 다.
명령:SQL>연결 해제,user 50 의 리 소스;
설명:
1)WITH ADMIN OPTION 을 사용 하여 사용자 에 게 시스템 권한 을 부여 한다 면 이 사용자 에 게 같은 권한 을 부여 한 모든 사용자 에 게 시스템 권한 을 취소 하 는 것 은 이러한 사용자 의 같은 권한 을 등급 별로 취소 하지 않 습 니 다.
2)시스템 권한 무 급 연결,즉 A 는 B 권한 을 부여 하고 B 는 C 권한 을 부여 하 며 A 가 B 의 권한 을 회수 하면 C 의 권한 은 영향 을 받 지 않 는 다.시스템 권한 은 사용자 간 에 회수 할 수 있 습 니 다.즉,A 는 C 사용자 의 권한 을 직접 회수 할 수 있 습 니 다.
3.실체 권한 관리
1.실체 권한 분류:select,update,insert,alter,index,delete,all  //모든 권한 포함
execute  //저장 프로시저 실행 권한
user01:

SQL> grant select, update, insert on product to user02;

SQL> grant all on product to user02;

user02:

SQL> select * from user01.product;

// user02 user_tables, user01.product , all_tables , 。

 
2.표 의 조작 권한 을 전체 사용자 에 게 부여 합 니 다.

SQL> grant all on product to public;       public , all drop。
[실체 권한 데이터 사전]:

SQL> select owner, table_name from all_tables; //

SQL> select table_name from user_tables;  //

SQL> select grantor, table_schema, table_name, privilege from all_tab_privs; // ( )

SQL> select grantee, owner, table_name, privilege from user_tab_privs;   // ( )

3.DBA 사용 자 는 전체 사용자 의 임의의 기본 테이블 을 조작 할 수 있 습 니 다(권한 이 필요 없 음,삭제 포함).
DBA 사용자:

SQL> Create table stud02.product( id number(10),name varchar2(20));

SQL> drop table stud02.emp;

SQL> create table stud02.employee

as

select * from scott.emp;

4.실체 권한 전달(WITH GRANT OPTION):
user01:

SQL> grant select, update on product to user02 with grant option; // user02 , 。
5.실체 권한 회수:
user 01:

SQL>Revoke select, update on product from user02;  // 。
설명
1)한 사용자 의 대상 권한 을 취소 하면 이 사용자 가 WITH GRANT OPTION 을 사용 하여 권한 을 부여 한 사용자 에 게 도 같은 권한 을 취소 합 니 다.즉,권한 을 취소 할 때 등급 을 연결 하 는 것 입 니 다.
Oracle 사용자 관리
1.사용자 프로필 파일 만 들 기
SQL> create profile student limit  // student 자원 파일 이름
 FAILED_LOGIN_ATTEMPTS  3  //사용자 잠 금 로그 인 실패 횟수 지정
 PASSWORD_LOCK_TIME 5  //사용자 잠 금 일 수 를 지정 합 니 다.
 PASSWORD_LIFE_TIME 30  //사용 가능 한 구령 일수 지정
2.사용자 만 들 기

SQL> Create User username

 Identified by password

 Default Tablespace tablespace

 Temporary Tablespace tablespace

 Profile profile

 Quota integer/unlimited on tablespace;

 
예:

SQL> Create user acc01
identified by acc01   // ,
defaulttablespaceaccount
temporarytablespacetemp
profiledefault
quota50monaccount;
SQL>grantconnect,resourcetoacc01;
[*]사용자 결 성 표 공간,임시 표 공간 조회

SQL>selectusername,default_tablespace,temporary_tablespacefromdba_users;
[*]시스템 자원 파일 이름 조회:

SQL>select*fromdba_profiles;
자원 파일 유사 표 는 만 들 면 데이터베이스 에 저 장 됩 니 다.

SQL>selectusername,profile,default_tablespace,temporary_tablespacefromdba_users;
SQL>createprofilecommonlimit
failed_login_attempts5
idle_time5;
SQL>Alteruseracc01profilecommon;
3.사용자 수정:

SQL>AlterUser

Identified

DefaultTablespacetablespace

TemporaryTablespacetablespace

Profileprofile

Quotainteger/unlimitedontablespace;

1.구령 글자 수정:

SQL>Alteruseracc01identifiedby"12345";
2.사용자 부족 표 공간 수정:

SQL>Alteruseracc01defaulttablespaceusers;
3.사용자 임시 테이블 공간 수정

SQL>Alteruseracc01temporarytablespacetemp_data;
4.사용자 에 게 암 호 를 수정 하도록 강제 합 니 다.

SQL>Alteruseracc01passwordexpire;
5.사용자 잠 금 추가

SQL>Alteruseracc01accountlock;//
SQL>Alteruseracc01accountunlock;//
4.사용자 삭제

SQL>dropuser ;//
SQL>dropuser CASCADE;//
*1.현재 접속 중인 사용 자 는 삭제 할 수 없습니다.
5.사용자 감시:
1.사용자 세 션 정보 조회:

SQL>selectusername,sid,serial#,machinefromv$session;
2.사용자 세 션 정보 삭제:

SQL>Altersystemkillsession'sid,serial#';
3.사용자 SQL 문 구 를 조회 합 니 다.

SQL>selectuser_name,sql_textfromv$open_cursor;
Oracle 역할 관리
역할
배역캐릭터 는 한 그룹의 권한 의 집합 으로 캐릭터 를 한 사용자 에 게 부여 하면 이 사용 자 는 이 캐릭터 의 모든 권한 을 가진다.
2.시스템 미리 정 의 된 역할
미리 정 의 된 역할 은 데이터 베 이 스 를 설치 한 후에 시스템 이 자동 으로 만 드 는 데 자주 사용 되 는 역할 입 니 다.예 정 된 캐릭터 들 을 간단하게 소개 해 드 리 겠 습 니 다.캐릭터 에 포 함 된 권한 은 다음 문장 으로 조회 할 수 있 습 니 다.

sql>select*fromsys_role_privswhererole=' ';
1.CONNECT,RESOURCE,DBA
이러한 미리 정 의 된 캐릭터 들 은 주로 뒤로 호 환 되 기 위해 서 이다.주로 데이터베이스 관리 에 사용 된다.Oacle 은 사용자 가 데이터베이스 관리 와 안전 한 권한 계획 을 설계 하 는 것 을 권장 하 며,이러한 예 정 된 역할 을 간단하게 사용 하지 않도록 합 니 다.앞으로 버 전에 서 이 캐릭터 들 은 미리 정 의 된 캐릭터 가 될 수 없습니다.
2.DELETE_CATALOG_ROLE,EXECUTE_CATALOG_ROLE,SELECT_CATALOG_ROLE
이 역할 들 은 주로 데이터 사전 보기 와 가방 에 접근 하 는 데 사 용 됩 니 다.
3.EXP_FULL_DATABASE,IMP_FULL_DATABASE
이 두 캐릭터 는 데이터 가 져 오기 내 보 내기 도 구 를 사용 하 는 데 사 용 됩 니 다.
4.AQ_USER_ROLE,AQ_ADMINISTRATOR_ROLE
AQ:AdvancedQuery。이 두 캐릭터 는 Oacle 고급 조회 기능 에 사용 된다.
5.SNMPAGENT
Oacleenerprisemanager 와 IntelligentAgent 에 사용 합 니 다.
6.RECOVERY_CATALOG_OWNER
복구 라 이브 러 리 가 있 는 사용 자 를 만 드 는 데 사용 합 니 다.복구 라 이브 러 리 에 대한 정 보 는 Oacle 문서'Oracle 9i User-managed Backupand Recovery Guide'를 참고 하 십시오.
7.HS_ADMIN_ROLE
ADBAusingOracle'sheterogeneousservicesfeatureneedsthisroletoaccessappropriatetablesinthedatadictionary.
3.관리 역할
1.캐릭터 만 들 기

sql>createrolerole1;
2.캐릭터 에 게 권한 부여

sql>grantcreateanytable,createproceduretorole1;
3.캐릭터 부여

sql>grantrole1touser1;
4.캐릭터 에 포 함 된 권한 보기

sql>select*fromrole_sys_privs;
5.구령 이 있 는 캐릭터 를 만 듭 니 다(구령 이 있 는 캐릭터 를 만 들 때 구령 을 제공 해 야 합 니 다)

sql>createrolerole1identifiedbypassword1;
6.캐릭터 수정:구령

sql>alterrolerole1notidentified;

sql>alterrolerole1identifiedbypassword1;

이 필요 한 지 여부 7.현재 사용자 가 적용 할 캐릭터 설정
(주:캐릭터 의 효력 발생 은 어떤 개념 입 니까?사용자 a 에 b1,b2,b3 세 개의 캐릭터 가 있다 고 가정 하면 b1 이 효력 이 발생 하지 않 으 면 b1 에 포 함 된 권한 은 a 에 게 있 지 않 고 캐릭터 만 효력 이 발생 하고 캐릭터 내의 권한 은 사용자 에 게 작용 하 며 최대 효력 이 발생 할 수 있 는 캐릭터 수 는 매개 변수 MAXENABLED_ROLES 설정;사용자 가 로그 인 한 후에 Oacle 은 사용자 에 게 직접 부여 하 는 모든 권한 과 사용자 기본 역할 의 권한 을 사용자 에 게 부여 합 니 다.)

sql>setrolerole1;// role1

sql>setrolerole,role2;// role1,role2

sql>setrolerole1identifiedbypassword1;// role1

sql>setroleall;//

sql>setrolenone;//

sql>setroleallexceptrole1;// role1 。

sql>select*fromSESSION_ROLES;// 。

8.지정 한 사용 자 를 수정 하고 기본 캐릭터 설정

sql>alteruseruser1defaultrolerole1;
sql>alteruseruser1defaultroleallexceptrole1;
9.캐릭터 삭제

sql>droprolerole1;
캐릭터 삭제 후 원래 이 캐릭터 를 사용 하 던 사용 자 는 더 이상 이 캐릭터 를 가지 지 않 고 해당 하 는 권한 도 없습니다.
설명:
1)WITHGRANTOPTION 을 캐릭터 에 게 부여 할 수 없 는 권한
2)WITHADMINOption 을 사용 하여 캐릭터 에 게 시스템 권한 을 부여 할 수 있 으 며,취소 시 직렬 연결 이 아 닙 니 다.

좋은 웹페이지 즐겨찾기