oracle入门

系统权限的管理

3个默认的用户(默认密码):
sys(网络管理员,权限最高)  change_on_install [as dba]
system manager
scott tiger

默认要启动两个服务:
启动监听,lsnrctl start (监听名字,不写就会默认值)
启动数据库实例:oradim -starup -sid orcl

登陆到sys用户 sqlplus / as sysdba
创建用户:
当一个用户可以有创建表的权限和使用表空间的权限,该用户就可以对这个表增删改查了(而不需要再进行授权了)。

grant create table to lisi;
revoke create table from lisi;
select * from user_sys_privs;//查询当前用户的权限
权限有上百个,只要记住常用的权限就行了。

 

系统权限和对象权限
sys(系统权限)
 create user wangwu identified by wangwu;
 grant create session to wangwu;
 grant create table to wangwu;
 grant unlimited tablespace to wangwu;
 select * from user_sys_privs;

 revoke create session from lisi;

关键字(public)
 grant create session to public;//授予任何用户的权限

wangwu(对象权限)
 create table mytab(id int);
 insert into mytab values(1);
 grant select on mytab to zhaoliu;
 grant all on mytab to zhaoliu;
 

 select * from user_tab_privs;
 alter table mytab add name varchar(10);
 revoke all on mytab from zhaoliu;

zhaoliu
 select * from wangwu.mytab;
 insert into wangwu.mytab (id) values(3);
 insert into wangwu.mytab values(1);

 对象的权限可以控制到列:
 grant update(name) on mytab to zhaoliu;
 grant update(name) on mytab to zhaoliu;
 注意:查询和删除不能控制到列
 select * from user_col_privs;

需要提交的:commit
更新,插入,删除

set linessize 400

权限的传递:
 (对象)grant select on g_tab to wangwu with grant option;
 (系统)grant select on g_tab to wangwu with admin option;

 

角色就是权限的集合、
创建角色:
通过角色对权限进行管理

create role myrole ;
把权限赋予角色:
grant create session to myrole;
grant create table to myrole;
把角色赋予用户;
grant myrole to wf;
删除角色;
drop role myrole;

有些权限没有办法授予角色:
unlimited tablespace
因为权限过大

create table    create any table(可以给别人创建表)
[alter table](无)   alter any table(可以给别人修改表)
[drop table](无)     drop any table(可以给别人删除表)
表是属于某一个用户的。
但是角色不论谁创建的,角色不属于某个用户。

 

数据库的三种验证机制:
   (验证顺序)
   操作系统验证
   密码文件验证
   数据库验证
linux 下oracle的启动过程
   lsnrctl start
   sqlplus sys/oracle as sysdba
   start up
windows下oracle启动过程
   lsnrctl start
   oradim -starup -sid orcl
  

丢失管理员密码怎么办?
 
给普通用户修改密码很简单:
 alter user scott identified by tiger;
如果是sys的密码丢了怎么办?
一般情况下到指定文件夹下删除PWDorcl.ora文件


账户管理细节:
创建用户,Create user abc identified by abc
default tablespace Users
Temporary tablespace Temp
Quota 50M(unlimited) on Users

限制用户:
用户加锁alter user 用户名字 AccountLock
用户解锁alter user 用户名字 AccountUnLock
用户口令即刻失效
     alter User 用户名字 Password Expire

删除用户:
Drop User FFF cascade;(强制删除用户和用户中的表)

 

 

 

 

 

 

你可能感兴趣的:(权限管理,系统权限和对象权限,权限传递)