oracle用户,权限,角色
来源:互联网 发布:java一年经验工资 编辑:程序博客网 时间:2024/05/24 02:37
用户角色与权限控制
【1】用户
系统用户:sys(系统管理员)和system(系统操作员)
普通用户:使用系统管理员账户创建的账户。如:scott
模式:用户所拥有的对象的集合。如:table,view,trigger,procedure,function,sequence...
==============================
输出结果到文件
spool E:\log.txt;
select id,name from users;
spool off;
对象权限:如:对表或试图的操作或者访问
select,
insert,
update,
delete,
execute,执行函数或者存储过程或者程序包
index,
references,
alter 修改列的属性
角色是系统权限或对象权限的集合。可以对角色进行复用分配给不同的用户。
【1】用户
系统用户:sys(系统管理员)和system(系统操作员)
普通用户:使用系统管理员账户创建的账户。如:scott
模式:用户所拥有的对象的集合。如:table,view,trigger,procedure,function,sequence...
==============================
输出结果到文件
spool E:\log.txt;
select id,name from users;
spool off;
==============================
--查看dba_users表select * from dba_users;--创建用户 user1/user1 表空间 usercreate user user1 identified by user1 default tablespace users;--查看创建的用户select * from dba_users where username='USER1';select sys_context('userenv','current_user') current_user, sys_context('userenv', 'current_userid') current_userid, sys_context('userenv','current_schema') current_schema, --sys_context('userenv','terminal') terminal, sys_context('userenv','language') language, --sys_context('userenv','sessionid') sessionid, --sys_context('userenv', 'instance') instance, --sys_context('userenv', 'entryid') entryid, sys_context('userenv', 'isdba') isdba, --sys_context('userenv', 'nls_territory') nls_territory, --sys_context('userenv', 'nls_currency') nls_currency, --sys_context('userenv', 'nls_calendar') nls_calendar, --sys_context('userenv', 'nls_date_format') nls_date_format, --sys_context('userenv', 'nls_date_language') nls_date_language, --sys_context('userenv', 'nls_sort') nls_sort, sys_context('userenv', 'session_user') session_user, --sys_context('userenv', 'session_userid') session_userid, sys_context('userenv', 'proxy_user') proxy_user, --sys_context('userenv', 'proxy_userid') proxy_userid, sys_context('userenv', 'db_domain') db_domain, sys_context('userenv', 'db_name') db_name, sys_context('userenv', 'host') host, sys_context('userenv', 'os_user') os_user, sys_context('userenv', 'external_name') external_name, sys_context('userenv', 'ip_address') ip_address, sys_context('userenv', 'network_protocol') network_protocol, --sys_context('userenv', 'bg_job_id') bg_job_id, --sys_context('userenv', 'fg_job_id') fg_job_id, sys_context('userenv', 'authentication_type') authentication_type, sys_context('userenv', 'authentication_data') authentication_datafrom dual;--使用sys账户修改其他用户密码sqlplus /@orcl as sysdba--查询当前数据库是要修改用户的数据库show parameter db_name--结果NAME TYPE VALUE------------------------------------ ----------- ------------------------------db_name string orcl--查询用户状态select username,account_status from dba_users where username='SCOTT';--结果USERNAME ACCOUNT_STATUS------------------------------ --------------------------------SCOTT OPEN--解锁用户账户alter table user1 account unlock;--修改用户密码,密码区分大小写alter user user1 identified by abc;
系统权限:如:创建数据表
--查看某个用户的系统权限select * from dba_sys_privs where grantee='USER1';--解决用户没有session权限grant create session to user1;--解决用户没有create table权限grant create table to user1;--解决用户表空间没有权限1.grant resource to user1;2.alter user user1 quota unlimited on 'USERS';--撤销权限revoke create session from user2;
--查看哪些用户有sysdba或sysoper系统权限(查询时需要相应权限)select * from V$PWFILE_USERS--赋予权限并且拥有权限的再分配权限with admin option注意:对于使用with admin option 为某个用户授予系统权限,那么对于被这个用户授予相同权限的所有用户来说,取消该用户的系统权限并不会级联取消这些用户的相同权限grant 权限列表,.. to username [with admin option 同时获得权限分配权];grant alert table on tablename to zhangsan with admin option;//关键字 with admin option同时获得权限分配权,撤销权限不会级联grant alert table on tablename to zhangsan with grant option;//关键字 with grant option效果和admin类似,撤销权限会级联--向数据库中所有用户分配权限grant select on dept to public;--检查DBA权限的用户 select * from dba_role_privs where granted_role='DBA'; --常见对象权限 CREATE SESSION 创建会话 CREATE SEQUENCE 创建序列 CREATE SYNONYM 创建同名对象 CREATE TABLE 在用户模式中创建表 CREATE ANY TABLE 在任何模式中创建表 DROP TABLE 在用户模式中删除表 DROP ANY TABLE 在任何模式中删除表 CREATE PROCEDURE 创建存储过程 EXECUTE ANY PROCEDURE 执行任何模式的存储过程 CREATE USER 创建用户 DROP USER 删除用户--查询权限分配情况数据字典视图 描述ROLE_SYS_PRIVS 角色拥有的系统权限ROLE_TAB_PRIVS 角色拥有的对象权限USER_TAB_PRIVS_MADE 查询授出去的对象权限(通常是属主自己查)USER_TAB_PRIVS_RECD 用户拥有的对象权限USER_COL_PRIVS_MADE 用户分配出去的列的对象权限USER_COL_PRIVS_RECD 用户拥有的关于列的对象权限USER_SYS_PRIVS 用户拥有的系统权限USER_TAB_PRIVS 用户拥有的对象权限USER_ROLE_PRIVS 用户拥有的角色 权限总结1.使用create user语句创建用户,alter user语句修改用户,其语法大致相同drop user username [CASCADE] 会删除用户所拥有的所有对象及数据2.系统权限允许用户在数据库中执行特定的操作,如执行DDL语句。with admin option 使得该用户具有将自身获得的权限授予其它用户的功能但收回系统权限时,不会从其它帐户级联取消曾被授予的相同权限3.对象权限允许用户对数据库对象执行特定的操作,如执行DML语句。with grant option 使得该用户具有将自身获得的对象权限授予其它用户的功能但收回对象权限时,会从其它帐户级联取消曾被授予的相同权限4.系统权限与对象权限授予时的语法差异为对象权限使用了ON object_name 子句5. PUBLIC 为所有的用户6. ALL:对象权限中的所有对象权限
对象权限:如:对表或试图的操作或者访问
select,
insert,
update,
delete,
execute,执行函数或者存储过程或者程序包
index,
references,
alter 修改列的属性
--查看用户的对象权限select * from dba_tab_privs where grantee='USER1';--为用户赋予查询,增加,删除权限grant select/insert/delete on dual to user2;--为用户赋予更新权限:某列或者所有列grant update(employee_name) on t_employee to user2;--更新某列grant update on t_employee to user2;--更新所有列--赋予用户所有权限grant all on t_employee to user2;
角色是系统权限或对象权限的集合。可以对角色进行复用分配给不同的用户。
--示例--创建角色test_rolecreate role test_role;--为角色分配权限grant create session to test_role;grant create table to test_role;grant select on t_employee to test_role;grant update(employee_name) to test_role;--将角色分配给不同的用户grant test_role to user1;grant test_role to user2;grant test_role to user3;grant test_role to user4;--继承角色grant test_role to test_role2;--查看当前登陆用户的角色select * from session_roles;--禁用用户的角色alter user user1 default role none;--启用用户的角色set role test_role;
查看所有角色: select * from dba_roles; 查看用户所拥有的角色: select * from dba_role_privs; select * from user_role_privs;
阅读全文
1 0
- Oracle 用户、角色、权限
- ORACLE用户、角色、权限
- Oracle 用户、权限、角色
- oracle用户,权限,角色
- ORACLE用户、角色、权限
- Oracle用户角色权限管理
- Oracle用户、权限、角色管理
- Oracle用户角色权限管理
- Oracle用户、权限、角色管理
- Oracle用户、权限、角色管理
- Oracle用户、权限、角色管理
- Oracle 用户,角色,权限概述
- Oracle用户、权限、角色管理
- Oracle用户、权限、角色管理
- Oracle用户、权限、角色管理
- Oracle用户、角色、权限管理
- Oracle用户、权限、角色管理
- oracle用户、权限、角色管理
- Java多线程--Monitor对象(二)
- Spring总结
- QThread Class
- java学习初探十之包装类
- 注解与代理类
- oracle用户,权限,角色
- Intellij idea破解办法
- centos6.5上搭建maven私服
- Struts总结
- python数据结构(列表、元组、字典)
- 1类的继承
- 0.2 用代码画画——目标读者、教材特色、内容大纲
- mysql多实例安装
- 虚拟机迁移技术漫谈,第 1 部分(转) 出自IBM