oracle 设置账户权限设置,ORACLE用户管理与权限设置

创建用户: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权限分为两种类型:系统权限和对象权限

授予系统权限:GRANT 权限名 TO 用户名 [WITH ADMIN OPTION]

权限名可以查看数据字典: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。

查看当前系统有哪些SYSDBASQL> 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。

为了使用户更快的工作起来,可将这两个角色授予用户。但之后要仔细审核

其权限。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值