精华内容
下载资源
问答
  • oracle 用户权限解释

    千次阅读 2016-07-14 15:43:01
    --------------------- ...|权限定义 解释 ...--------------------- ...|一级权限| 为其他...|二级权限oracle内部文件管理级权限 |三级权限| 会话,角色,用

    本文转自:http://www.cnblogs.com/wangyt223/archive/2012/08/31/2665062.html,未作修改。


    ---------------------
    |权限定义 解释
    ---------------------
    |一级权限| 为其他用户授权级权限
    |二级权限| oracle内部文件管理级权限
    |三级权限| 会话,角色,用户级权限
    |四级权限| 表空间级权限
    |五级权限| 数据库操作级权限
    |六级权限| 任意对表操作权限
    |七级权限| 仅操作当前表空间中表的权限
    ---------------------

    |权限级别 权限名称 说明
    |一级权限 GRANT ANY OBJECT PRIVILEGE 授予任意对象权限的权限
    GRANT ANY PRIVILEGE 授予任意系统特权的权限
    GRANT ANY ROLE 授权给角色

    |二级权限 ADMINISTER ANY SQL TUNING SET 管理任何sql调整集
    ADMINISTER DATABASE TRIGGER 管理数据库触发器的权限
    ADMINISTER RESOURCE MANAGER 资源管理
    ADMINISTER SQL TUNING SET 管理sql调整集
    MANAGE ANY FILE GROUP 管理任何文件组
    MANAGE ANY QUEUE 管理任意队列
    MANAGE FILE GROUP 管理文件组
    MANAGE SCHEDULER 管理方案权限
    MANAGE TABLESPACE 管理表空间的权限

    |三级权限 CREATE SESSION 创建会话的权限
    CREATE USER 创建用户
    CREATE ROLE 创建角色
    ALTER SESSION 修改会话的权限
    ALTER SYSTEM 修改数据库服务器设置的权限
    ALTER USER 修改用户
    ALTER ANY ROLE 修改角色的权限
    DROP USER 删除用户的权限
    DROP ANY ROLE 删除任何角色的权限

    |四级权限 UNLIMITED TABLESPACE 对表空间大小不加限制的权限(添加新用户后默认具备的权限,即使新用户属于DBA,除非具体指定其他权限,否则只具备此默认权限)
    CREATE TABLESPACE 创建表空间的权限
    ALTER TABLESPACE 修改表空间的权限
    DROP TABLESPACE 删除任何表空间的权限

    |五级权限 CREATE DATABASE LINK 创建数据库连接的权限
    ALTER DATABASE 修改数据库的权限
    CREATE PUBLIC DATABASE LINK 创建公共的数据库链接
    DROP PUBLIC DATABASE LINK 删除公共的数据库连接
    IMPORT FULL DATABASE 执行数据库导入角色
    EXPORT FULL DATABASE 导出数据库的角色

    |六级权限 COMMENT ANY TABLE 提交任何表的权限
    DELETE ANY TABLE 删除任何表的权限
    INSERT ANY TABLE 往任何表插入记录的权限
    BACKUP ANY TABLE 备份表的权限
    CREATE ANY CLUSTER 创建任意簇的权限
    CREATE ANY CONTEXT 创建任何上下文的权限
    CREATE ANY DIMENSION 修改任何维的权限
    CREATE ANY DIRECTORY 创建字典
    CREATE ANY EVALUATION CONTEXT 创建上下文
    CREATE ANY INDEX 创建索引的权限
    CREATE ANY INDEXTYPE 创建任何索引类型的权限
    CREATE ANY JOB 创建任务
    CREATE ANY LIBRARY 创建任意库的权限
    CREATE ANY MATERIALIZED VIEW 创建任何实体视图
    CREATE ANY OPERATOR 创建操作符
    CREATE ANY OUTLINE 创建任何执行计划
    CREATE ANY PROCEDURE 创建存储过程的权限
    CREATE ANY RULE 创建任何规则
    CREATE ANY RULE SET 创建任何规则集
    CREATE ANY SEQUENCE 创建任意序列的权限
    CREATE ANY SQL PROFILE 创建任何sql配置文件
    CREATE ANY SYNONYM 创建任何同义词的权限
    CREATE ANY TABLE 创建任何表的权限
    CREATE ANY TRIGGER 创建任何触发器的权限
    CREATE ANY TYPE 创建任何类型的权限
    CREATE ANY VIEW 创建视图的权限
    ALTER ANY LIBRARY 修改任何库的权限
    ALTER ANY CLUSTER 修改任意簇的权限
    ALTER ANY DIMENSION 修改任何维的权限
    ALTER ANY EVALUATION CONTEXT 修改任何上下文
    ALTER ANY INDEX 修改索引的权限
    ALTER ANY INDEXTYPE 修改任何索引类型的权限
    ALTER ANY MATERIALIZED VIEW 修改任何实体视图
    ALTER ANY OUTLINE 修改任何固定执行计划
    ALTER ANY PROCEDURE 修改任何存储过程的权限
    ALTER ANY RULE 修改任何规则的权限
    ALTER ANY RULE SET 修改规则集
    ALTER ANY SEQUENCE 修改任何序列的权限
    ALTER ANY SQL PROFILE 修改任何sql配置文件
    ALTER ANY TABLE 修改任何表的权限
    ALTER ANY TRIGGER 修改任何触发器的权限
    ALTER ANY TYPE 修改任何类型的权限
    DROP ANY CLUSTER 删除任意簇的权限
    DROP ANY CONTEXT 删除任何上下问
    DROP ANY DIMENSION 删除任何维的权限
    DROP ANY DIRECTORY 删除字典
    DROP ANY EVALUATION CONTEXT 删除任何上下文
    DROP ANY INDEX 删除任何索引
    DROP ANY INDEXTYPE 删除任何索引类型
    DROP ANY LIBRARY 删除库
    DROP ANY MATERIALIZED VIEW 删除任何实体视图
    DROP ANY OPERATOR 删除任何操作符
    DROP ANY OUTLINE 删除任何固定执行计划
    DROP ANY PROCEDURE 删除任何存储过程的权限
    DROP ANY RULE 删除任何规则的权限
    DROP ANY RULE SET 删除任何规则集
    DROP ANY SEQUENCE 删除任何序列的权限
    DROP ANY SQL PROFILE 删除任何sql配置文件
    DROP ANY SYNONYM 删除任何同义词的权限
    DROP ANY TABLE 删除任何表的权限
    DROP ANY TRIGGER 删除任何触发器的权限
    DROP ANY TYPE 删除任何类型的权限
    DROP ANY VIEW 删除视图的权限
    ENQUEUE ANY QUEUE 向所有队列中加入消息的权限
    EXECUTE ANY CLASS 执行任何类
    EXECUTE ANY EVALUATION CONTEXT 执行任何上下文
    EXECUTE ANY INDEXTYPE 执行任何索引类型的权限
    EXECUTE ANY LIBRARY 执行库
    EXECUTE ANY OPERATOR 执行操作符
    EXECUTE ANY PROCEDURE 执行任何存储过程的权限
    EXECUTE ANY PROGRAM 执行任何程序
    EXECUTE ANY RULE 执行任何规则
    EXECUTE ANY RULE SET 执行任何规则集
    EXECUTE ANY TYPE 执行任何类型的权限
    UPDATE ANY TABLE 更新任何表的权限
    DEQUEUE ANY QUEUE 可以向所有队列使消息出队的权限
    SELECT ANY SEQUENCE 查询任意序列的权限
    SELECT ANY TABLE 查询任何表的权限
    SELECT ANY TRANSACTION 查询任何事务
    FLASHBACK ANY TABLE 闪回任何表
    FORCE ANY TRANSACTION 管理未提交的任意事务的输出权限
    ANALYZE ANY 使用analyze命令分析数据库中任意的表、索引和簇
    AUDIT ANY 为任意的数据库对象设置审计选项
    READ ANY FILE GROUP 读任何文件组
    LOCK ANY TABLE 锁任何表的权限
    MERGE ANY VIEW 合并视图
    DEBUG ANY PROCEDURE 调试任何程序

    |七级权限 CREATE CLUSTER 创建簇的权限
    CREATE DIMENSION 创建维的权限
    CREATE EVALUATION CONTEXT 创建上下文
    CREATE EXTERNAL JOB 创建任何外部任务
    CREATE INDEXTYPE 创建索引类型
    CREATE JOB 创建任务
    CREATE LIBRARY 创建库的权限
    CREATE MATERIALIZED VIEW 创建实体视图
    CREATE OPERATOR 定义一个新的操作符
    CREATE PROCEDURE 创建存储过程的权限
    CREATE PROFILE 创建资源限制简表的权限
    CREATE PUBLIC SYNONYM 创建公共同义词
    CREATE ROLLBACK SEGMENT 创建回滚段
    CREATE RULE 创建规则的权限
    CREATE RULE SET 创建规则集的权限
    CREATE SEQUENCE 创建序列的权限
    CREATE SYNONYM 创建同义词
    CREATE TABLE 创建表权限
    CREATE TRIGGER 创建触发器的权限
    CREATE TYPE 创建类型
    CREATE VIEW 创建视图的权限
    ALTER PROFILE 修改资源限制简表的权限
    ALTER RESOURCE COST 设置资源开销的权限
    ALTER ROLLBACK SEGMENT 修改回滚段权限
    DROP PROFILE 删除资源限制简表的权限
    AUDIT SYSTEM 允许系统操作审计
    DROP PUBLIC SYNONYM 删除任何公共同义词
    DROP ROLLBACK SEGMENT 删除所有的回滚段
    ------------------
    BECOME USER 切换用户状态的权限
    CHANGE NOTIFICATION 更改通知
    DEBUG CONNECT SESSION 调试连接会话
    FORCE TRANSACTION 管理未提交的用户事务的输出权限
    GLOBAL QUERY REWRITE 全局数据仓库索引
    ON COMMIT REFRESH 此类实体化视图在基表的事务commit之后,就会立刻刷新
    QUERY REWRITE 全局数据仓库索引
    RESTRICTED SESSION 受约束的会话
    RESUMABLE 可恢复性
    UNDER ANY TABLE 在任何表下
    UNDER ANY TYPE 在类型下
    UNDER ANY VIEW 在任何表下
    ADVISOR 顾问


    红色的部分还麻烦讲解,不懂,也不知道放到哪一类


    补充:进行数据处理时,创建一个账号sandy,常用权限授权如下:

    -- 常用权限授权
    GRANT create PUBLIC database link TO sandy;
    GRANT alter PUBLIC database link TO sandy;
    GRANT drop PUBLIC database link TO sandy;
    
    grant DELETE ANY TABLE  to sandy;  --  删除任何表的权限
    grant INSERT ANY TABLE  to sandy;  --  往任何表插入记录的权限
    grant BACKUP ANY TABLE  to sandy;  --  备份表的权限
    grant CREATE ANY INDEX  to sandy;  --  创建索引的权限
    grant CREATE ANY INDEXTYPE  to sandy;  --  创建任何索引类型的权限
    grant CREATE ANY PROCEDURE  to sandy;  --  创建存储过程的权限
    grant CREATE ANY SEQUENCE  to sandy;  --  创建任意序列的权限
    grant CREATE ANY TABLE  to sandy;  --  创建任何表的权限
    grant CREATE ANY TYPE  to sandy;  --  创建任何类型的权限
    grant CREATE ANY VIEW  to sandy;  --  创建视图的权限
    grant ALTER ANY INDEX  to sandy;  --  修改索引的权限
    grant ALTER ANY INDEXTYPE  to sandy;  --  修改任何索引类型的权限
    grant ALTER ANY PROCEDURE  to sandy;  --  修改任何存储过程的权限
    grant ALTER ANY SEQUENCE  to sandy;  --  修改任何序列的权限
    grant ALTER ANY TABLE  to sandy;  --  修改任何表的权限
    grant ALTER ANY TRIGGER  to sandy;  --  修改任何触发器的权限
    grant ALTER ANY TYPE  to sandy;  --  修改任何类型的权限
    grant DROP ANY INDEX  to sandy;  --  删除任何索引
    grant DROP ANY PROCEDURE  to sandy;  --  删除任何存储过程的权限
    grant DROP ANY SEQUENCE  to sandy;  --  删除任何序列的权限
    grant DROP ANY TABLE  to sandy;  --  删除任何表的权限
    grant DROP ANY TRIGGER  to sandy;  --  删除任何触发器的权限
    grant DROP ANY TYPE  to sandy;  --  删除任何类型的权限
    grant DROP ANY VIEW  to sandy;  --  删除视图的权限
    grant EXECUTE ANY PROCEDURE  to sandy;  --  执行任何存储过程的权限
    grant EXECUTE ANY PROGRAM  to sandy;  --  执行任何程序
    grant EXECUTE ANY TYPE  to sandy;  --  执行任何类型的权限
    grant UPDATE ANY TABLE  to sandy;  --  更新任何表的权限
    grant SELECT ANY SEQUENCE  to sandy;  --  查询任意序列的权限
    grant SELECT ANY TABLE  to sandy;  --  查询任何表的权限
    grant SELECT ANY TRANSACTION  to sandy;  --  查询任何事务
    grant ANALYZE ANY  to sandy;  --  使用analyze命令分析数据库中任意的表、索引和簇
    grant MERGE ANY VIEW  to sandy;  --  合并视图
    grant DEBUG ANY PROCEDURE  to sandy;  --  调试任何程序
    grant CREATE PROCEDURE  to sandy;  --  创建存储过程的权限
    grant CREATE TABLE  to sandy;  --  创建表权限
    grant CREATE TRIGGER  to sandy;  --  创建触发器的权限
    grant CREATE TYPE  to sandy;  --  创建类型
    grant CREATE VIEW  to sandy;  --  创建视图的权限
    


    展开全文
  • ORACLE权限

    2016-04-29 16:36:13
    0.创建新用户 SQL>create user user identified by password 1. 登录 sqlplus / as dba 2. 赋权限 grant connect to user; grant resource to user; grant dba to user; grant connect,resource,dba......
    0.创建新用户
    
    SQL>create user user identified by password
    1. 登录
    sqlplus / as dba
    2. 赋权限
    grant connect to user;
    grant resource to user;
    grant dba to user;
    grant connect,resource,dba,sysdba to user;
    3. 开发工具
    PLSQL Developer
    4. 解决乱码
    添加环境就量:NLS_LANG
    SIMPLIFIED CHINESE_CHINA.ZHS16GBK
    SIMPLIFIED CHINESE_CHINA.UTF8
    5. 虚表
    dual
    6. 当前日期
    select sysdate from dual;
    7. 日期转换
    select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss') from dual;
    8. ROWID, ROWNUM
    9. 表空间操作
    10. 表分区操作
    12. desc 表名
    13. squence
    14. 常用函数
    nvl(列名, 默认值)
    decode(列名, [原值, 新值]+ <, 默认值>)
    to_char(日期, 格式)
    to_date(字符串, 格式)
    15.用UNION-ALL 替换UNION ( 如果有可能的话)
    16.避免在索引列上使用IS NULL和IS NOT NULL
    17.用WHERE替代ORDER BY:SELECT DEPT_CODE FROM DEPT WHERE DEPT_TYPE > 0
    展开全文
  • Oracle DB 权限与角色

    千次阅读 2013-10-04 12:20:27
    • 授予和撤销权限 • 创建和管理角色 • 创建和管理概要文件: – 实施标准口令安全功能 – 控制用户的资源使用量   1、权限 用户权限有两类: ...Oracle DB 可以控制用户在数据库中能够(或无法
    • 授予和撤销权限
    • 创建和管理角色
     
     
    1、权限
     
    用户权限有两类:
    • 系统:允许用户在数据库中执行特定的操作
    • 对象:允许用户访问和操纵特定的对象
    “权限”是用于执行特定类型的SQL 语句或访问其他用户的对象的一种权限。Oracle DB 可以控制用户在数据库中能够(或无法)执行的操作。
     
    权限可分为以下两种类别:
     
    • 系统权限:每种系统权限都允许用户执行一个特定的数据库操作或一类数据库操作。
    例如,创建表空间的权限就是一种系统权限。系统权限可由管理员授予,或者由被显式授权其管理权限的用户授予。有一百多种不同的系统权限。很多系统权限都包含
    ANY子句。
     
    • 对象权限:用户可以使用对象权限对特定对象(如表、视图、序列、过程、函数或程序包)执行特定的操作。在没有特定权限的情况下,用户只能访问他们自己拥有的对象。对象权限可以由对象的所有者或管理员授予,也可以由被显式授予了权限,可以为其他人员分配对某个对象的权限的人员授予。
     
    2、系统权限
     
     
    要授予系统权限,请单击“Edit User(编辑用户)”页上的“Systems Privileges(系统权限)”选项卡。从可用权限列表中选择适当的权限,然后通过单击“Move(移动)”箭头将其移至“Selected System Privileges(选定的系统权限)”列表中。
     
    使用ANY子句授予权限意味着权限可以跨越方案。例如,如果具有CREATE TABLE权限,则可以创建表,但只能在自己的方案中创建。使用SELECT ANY TABLE权限就可从其他用户拥有的表中进行选择。
     
    SYS用户和具有DBA角色的用户被授予了所有ANY权限;因此,它们可以对任何数据对象执行任何操作。
    可以使用Oracle Database Vault 选件来控制ANY系统权限的作用域。
    如果选中了“Admin Option(管理选项)”复选框,则用户可以管理权限并将系统权限授予给其他用户。
     
    授予系统权限的SQL 语法如下:
    GRANT <system_privilege> TO <grantee clause> [WITH ADMIN OPTION]
    例如:
    grant create session to emi;
    grant create session to emi with admin option;
     
    在授予系统权限之前仔细考虑安全要求。某些系统权限通常只能授予给管理员:
     
    • RESTRICTED SESSION:使用这个权限可以登录,即使数据库是在受限模式下打开时也是如此。
     
    • SYSDBA和SYSOPER:使用这两个权限可以在数据库中执行关闭、启动、恢复及其它管理任务。
    用户使用SYSOPER可执行基本操作任务,但不能查看用户数据。
    这个权限包括以下系统权限:
    - STARTUP和SHUTDOWN
    - CREATE SPFILE
    - ALTER DATABASE OPEN/MOUNT/BACKUP
    - ALTER DATABASE ARCHIVELOG
    - ALTER DATABASE RECOVER(仅限完全恢复。任何形式的不完全恢复,如UNTIL TIME|CHANGE|CANCEL|CONTROLFILE,都需要以SYSDBA身份建立连接。)
    - RESTRICTED SESSION
    除此之外,SYSDBA系统权限还允许执行不完全恢复和删除数据库。用户使用SYSDBA系统权限可以SYS用户身份有效地建立连接。
     
     
    • SYSASM:使用此权限可以启动、关闭和管理ASM 实例。
     
    • DROP ANY对象:用户使用DROP ANY权限可删除其他用户拥有的对象。
     
    • CREATE、MANAGE、DROP和ALTER TABLESPACE:这些权限允许进行表空间管理,包括创建、删除和更改表空间的属性。
     
    • CREATE LIBRARY:Oracle DB 允许开发人员在PL/SQL 内创建和调用外部代码(例如C 库)。此库必须由数据库中的LIBRARY对象指定。CREATE LIBRARY权限允
    许用户创建可从PL/SQL 执行的任意代码库。
     
    • CREATE ANY DIRECTORY:作为一种安全措施,代码所在的操作系统目录必须链接到一个虚拟Oracle 目录对象。使用CREATE ANY DIRECTORY权限时,有可能会调用不安全的代码对象。
     
    用户使用CREATE ANY DIRECTORY权限可以在Oracle 软件所有者能够访问的任何目录中创建目录对象(具有读写访问权限)。这意味着用户可以访问那些目录中的外部过程。用户可以尝试直接读写任何数据库文件,如数据文件、重做日志和审计日志。确保采用了安全策略,以防止此类强大的权限被误用。
     
    • GRANT ANY OBJECT PRIVILEGE:使用此权限可以对其他人拥有的对象授予对象权限。
     
    • ALTER DATABASE和ALTER SYSTEM:这些权限的功能很强,可用于修改数据库和Oracle 实例,例如,重命名数据文件或刷新缓冲区高速缓存。
     
     
    3、对象权限
     
    要向对象授予权限,执行以下操作:
     
    1.选择对象类型。
     
     
    2.选择对象。
     
    3.选择权限。
     
     
    授予对象权限,单击“Edit User(编辑用户)”页上的“Object Privileges(对象权限)”选项卡。选择要将其权限授予给用户的对象的类型,然后单击“Add(添加)”按钮。通过输入<username.object name>或从列表中进行选择来选择对象。
     
    然后,在“Available Privileges(可用权限)”列表中选择适当权限,再单击“Move(移动)”按扭。选择权限之后,单击“OK(确定)”。
    如果允许此用户向其他用户授予相同的访问权限,请在“Edit User(编辑用户)”页中选中“Grant(授权)”复选框。
     
    授予对象权限的SQL 语法如下:
    GRANT <object_privilege> ON <object> TO <grantee clause> [WITH GRANT OPTION]
     
    例如:
    grant execute on dbms_output to jeff;
    grant update on emi.customers to jeff with grant option;
     
    4、撤销系统权限
    使用REVOKE SQL 语句可撤销使用GRANT命令直接授予的系统权限。 具有ADMIN OPTION系统权限的用户可撤销其它任何数据库用户的权限。撤销者与最初授予权限的用户不一定是同一个用户。
    无论是否指定了ADMIN OPTION, 撤销系统权限都不会产生级联影响。
     
    撤销系统权限的SQL 语法如下:
    REVOKE <system_privilege> FROM <grantee clause>
    revoke create table from emi;
     
     
    以上说明了以下情况。
    方案
    1. DBA 将CREATE TABLE系统权限连同ADMIN OPTION授予给Jeff。
    2. Jeff 创建一个表。
    3. Jeff 将CREATE TABLE系统权限授予Emi。
    4. Emi 创建一个表。
    5. DBA 撤销Jeff 的CREATE TABLE系统权限。
    结果
    Jeff 的表仍然存在,但Jeff 无法创建新表。
    Emi 的表仍然存在,而且她仍然具有CREATE TABLE系统权限。
     
     
    5、撤销具有GRANT OPTION的对象权限
     
    撤销与数据操纵语言(DML) 操作相关的系统权限时可能会出现 级联影响。例如,如果将SELECT ANY TABLE权限授予某个用户,并且该用户已经创建了使用表的过程,则必须先重新编译用户的方案中包含的所有过程,然后才能再次使用这些过程。
     
    指定了GRANT OPTION时,撤销对象权限也会产生级联影响用户只能撤销他们所授予的那些权限。例如,Bob 无法撤销Jeff 授予给Emi 的对象权限。
    有被授权者或具有GRANT ANY OBJECT PRIVILEGE 权限的用户才可以撤销对象权限。
     
     
    方案
    1. Jeff 被授予了对EMPLOYEES的SELECT对象权限以及GRANT OPTION。
    2. Jeff 将对EMPLOYEES的SELECT权限授予给Emi。
    3.撤销Jeff 的SELECT权限。这个撤销操作会同时对Emi 产生级联影响。
     
    关于权限的视图如下:
    DBA_SYS_PRIVS
    SESSION_PRIVS
    DBA_TAB_PRIVS
    DBA_COL_PRIVS
     
    6、角色的作用
     
    • 简化权限管理:使用角色可简化权限管理。可以将一组权限授予给某个角色,然后将该角色授予给每个用户,而不是将同一组权限授予给多个用户。
    • 动态进行权限管理:如果修改了与某个角色关联的权限,则所有被授予该角色的用户都会立即自动获得修改后的权限。
    • 有选择地使用权限:通过启用或禁用角色可以暂时打开或关闭权限,这样便可以控制用户在特定情形下的权限。
     
    7、将权限分配给角色以及将角色分配给用户
     
    在大多数系统中,将必要的权限分别授予给每个用户是一项很耗时的工作,而且很容易出错。Oracle 软件通过角色来提供简单且受控的权限管理功能。角色是可授予给用户或其它角色的、由相关权限组成的一些已命名的组。角色的设计目的是为了简化数据库中的权限管理,从而增强数据库的安全性。
     
    角色特性
    • 角色就像用户,可以授予角色权限或撤销角色权限。
    • 角色就像系统权限一样,可以将其授予给用户或其它角色,也可以从用户或其它角色撤销。
    • 角色可以由系统权限和对象权限组成。
    • 可以对授予了某一角色的每个用户启用或禁用该角色。
    • 可能需要口令才能启用角色。
    • 角色不归任何用户拥有,也不属于任何方案。
     
    上中,向HR_CLERK角色授予了对employees表的SELECT和UPDATE权限以及CREATE JOB系统权限。向HR_MGR角色授予了对employees表的DELETE和INSERT权限以及HR_CLERK角色。管理员被授予了HR_MGR角色,现在管理员可以选择、删除、插入和更新employees表。
     
    8、预定义角色
     
     
    运行数据库创建脚本时会为Oracle DB 自动定义若干个角色。CONNECT会自动授予给任何使用Enterprise Manager 创建的用户。出于安全原因,自10.2.0 版Oracle DB 之后,CONNECT角色仅包含CREATE SESSION权限。
    注:请注意,授予RESOURCE角色时包括授予 UNLIMITED TABLESPACE权限。
     
    功能角色
     
    已经创建了一些允许你管理特殊功能(如果已安装了这些功能)的其它角色。例如,
    XDBADMIN包含管理扩展标记语言(XML) 数据库(如果已安装此功能)所需的权限。
    AQ_ADMINISTRATOR_ROLE提供管理高级队列的权限。
    HS_ADMIN_ROLE包括管理异种服务所需的权限。
    在没有Oracle 技术支持协助的情况下,不得改变授予给这些功能性角色的权限,否则可能会无意中禁用所需的功能。
     
    9、创建角色
     
    “角色”是一个由相关权限组成的已命名的组,可授予给用户或其它角色。DBA 通过角色来管理权限。
    要创建角色,请执行以下步骤:
    1.在Enterprise Manager Database Control 中,单击“Server(服务器)”选项卡,然后
    在“Security(安全)”标题下单击“Roles(角色)”。
    2.单击“Create(创建)”按钮。
    3.在“General(一般信息)”选项卡上,输入角色的名称。
    4.根据需要添加系统权限、对象权限和其它角色(可选)。如有必要,以后可编辑角色来修改这些设置。
    5.完成时单击“OK(确定)”。
     
     
    或者使用sql语言,如下:
    无验证:create role test_role;
    口令验证:create role test_role identified by test;
    外部验证create role test_role identified externally;
     
    可以使用alter role语句来改变role的验证方式
    alter role oe_clerk identified by order;
    alter role hr_clerk identified externally;
    alter role hr_manager not identified;
     
    10、保护角色
     
    • 角色可以是非默认角色。SET ROLE vacationdba;
    • 可以通过验证保护角色。(口令,外部,全局)
    • 还可以通过编程保护角色。
    CREATE ROLE secure_application_role
    IDENTIFIED USING <security_procedure_name>;
    create role admin_role identified using hr.employee;
     
    默认情况下通常会启用角色,这意味着如果将角色授予给某个用户,则该用户就可以行使指定给角色的权限。在连接时会为用户分配默认角色。
    此时用户可以:
    • 使角色成为非默认角色。将角色授予给用户后,取消选中“DEFAULT(默认)”复选框。现在,用户必须先显式启用角色,才可以行使角色的权限。
    • 要求对角色进行附加验证。默认情况下角色的验证为“无”,但可以要求对角色进行附加验证,之后才能设置角色。
    • 只有成功地执行了PL/SQL 过程才能创建安全的应用程序角色。通过PL/SQL 过程可以检查某些方面,如用户的网络地址、用户正在运行的程序、当日时间以及正确保护权限组所需的其它元素。
    • 使用Oracle Database Vault 选件可以轻松管理角色。可以简化安全的应用程序角色,并进一步地限制传统角色。
     
    11、将角色分配给用户
     
    可以使用角色来管理数据库权限。可以向角色添加权限,并将该角色授予给用户。用户然后可以启用角色,从而行使角色授予的权限。角色包含授予给该角色的所有权限,以及授予给该角色的其它角色的所有权限。
    默认情况下,Enterprise Manager 会自动将CONNECT角色授予给新用户。这样,用户可连接到数据库,然后在自己的方案中创建数据库对象。
    要将角色分配给用户,请执行以下操作:
    1.在Enterprise Manager Database Control 中,单击“Server(服务器)”选项卡,然后
    在“Security(安全)”标题下单击“Users(用户)。”
    2.选择用户,然后单击“Edit(编辑)”按钮。
    3.单击“Roles(角色)”选项卡,然后单击“Edit List(编辑列表)”按钮。
    4.在“Available Roles(可用角色)”中选择所需角色,然后将其移至“Selected Roles(所选角色)”中。
    5.分配了所有适当的角色后,单击“OK(确定)”按钮。
     
     
    也可以使用grant语句来将角色分配给用户
    grant oe_clerk to scott;
    grant hr_clerk to hr_manager;
    grant hr_manager to scott with admin option;
     
    12、建立默认的角色
     
    •一个用户可以分配很多角色;
    •一个用户可以分配一个默认的角色;
    •一个用户的默认角色有数量的限制。
     
    使用sql语言如下:
    alter user scott default roll hr_clerk,oe_clerk;
    alter user scott default role all;
    alter user scott default role all except hr_clerk;
    alter user scott default role none;
     
    13、撤销用户的角色
     
    只有具有admin option或者grant any role 的权限的用户才能撤销。
    revoke oe_clerk from scott;
    revoke hr_manager from public;
     
    14、删除角色
     
    drop一个角色,相当于移除了所有用户和角色所授予的角色,从数据库中移除。
    要求具有admin option或者drop any role的权限。
    sql:drop role hr_manager;
     
    15、数据字典保护
     

    启用数据字典保护:

    可以通过设置初始化参数O7_DICTIONARY_ACCESSIBILITY 为false来保护数据字典。

    此参数可以防止用户(拥有任何系统权限即是在SYS模式对象的权限的用户)来使用这些数据字典。

    oracle数据库提供高度细化的权限。

    一个这样的特权,通常所说的任何特权,通常授予唯一的应用程序的owners和个人的数据库管理员。

    例如,可以授予DROP ANY TABLE 的权限给一个应用程序所有者,通过打开或关闭的07_DICTIONARY_ACCESSIBILITY初始化参数,免遭意外或恶意使用的任何特权,可以保护Oracle数据字典。

     

    启用数据字典保护工作流

    1. 使用em登陆到Oracle Enterprise Manager Database Control (Database Control).

    2. 点击Server"服务器",点击Initialization Parameters“初始化参数”。

    3. 搜索O7_DICTIONARY_ACCESSIBILITY这个参数。

    4. O7_DICTIONARY_ACCESSIBILTY 设置为FALSE。

    5. 点击应用,然后重启数据库。

    O7_DICTIONARY_ACCESSIBILITY参数:

    O7_DICTIONARY_ACCESSIBILITY控制对系统权限的限制。如果该参数被设置为true时,sys模式中的对象都可以访问数据字典。默认设置为false,确保系统权限被允许访问其他任何模式,而不能访问sys模式。

    例如,O7_DICTIONARY_ACCESSIBILITY设置为false,那么 SELECT ANY TABLE 的权限允许访问除了sys模式(数据字典不能被访问)中任何视图或表。系统权限EXECUTE ANY PROCEDURE ,可以访问任何模式除了sys模式。

    如果这个参数设置为falise,你需要访问在sys模式的对象,那么必须明确授予对象权限。以下角色,可以授予数据库管理员,也允许访问字典对象:

    • SELECT_CATALOG_ROLE

    • EXECUTE_CATALOG_ROLE

    • DELETE_CATALOG_ROLE

    16、相关的视图
     
    展开全文
  • Oracle权限介绍 Oracle 角色权限分类: (1)CONNECT:拥有Connect权限的用户只可以登录Oracle,无法操作其他对象。 (2)RESOURCE:拥有Resource权限的用户可以在自己的模式下操作对象,不可以操作其他模式下的...

    Oracle的权限介绍

    Oracle 角色权限分类:
    (1)CONNECT:拥有Connect权限的用户只可以登录Oracle,无法操作其他对象。
    (2)RESOURCE:拥有Resource权限的用户可以在自己的模式下操作对象,不可以操作其他模式下的对象。
    (3)DBA:拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。

    对于普通用户:授予 connect, resource 角色权限。
    对于DBA管理用户:授予 connect,resource,dba 角色权限。
    在这里插入图片描述

    Oracle用户创建授权

    在这里插入图片描述

    -- 创建epoint用户
    CREATE USER epoint identified BY Gepoint DEFAULT tablespace users;
    
    -- 赋予权限;
    -- 赋予dba权限
    GRANT dba TO epoint;
    -- 查看拥有dba权限的账户
    SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTED_ROLE ='DBA';
    -- 赋予普通权限
    GRANT CONNECT,RESOURCE TO EPOINT;
    
    -- 回收权限
    REVOKE dba FROM EPOINT;
    REVOKE CONNECT,RESOURCE FROM EPOINT;
    
    -- 删除epoint用户
    -- 加上cascade则将用户连同创建的东西全部删除
    DROP USER EPOINT CASCADE;
    
    -- 查询用户拥有哪些角色权限
    -- dba账号查看所有账号的权限
    SELECT * FROM DBA_ROLE_PRIVS;
    -- 普通账号查看自己的权限
    SELECT * FROM USER_ROLE_PRIVS;
    
    -- 查看所有用户的信息
    SELECT * FROM DBA_USERS;
    
    

    Oracle:创建test账号,密码Gepoint,赋予dba角色权限,回收dba权限,最后删除test账号。

    创建test用户:

    CREATE USER test IDENTIFIED BY Gepoint DEFAULT tablespace users;
    

    赋予dba权限:

    GRANT dba TO test;
    

    在这里插入图片描述

    回收dba权限:

    REVOKE dba FROM test;
    

    在这里插入图片描述

    删除账号:

    DROP USER test CASCADE;
    

    MySQL的权限介绍

    在这里插入图片描述

    MySQL用户创建、赋权

    在这里插入图片描述

    -- 创建epoint用户权限
    create user epoint@'%' identified by 'Gepoint';
    
    -- 赋予所有权限,也就是dba权限
    grant all privileges on *.* to epoint@'%';
    
    -- 仅赋予epoint数据库的权限
    grant all privileges on epoint.* to epoint@'%';
    -- 刷新到内存生效
    flush privileges;
    
    
    -- 回收账户权限
    revoke all privileges on *.* from epoint@'%';
    revoke all privileges on epoint.* from epoint@'%';
    
    -- 删除epoint用户
    drop user epoint@'%';
    
    -- 查询用户及权限
    -- 查询当前存在哪些账号
    select user,host from mysql.user;
    -- 查看具体账号的权限
    show grants for epoint@'%';
    

    MySQL:创建test@%账号,密码Gepoint, 赋予所有权限,回收权限,最后删除test@%账号。

    创建test@%账号:

    create user test@'%' identified by 'Gepoint';
    

    赋予所有权限:

    grant all privileges on *.* to test@'%';
    

    回收权限:

    revoke all privileges on *.* from test@'%';
    

    删除test@%账号:

    drop user test@'%';
    
    展开全文
  • 一、系统默认登录 ...超级管理员: conn sys as sysdba;... 二、创建新用户 ...三、赋予新用户权限 1、允许用户登录 grant create session to 用户名; 2、允许新用户连接数据库,并创建数据库对象 gr...
  • 建表的时候写的是Fast on demand刷新模式,依靠oracle的job,每20分钟增量刷新,但是某天发现to_date中的日期小于当前sysdate,且user_jobs表中的next_date的时间也小于当前系统时间,也就说明这个任务在那个时间点...
  • oracle 物化视图刷新失败可能原因: 1.视图未建立物化视图日志 2.基表为授权给用户 1.物化视图语法 create materialized view [view_name] refresh [fast|complete|force] [ on [commit|demand] | start...
  • 原文链接:点击打开链接摘要: Oracle赋权的回收权限是使用grant和revoke语句,但是赋权和回收权限语句执行完成后就会立即生效么?另外Oracle权限又分为系统权限、角色权限和对象权限,这三种权限的grant和revoke...
  • oracle中的权限privilege

    千次阅读 2012-09-11 16:40:42
    前两天工作的时候,突然有了一个很具体需求,想查询当前登录用户A对表B是否有查询权限。然后就在网上找到了一些相关的文章,前面问题的答案也出来了。...在此总结一下oracle中的权限授予。 用户权限分为system privi
  • Oracle和MySQL新增只有查询权限用户

    千次阅读 2018-12-05 16:52:57
    一、新增Oracle数据库查询权限用户 -- 1、用有dba权限的用户连接上数据库 本例通过DbVisualizer工具进行如下操作; -- 2、创建用户vlog create user vlog identified by “blog"; -- 3、赋予用户连接权限 gr....
  • OracleOLAP使用MView刷新cube的方法是比较常用的。 我们用Oracle数据库创建了一个cube ,这时cube 里面的数据只有在我们手工执行。 dbms_cube.build(‘&lt;cube_name&gt;’) 才会被刷新。 比如你在前面已经...
  • 通常通过 SYSTEM 用户管理数据库用户、权限和存储等; SCOTT:SCOTT 用户是 Oracle 数据库的一个示范账户,在数据库安装时创建。 1.2 创建用户 要连接到Oracle数据库,就需要创建一个用户帐户,每个用户都有一个...
  • 1、on demand:使用DBMS_MVIEW包中的存储过程启用手工刷新(默认设置) refresh [fast|complete|force] 视图刷新的方式: complete:全部刷新。相当于重新执行一次创建视图的查询语句。   fast: 增量刷新....
  • flush privileges;刷新mysql权限

    千次阅读 2017-02-27 11:09:54
    flush privileges;刷新mysql权限
  • Oracle12c创建用户并给予权限与问题解决本机环境创建用户给予权限小提示 本机环境 windows10-64 时间:2020-05-13 Oracle12c 使用SQL Developer,已连接好CDB数据库。 创建用户 输入下列代码 create user cc ...
  • Oracle的表空间 永久表空间 表空间是数据库的逻辑划分, 一个表空间只能属于一个数据库. 所有的数据库对象都存放在指定的表空间中, 但主要存放的是表, 所以称作表空间 临时表空间 Oracle 临时表空间只要用来做查询和...
  • Abp项目模板使用Oracle数据库包括系统权限管理 by dacong 参考:Abp项目的创建以及Oracle的支持  aspnet-zero-core 使用MySql数据库 http://www.sohu.com/a/162365978_468635 abp项目是可以支持任何...
  • Oracle-Oracle数据库结构

    万次阅读 2017-06-02 13:16:32
    再谈Oracle数据库结构之前写了一篇文章《Oracle-知识结构漫谈》 粗略的介绍了Oracle数据库接口,在这里再更加详细的描述一下,当做是对原有知识的巩固,温故知新。Oracle体系结构数据库的体系结构是从某一个角度来...
  • 1.自定义用户需要加上c## ... 2.赋予权限后,需要加上用户名....所以如果在程序中用某个用户连接Oracle数据库后,访问其他用户的表或者调用存储过程都要加上表所属用户名。 //形式类似于 select * from s...
  • Oracle

    2018-12-24 10:41:16
    Oracle 简介 Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,...
  • Oracle 数据库用户(user)的创建、删除以及授予权限 标签: user数据库oracletablesessionoracle10g 2010-08-07 16:343412人阅读评论(0) 收藏举报 分类: Oracle(4) 作者同类文章X 版权声明:本文为博主...
  • 物化视图等价于数据的快照,可以使对视图的查询速度提升1个...自动刷新是由oracle的任务计划执行,需要确认oracle中job_queue_processes的值大于0,否则将无法激活任务计划。 alter system set job_queue_processes=5;
  • oracle创建物化视图所需权限

    千次阅读 2013-06-04 15:40:08
    ORACLE物化视图全攻略   一、------------------------------------------------------------------------------------------   物化视图是包括一个查询结果的数据库对像,它是远程数据的的本地副本,或者用来...
  • 1、授连接权限 grant connect to 用户名; ALTER USER 用户名 ACCOUNT UNLOCK; 2、更新密码 ALTER USER 用户名 IDENTIFIED BY 更新密码; 转载于:https://www.cnblogs.com/xiaoyu1994/p/8454195.html...
  • oracle

    千次阅读 2010-08-27 17:52:00
    38. 创建用户时,需要赋予新用户什么权限才能使它联上数据库。 解答:CONNECT 39. 如何在tablespace里增加数据文件? 解答:ALTER TABLESPACE <tablespace_name> ADD DATAFILE <datafile_name> SIZE 40. 如何变动...
  • 大家都知道目标用户需要给创建用户 CREATE MATERIALIZED VIEW 权限 但是只是这样还是会报权限错误 如何处理: REFRESH FORCE ON COMMIT ENABLE QUERY REWRITE 因为在创建该物化视图的时候带了两个参数 ...
  • /*create tablespace(后面指定其为users default tablespace)*.../*tablespace HOT只能在此删除*/--删除时先切换用户,保证有足够权限DROP USER jkant CASCADE;create tablespace HOT datafile D:/MyOracleDB/HOT.dbf s
  • ORACLE实例与数据库的区别 刚接触ORACLE的人肯定会对实例和数据库感到困惑,实例到底代表些什么?为什么会有这个概念的出现? ORACLE实例 = 进程 + 进程所使用的内存(SGA)实例是一个临时性的东西,你也可以认为它...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 22,586
精华内容 9,034
热门标签
关键字:

oracle刷新权限