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
参考阅读:
推荐阅读: