设为首页 收藏本站
查看: 1008|回复: 1

[经验分享] ORACLE用户管理与权限设置

[复制链接]

尚未签到

发表于 2013-11-27 08:39:50 | 显示全部楼层 |阅读模式
创建用户:
CREATE USER user_name
IDENTIFIED BY password
[DEFAULT TABLESPACE tablespace_name]
[TEMPORARY TABLESPACE tablespace_name]
[QUOTA ... ON tablespace_name]  --设置磁盘空间配额
[PASSWORD EXPIRE]--密码过期,用户登录时,提示用户改密码
[ACCOUNT LOCK|UNLOCK]--设置用户是否锁定

unlimited tablespace 权限,可以忽略磁盘空间配额
创建时,需要有管理员权限。

SQL> create user hh
2  identified by abc;


刚创建的用户没有任何权限,也无法登录,这里为方便操作,给其先授权,让
其能登录。

SQL> grant create session to hh;

用户登录:
    1、在操作系统提示符下:
[oracle@t184 ~]$ sqlplus user_name/password
如:
[oracle@t184 ~]$ sqlplus hh/abc
    2、在sqlplus环境下:
SQL> connect user_name/password
如:
SQL> connect hh/abc;

    注:对于SYS用户登录时要在末尾加AS SYSDBA,如:
SQL> connect sys/oracle as sysdba
[oracle@t184 ~]$ uniread sqlplus sys/oracle as sysdba

查看当前用户:
SQL> show user;
如果是空的话,表示当前没用户连接。


用户的认证方式:
    1、普通用户密码存放在数据库中。可采用密码认证和操作系统认证。
但操作系统认证比较麻烦,故很少使用。
所以普通一般采用密码认证,使用这种方式登录
sqlplus user_name/password

    2、SYSDBA 的密码不存放在数据库中,而放在密码文件中。
密码文件:$ORACLE_HOME/dbs/orapw+SID

SYS用户的认证方式也有:操作系统认证和密码文件认证,默认操作系
统认证是开启的。所以经常有 sqlplus "/as sysdba" (操作系统认证)
如果采用密码文件认证 sqlplus user_name/password as sysdba

可以尝试,取消操作系统认证
vim $ORACLE_HOME/network/admin/sqlnet.ora  添加一行
SQLNET.AUTHENTICATION_SERVICES=(NONE)

SYSDBA用户密码丢失的处理:
    方法一:开启操作系统认证
vim $ORACLE_HOME/network/admin/sqlnet.ora  添加一行(如有修改)
SQLNET.AUTHENTICATION_SERVICES=(ALL)

    方法二:重建密码文件
orapwd file=$ORACLE_HOME/dbs/orapwocp password=abcd entries=5

修改用户密码
    ALTER USER user_name IDENTIFIED BY password

SQL> alter user hh identified by oracle;

管理员用户可以修改其它用户密码,其他用户只能修改自己的。

给用户分配磁盘配额
ALTER USER user_name QUOTA ... ON tablespace_name

SQL> alter user hh quota 10m on users;

授权:
    ORACLE权限分为两种类型:系统权限和对象权限

授予系统权限:


    权限名可以查看数据字典:system_privilege_map

SQL> GRANT CREATE TABLE TO HH ;

收回(取消)权限:
REVOKE 权限名 FROM 用户名

查看系统的用户权限:
    1、用户自己
SQL> select * from session_privs;

    2、管理员(dba_sys_privs)
SQL> select * from dba_sys_privs where grantee='HH';

对象权限管理
    对象权限:是对特定的对象所具有的权限,对象权限有:

对象权限 视图序列 过程
修改(alter) * *
删除(delete) * *
执行(execute)   *
索引(index) *
插入(insert) * *
关联(reference) * *
选择(select) * * *
更新(update) * *

对象授权:
GRANT privs_name ON object_name TO user_name
[WITH GRANT OPTION];

SQL> grant update on scott.emp to hh;

对象权限回收:
REVOKE privs_name ON object_name FROM user_name;
SQL> revoke update on scott.emp from hh;

注:对象权限的回收是级联的。


查看用户的对象权限(DBA_TAB_PRIVS):
    DBA查:

SQL> select GRANTEE,OWNER,TABLE_NAME,GRANTOR,PRIVILEGE
from dba_tab_privs where grantee='HH';

    用户自己查:
SQL> select GRANTEE,OWNER,TABLE_NAME,GRANTOR,PRIVILEGE
2  from user_tab_privs;

授予SYSDBA权限:
SQL> grant sysdba to h2;      

注:授予SYSDBA权限后,用户在登录时还要注意,如果不以as sysdba
   登录,仍然是普通用户,而非SYSDBA。

查看当前系统有哪些SYSDBA
SQL> SELECT * FROM V_$PWFILE_USERS;


角色
     权限的集合,主要是方便权限和管理与维护。

创建角色
CREATE ROLE role_name [IDENTIFIED BY password]

SQL> create role t1;

SQL> create role t2 identified by abcd;

为角色授权
GRANT priv_name TO role_name

SQL> grant create session to t1,t2;
SQL> grant create table to t1;
SQL> grant create view to t2;

将角色授予用户
SQL> grant t1,t2 to hh;

DBA用户查看用户权限:
    1、查看直接授权
SQL> select * from dba_sys_privs where grantee='HH';

    2、查看该用户授予哪些角色(DBA_ROLE_PRIVS)
SQL> SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE='HH';

    3、查看角色有哪些权限(ROLE_SYS_PRIVS)
SQL> select * from role_sys_privs where role in ('T1','T2');

ORACLE 为了方便用户的使用提供了两个缺省角色:CONNECT,RESOURCE。
为了使用户更快的工作起来,可将这两个角色授予用户。但之后要仔细审核
其权限。

用户权限=单个授予+角色继承(角色授予)

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-10702-1-1.html 上篇帖子: ORACLE物化视图测试 下篇帖子: ORA-00600: 内部错误代码, 参数: [kcratr_nab_less_than_odr], [1], [1341] Oracle 用户

尚未签到

发表于 2013-12-30 18:37:14 | 显示全部楼层
我决定不再流泪,就像你决定要离开我一般地坚定。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表