oracle用户管理
制作人:向先函
日期 2009-5-21
启动-------------------------------------------------------------------
启动监听 Lsnrctl start ;
启动实例 oradim -starup –sid orcl;
权限:-----------------------------------------------------------------
创建用户 create user lisi identified by lisi ;
创建用户权限 grant create session to lisi;
创建表权限 grant create table to lisi;
创建表空间权限 grant unlimited tablespace to lisi;
撤销权限 revoke create table from lisi;
查看权限 select * from user_sys_privs;(其中user_sys_privs是一个视图)(系统)
查看当前授权 select * from user_tab_privs;(其中user_tab_privs 是当前视图)(对象)
查看列用数据字典col select * from user_col_privs
撤销使用空间的权限 revoke unlimited tablespace from lisi;
操作
插入以后必须手动提交才能生效 commit; 同时只有sys用户可以访问
普通用户授权如要在lisi用户里面访问wangwu的用户就要设定
在wangwu中 grant select on mytab to lisi; (查询授权)
grant insert on mytab to lisi; (插入授权)
。。。。。。。。。。。。。。。。。。。
grant all on mytab to lisi; (所有授权)
------------------------------------
revoke all on mytab from lisi;(撤销所有授予lisi的权限);
grant create session to public; (授权所有人)
sys中
grant create any table to public; (授权所有表给所有人)
增加一列 alter table mytab and name varchar(10);
指定行授权 grant update(name) on mytab to lisi;
指定行授权 grant insert(id) on mytab to lisi;
授权给张三 grant alter any table to lisi;
//lisi不能在传递给zhangshan 也就是在lisi里面不能grant alter any table to zhangsan;
要 grant alter any table to lisi with admin option; 可以传递使用上面语句
;同样可以通过这语句继续传到其他对象 lisi里边grant alter any table to zhangsan with admin option
对象权限(谁创建谁授予)sys 中
Grant select on A to lisi;
Grant select on A to lisi with grant option(传下去)
角色(权限的集合)
Create role myrole;
Grant create session to myrole;
Grant create table to myrole;
给权限给另一个 grant myrole to zhangsan;
删除角色 drop role myrole;
有的系统不能直接赋给角色 grant unlimited tablespace to myrole;
没有alter table ,和 drop table 的权限
有create table,create any table ,lter any table ,drop any table
表是属于某一个用户的 而角色不属于任何一个用户
修改密码 alter user Scott identified by tiger;
Linnux 下oracle的启动过程
Lsnrctl start
新版本://sqlplus sys/Oracle as sysdba
Sqlplus /nolog
Conn sys/oracle as sysdba
Startup
Sqlplus scott/tiger
Whidows 下启动
Lsnrctl start
Oradim –starup –sid orcl
忘记密码文件
C:/oracle/product/10.2.0/db_2/database 有密码文件 PWDorcl.ora 删掉
命令行中 输入: orapwd 看用法
//orapwd file=<fname> password=<password> entries=<users> force=<y/n>
orapwd file= C:/oracle/product/10.2.0/db_2/database/ PWDorcl.ora password=123456 entries=10
查看特权用户
Select * from v$pwfile_users;
加锁 alter user 用户名 account lock
解锁 alter user 用户名 account unlock
用户口令即刻失效
Alter user 用户名password expire;
删除用户 drop user fff cascade;
如果没有什么东西就不用cascade