Oracle442个应用场景-----------角色管理

--------------------------------角色管理------------------------------------

一、角色的概念和特性

1.什么是角色?

角色就是相关权限的命令集合。使用角色的主要目的就是为了简化权限的管理。

2.角色的特性有哪些?

       a.使用grant和revoke赋予和回收系统权限

       b.角色能够赋予给不论什么除自身之外的角色和用户

       c.角色能够由系统和对象权限组成

       d.能够启用和禁用角色

       e.能够指定一个password

       f.角色不被不论什么用户拥有,不在不论什么方案内

       g.角色在数据字典中有各自的描写叙述

二、提前定义角色

提前定义角色是指Oracle所提供的角色,每种角色都用于运行一些特定的管理任务,以下我们介绍经常使用的提前定义角色connect,resource,dba。

1、connect角色

connect角色具有一般应用开发者须要的大部分权限。当建立了一个用户后,多数情况下,仅仅要给用户授予connect和resource角色就够了。

那么connect角色具有下面系统权限:

alter session

create cluster

create database link

create session

create view

create sequence

2、resource角色

resource角色具有应用开发者所须要的其它权限,比方建立存储过程、触发器等。这里须要注意的是resource角色隐含了unlimited tablespace系统权限。

resource角色包括下面系统权限:

create cluster

create indextype

create table

create sequence

create type

create procedure

create trigger

3、dba角色

dba角色具有全部的系统权限。及with admin option选项,默认的dba用户为sys和system他们能够将不论什么系统权限授予其它用户。

可是要注意的是dba角色不具备sysdba和sysoper的特权(启动和关闭数据库)。

Oracle 权限设置

一、权限分类:

系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。

实体权限:某种权限用户对其他用户的表或视图的存取权限。(是针对表或视图而言的)。

二、系统权限管理:

1、系统权限分类:

DBA: 拥有所有特权,是系统最高权限,仅仅有DBA才干够创建数据库结构。

RESOURCE:拥有Resource权限的用户仅仅能够创建实体,不能够创建数据库结构。

CONNECT:拥有Connect权限的用户仅仅能够登录Oracle。不能够创建实体,不能够创建数据库结构。

对于普通用户:授予connect, resource权限。

对于DBA管理用户:授予connect,resource, dba权限。

2、系统权限授权命令:

[系统权限仅仅能由DBA用户授出:sys, system(最開始仅仅能是这两个用户)]

授权命令:SQL> grant connect, resource, dba to username1 [,username2]...;

[普通用户通过授权能够具有与system同样的用户权限。但永远不能达到与sys用户同样的权限。system用户的权限也能够被回收。]

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

应用场景36:在Enterprise Manager中查看用户信息

应用场景37:使用DBA_USERS视图查看用户信息

SELECT USERNAME,PASSWORD,LOCK_DATE,EXPIRY_DATE,PROFILE,ACCOUNT_STATUS,CREATED FROM DBA_USERS;

应用场景38:在Enterprise Manager中创建用户

应用场景39:

创建新用户:

create user hrman identified by haixu default tablespace users temporary tablespace temp;

查询是否存在该用户:(注意。尽管上面创建用户是的username是小写的hrman可是在数据库中存入的username字为:HRMAN)

select username account_status created from dba_users where username='HRMAN';

应用场景40:在Enterprise Manager中改动用户属性

应用场景41:使用ALTER USER 语句改动用户信息

1、改动用户口令:

ALTER USER<USERNAME> IDENTIFIED BY< NEW PASSWORD>

EG:ALTER USER USERMAN IDENTIFIED BY NEWPASSWROD;

2.设置口令过期:

ALTER USER USERMAN PASSWROD EXPIRE;

3.锁定用户:

ALTER USER USERMAN ACCOUNT LOCK;

4.解锁用户

ALTER USER USERMAN ACCOUNT UNLOCK;

应用场景42:在Enterprise Manager管理用户权限

应用场景43:使用SQL语句管理用户权限

1.GRANT<心痛权限> TO <username>

EG:GRANT SYSDBA TO HRMAN;

   GRANT CREATE SESSION TO HRMAN;

   GRANT CREATE TABLE TO HRMAN;

   GRANT CREATE SEQUENCE TO HRMAN;

授予创建用户、改动、删除用户权限

GRANT CREATE USER,ALTER USER,DROP USER, TO HRMAN;

2.授予数据对象权限

GRANT < 数据对象权限>ON<数据对象>TO<username>

EG:GRANT SELECT ON HRMAN USERS TO DEPARTMENT;

   GRANT INSERT ON HRMAN USERS TO DEPARTMENT;

   GRANT UPDATE ON HRMAN USERS TO DEPARTMENT;

   GRANT DELETE ON HRMAN USERS TO DEPARTMENT;

3.撤销用户权限

REVOKE <权限或角色>FROM<username>

eg:REVOKE SYSDBA FROM HRMAN;

应用场景44:为应用分配空间配额

为用户在指定的表空间中能够占用的空间大小。

ALTER USER<username>QUOTA<空间配额的大小>ON<表空间>

eg:ALTER USER HRMAN QUOTA 100M ON USERS;

应用场景45:删除用户

DROP USER HRMAN;

应用场景46:查看用户回话信息

COL USERNAME FORMAT A10

COL USER# FORMAT A10

COL TYPE FORMAT A10

COL LOGON_TIME A20

COL PROCESS FORMAT A10

COL PROGRAM FORMAT A20

SELECT USERNAME,USER#,TYPE,LOGON_TIME,PROCESS,PROGRAM,STATUS FROM V$SESSION;

应用场景47:查看用户权限信息

COL GRANTEE FROMAT A15

COL TABLE_NAME FORMAT A15

COL PRIVIEGE FORMAT A15

COL PRIVILEGE FORMAT A15

SELECT GRANTEE,TABLE_NAME,PRIVILEGE GRANTOR FROM DBA_TAB_PRIVS WHERE ROWNUM<=10;

应用场景48:使用口令文件

ORAPWD FILE = filename PASSWORD = password ENTRIES = max_users force = <y/n>

视图V$PWFILE_USERS中存放了口令文件的信息,

SELECT * FROM V$PWFILE_USERS;

应用场景49:忘记DBA口令的解决方法

以SYSDBA身份连接到SQLPlus:

sqlplus "/as sysdba"

改动sys的用户口令为newpassword:

ALTER USER SYS IDENTIFIED BY NEWPASSWROD;

COMMIT;

最后測试连接:

CONN SYS /AS SYSDBA

输入口令:

newpassword

应用场景50:查看角色的信息

SELECT * FROM DBA_ROLES;CONN

应用场景51:在Enterprise Manager中创建角色

应用场景52:使用CREATE ROLE语句创建角色

CREATE ROLE<角色名>IDENTIFIED BY <验证口令>

eg: CREATE ROLE MYROLE1 IDENTIFIED BY MYROLEPWD;

应用场景53:对角色授权

应用场景54:指定用户的角色

GRANT <ROLE>TO <USERNAME>

EG:GRANT CONNECT TO HRMAN;

使用REVOKE取消用户角色:

REVOKE <ROLES> FROM<USERNAME>

EG:REVOKE CONNECT FROM HRMAN;

应用场景55:改动角色属性

取消角色的口令验证.丢弃角色

ALTER ROLE MYROLE1 NOT IDENTIFIED;

应用场景56:删除角色

DROP ROLE MYROLE1;

应用场景57:查看用户的角色信息

SELECT * FROM DBA_ROLE_PRIVS;

上一篇:awrrpt.sqll生成awr报ORA-06502,ORA-06512


下一篇:Feature Pyramid Networks for Object Detection