Oracle权限与角色
(I)Oracle 管理的用户
1.[system]默认密码manager
权限:具有SYSDBA权限
(打开\关闭数据库服务器、备份数据库、恢复数据库、日志归档、会话限制、管理功能、创建数据库)
2.[sys]默认密码change_on_install
权限:具有SYSDBA或SYSOPER权限
(SYSOPER几位"数据库操作员",打开\关闭数据库服务器、备份数据库、恢复数据库、日志归档、会话限制)
【备注】
* sys/system密码忘记处理:服务器本地sqlplus登陆可以不用密码,直接修改用户密码
(II)常用Oracle 命令
1.连接到数据库conn
sql>>conn sys/admin as sysdba或sysoper
2.设置sqlplus 行显示宽度
sql>>set linesize 150;
3.将sqlplus当前查询结果写到文件
sql>>edit
4.创建用户
sql>>create user [username] identified by [password];
5.修改用户
sql>>alter user [username] indentified by [password];
6.给新建的用户授权
sql>>grant dba to [username];//授予用户dba角色,这样可以"为所欲为"
sql>>grant connect to [username];//只授予用户connect角色,其中包含登录
sql>>grant ...
【备注】
1>授予权限
(1)默认的普通用户scott默认未解锁,不能进行那个使用,新建的用户也没有任何权限,必须授予权限
/*管理员授权*/
grant create session to [username];//授予[username]用户创建session的权限,即登陆权限
grant unlimited session to [username];//授予[username]用户使用表空间的权限
grant create table to [username];//授予创建表的权限
grant drop table to [username];//授予删除表的权限
grant insert table to [username];//插入表的权限
grant update table to [username];//修改表的权限
grant all to public;//这条比较重要,授予所有权限(all)给所有用户(public)
(2)oralce对权限管理比较严谨,普通用户之间也是默认不能互相访问的,需要互相授权
/*oralce对权限管理比较严谨,普通用户之间也是默认不能互相访问的*/
*grant select on tablename to [username];//授予[username]用户查看指定表的权限
grant drop on tablename to [username];//授予删除表的权限
grant insert on tablename to [username];//授予插入的权限
grant update on tablename to [username];//授予修改表的权限
grant insert(id) on tablename to [username];
grant update(id) on tablename to [username];//授予对指定表特定字段的插入和修改权限,注意,只能是
(3)insert和update
grant alert all table to [username];//授予[username]用户alert任意表的权限
2>撤销权限
基本语法同grant,关键字为revoke
例如:grant select on xcz.t_user to xcz1;
revoke select on xcz.t_user from xcz1;
3>查看权限
select * from user_sys_PRivs;//查看当前用户所有权限
select * from user_tab_privs;//查看所用用户对表的权限
(III)Oracle常用的系统表
dba_tables--系统所有表的信息
dba_users--系统所有用户信息
user_sys_PRivs;--查看当前用户所有权限
user_tab_privs;--查看所用用户对表的权限
(IV)Oracle 角色和权限
* 查看系统所有权限:
* 查看系统已有角色:
* 查看某角色的权限:
上一篇: Golang实现requests库
下一篇: 你的*电脑 应该考虑下ARM Mac