oracle的用户管理

创建用户:
    CREATE USER user_name
    IDENTIFIED BY password|externally|globally as external_name
    [DEFAULT TABLESPACE tablespace_name]
    [QUOTA ...]
    [PASSWORD EXPIRE]
    [ACCOUNT LOCK|UNLOCK]


    IDENTIFIED BY password|externally|globally as external_name 用户认证方式
    password:  输入具体的密码,表示密码认证,也是最常见的
    externally:外部认证(操作系统认证)


例创建密码认证的用户:
    SQL> CREATE USER tom IDENTIFIED BY tom;  

 --后面的tom为密码值,要注意的是,用户建好后,还不能使用的(包括登录都不行),没授权
 
   
创建外部认证用户(操作系统认证):
    SQL> show parameter os_auth

 NAME                                 TYPE        VALUE
 ------------------------------------ ----------- --------
 os_authent_prefix                    string      ops$        --记下用户前辍

   
    [root@t183 ~]# useradd hsj
    [root@t183 ~]# gpasswd -a hsj dba
    [root@t183 ~]# gpasswd -a hsj oinstall
    [root@t183 ~]# su - hsj
    [hsj@t183 ~]$  vim .bash_profile
 
 将oracle用户的环境变量设置拷过来即可

    [hsj@t183 ~]$ exit

 
    SQL> create user ops$hsj identified by externally;

    SQL> grant create session to ops$hsj;

 
    [root@t183 ~]# su - hsj
    [hsj@t183 ~]$ sqlplus /


SYSDBA的认证方式:
    SYSDBA由于要涉及到的数据库的启停,所以密码等认证信息不放在数据库中
    SYSDBA的认证方式主要有:
 操作系统认证
      ORACLE_HOME/network/admin/sqlnet.ora 不能有
   SQLNET.AUTHENTICATION_SERVICES=(none)  
  要么没有这一行,要么为
  SQLNET.AUTHENTICATION_SERVICES=(all)

 密码文件认证
     将用户密码放在 $ORACLE_HOME/dbs/orapw${ORACLE_SID}

     如果密码忘记或密码丢失的话,可重建密码文件
    
      orapwd file=$ORACLE_HOME/dbs/orapw${ORACLE_SID} password=oracle

 密码文件中存了哪些用户的密码:
 SQL> select * from sys.v_$pwfile_users;

    另:
 sysdba 登录时必须加 as sysdba
 如果将其用户授予 sysdba时,不加 as sysdba 登录,只是以普通用户登录,显示的登录名
        也是原有用户名,没有sysdba权限,如果要行使用sysdba权限,必须 在登录时加 as sysdba

 
修改用户密码:
 ALTER USER user_name IDENTIFIED BY password
 SQL> alter user tom identified by abcdefg;

 
锁住用户帐号:
 ALTER USER user_name ACCOUNT LOCK;

 SQL> alter user tom account lock;

解锁用户:
 ALTER USER user_name ACCOUNT UNLOCK;
 
 
用户信息查看:
     dba_users

还原密码:
    1、查出原有的密码 
 SQL> select USERNAME,PASSWORD from dba_users where username='SCOTT';

 USERNAME                       PASSWORD
 ------------------------------ ------------------------------
 SCOTT                          F894844C34402B67

    2、修改密码
 SQL> alter user scott identified by abcdefg;

    3、还原
 SQL> alter user scott identified by values 'F894844C34402B67';

 SQL> select USERNAME,PASSWORD from dba_users where username='SCOTT';

 USERNAME                       PASSWORD
 ------------------------------ ------------------------------
 SCOTT                          F894844C34402B67


与用户相关的数据字典:
 dba_users
 dba_ts_quotas
 

用户删除:
 DROP USER user_name [CASCADE]

 不能删除,已经在连接的用户(删除时该用户必须没有登录)

你可能感兴趣的:(用户管理)