Oracle12C权限设置

一、创建两个用户

每个用户只能访问自己的表空间。

-- TEST 123456 不带管理员权限的
CREATE TABLESPACE "TEST"
 DATAFILE  '/u01/app/oracle/oradata/xe/test.dbf' SIZE 10 M AUTOEXTEND ON NEXT 10 M MAXSIZE 100 M;
CREATE USER "TEST" IDENTIFIED BY "123456" DEFAULT TABLESPACE "TEST" TEMPORARY TABLESPACE "TEMP";
GRANT "CONNECT", "RESOURCE" TO "TEST";
ALTER USER "TEST" DEFAULT ROLE "CONNECT", "RESOURCE";
GRANT CREATE SEQUENCE, CREATE VIEW TO "TEST" WITH ADMIN OPTION;
ALTER USER TEST QUOTA UNLIMITED ON TEST;

-- TEST1 123456 不带管理员权限的
CREATE TABLESPACE "TEST1"
 DATAFILE  '/u01/app/oracle/oradata/xe/test1.dbf' SIZE 10 M AUTOEXTEND ON NEXT 10 M MAXSIZE 100 M;
CREATE USER "TEST1" IDENTIFIED BY "123456" DEFAULT TABLESPACE "TEST1" TEMPORARY TABLESPACE "TEMP";
GRANT "CONNECT", "RESOURCE" TO "TEST1";
ALTER USER "TEST1" DEFAULT ROLE "CONNECT", "RESOURCE";
GRANT CREATE SEQUENCE, CREATE VIEW TO "TEST1" WITH ADMIN OPTION;
ALTER USER TEST1 QUOTA UNLIMITED ON TEST1;

-- TEST2 123456 带有管理员权限的
CREATE TABLESPACE "TEST2"
 DATAFILE  '/u01/app/oracle/oradata/xe/test2.dbf' SIZE 10 M AUTOEXTEND ON NEXT 10 M MAXSIZE 100 M;
CREATE USER "TEST2" IDENTIFIED BY "123456" DEFAULT TABLESPACE "TEST2" TEMPORARY TABLESPACE "TEMP";
GRANT "CONNECT", "DBA", "RESOURCE" TO "TEST2";
ALTER USER "TEST2" DEFAULT ROLE "CONNECT", "DBA", "RESOURCE";
GRANT CREATE SEQUENCE, CREATE VIEW TO "TEST2" WITH ADMIN OPTION;
ALTER USER TEST2 QUOTA UNLIMITED ON TEST2;

二、常用的权限设置

2.1 授权表空间及用户

-- ORA-01950:对表空间XXX无权限的解决方法
ALTER USER 用户名 QUOTA UNLIMITED ON 表空间名;
-- 授权管理员权限,被授予的用户连接状态下需要断开重连和重启连接工具才生效
GRANT DBA TO 用户名;
ALTER USER "用户名" DEFAULT ROLE "DBA";
-- 撤销管理员权限,被授予的用户连接状态下需要断开重连和重启连接工具才生效
REVOKE "DBA" FROM "用户名";
ALTER USER "用户名" DEFAULT ROLE NONE;
ALTER USER "用户名" DEFAULT ROLE "CONNECT", "RESOURCE"
-- 查看所有表空间
select * from dba_tablespaces;
-- 查看所有用户
select * from all_users;
-- 删除一个用户
drop user 用户名 cascade;
-- 删除一个表空间
DROP TABLESPACE 表空间名 INCLUDING CONTENTS AND DATAFILES;
-- 查看当前用户是否为DBA,如果不是则出现 ORA-00942: table or view does not exist 表或视图不存在
select * from dba_role_privs where granted_role='DBA';

2.2 授权

GRANT privileges ON object TO user;
  • privileges - 要分配的权限。 它可以是以下值:
权限描述
SELECT能够在表上执行SELECT语句。
INSERT能够在表上执行INSERT语句。
UPDATE能够在表上执行UPDATE语句。
DELETE能够在表上执行DELETE语句。
REFERENCES能够创建引用表的约束。
ALTER能够执行ALTER TABLE语句来更改表定义。
INDEX能够使用create index语句在表上创建索引。
ALL表上的所有权限。
  • object - 正在授予其权限的数据库对象的名称。 在授予表的权限的情况下,它将是表名。
  • user - 将被授予这些权限的用户的名称。

2.3 撤销授权

REVOKE privileges ON object FROM user;
  • privileges - 撤销权限。 它可以是以下值:
权限描述
SELECT能够在表上执行SELECT语句。
INSERT能够在表上执行INSERT语句。
UPDATE能够在表上执行UPDATE语句。
DELETE能够在表上执行DELETE语句。
REFERENCES能够创建引用表的约束。
ALTER能够执行ALTER TABLE语句来更改表定义。
INDEX能够使用create index语句在表上创建索引。
ALL表上的所有权限。
  • object - 正在撤销权限的数据库对象的名称。 在撤销表的特权的情况下,它将是表名。
  • user - 将撤销这些权限的用户的名称。

三、给SYSTEM授权SYSDBA角色

3.1 授权步骤

在SYSTEM账号下修改SYS密码。

alter user sys identified by 123456;

登录SYS账号。

image-20201130112544975

授权SYSTEM。

grant sysdba to system

image-20201130112632259

使用SYSTEM账号登录,角色修改为SYSDBA。

image-20201130112859177

image-20201130112925894

3.2 验证是否成功

没授权前,数据泵需要SYSDBA角色

image-20201130135117330

授权后,可以使用数据泵。

image-20201130135414619

作者(Author):小强崽
来源(Source):https://www.wuduoqiang.com/archives/Oracle12C权限设置
协议(License):署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)
版权(Copyright):商业转载请联系作者获得授权,非商业转载请注明出处。 For commercial use, please contact the author for authorization. For non-commercial use, please indicate the source.

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值