ORACLE 权限控制

启动 默认Listener

lsnrctl start 

 

启动服务:

oradim -starup -sid sid_name

 

 

创建用户:

1.create user test_user  identified by password;

 

此时用户还无法登录,需要授权。

2.grant create session to test_user;

 

需要创建表 继续授权

3.grant create table to test_user;

 

此时仍无法创建表 需要对表空间的权限。

4.grant unlimited tablespace to test_user;

 

数据字典:

查看一般用户的系统权限:

select * from user_sys_privs;

查看用户的对象权限:

select * from user_tab_privs;

查看对表中列的权限:

select * from user_

 

撤销权限:

revoke ...................;

revoke create session from test_user;

系统权限和对象授权

 

对象授权 : 对象的拥有者对其它用户进行授权。

 

授 权给所有用户:

grant create any  table to public;

 

只对某张表的某一列进行授权:

grant update(name) on mytab to leo;

grant insert(id) on mytab to leo;

NOTE :查询和删除不能控制到列

 

*** 权限的传递

grant alter any table to leo with admin option;

grant select on mytab to leo with grant option;

 

角色:

create role myrole;

grant create session to myrole;

drop role myrole;

有些角色比较重要 不能赋值给角色 例如 unlimited tablespace;

 

修改用户密码:

alter user soctt identified by password;

 

** 用户登录三种验证机制:

    操作系统验证 : sqlplus / as sysdba; 组ora_dba中的都是不需要密码登录的 

                           生产环境下 为了安全起见  要把这个组中的USER 删除掉。

    密码文件验证 :忘记密码怎么办? 删除密码文件 PWDSIDNAME.ora

                          重新生成密码文件命令: orapwd file=D:\oracle10g\database\PWDorcl.ora  password=123456 entries=10

                          查看userentries :  select  * from v$pwfile_users;

 

    数据库验证 

 

 

PS:调整命令行结果显示宽度 ---- set linesize 400;

 

*** Other: 

 

create user abc

identified by abc

default tablespace Users

Temporary tablespace Temp

Quota 50M on Users;

 

*** 限制用户:

Add lock: alter user leo account lock;

Unlock:    alter user leo account unlock;

Password Expire : alter user leo password expire.

 

drop user test_user [cascade];

你可能感兴趣的:(oracle)