跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

Oracle密码机制以及常用操作

Oracle 默认有3个用户: sys 密码:自定;system 密码:自定 ;scott 密码:Tiger(默认锁定);注:用Sys用户登录须根 [as sysdba Oracle 默认有3个用户: sys 密码:自定;system 密码:自定 ;scott 密码:Tiger(默认锁定);

注:用Sys用户登录须根 [as sysdba]desc 表名:查看表结构;Dos启动监听:lsnrctl start Dos启动Oracle实例服务: oradim -starup -sid orcl查询用户的系统权限:select * from user_sys_privs;查询用户的表权限:select * from user_tab_privs;赋予系统权限的时候在用户后跟:with admin option;--意味着赋予权限的对象有权限将此权限进行传递;

赋予对象权限的时候在用户后跟:with grant option;--可以进行权限传递对象权限:谁创建,谁授予;

系统权限:sys>>A,A>>B,if(sys对象权限:A>>B; B>>C ;if(A角色可以理解为权限的集合;

创建角色语句: create role 角色名;删除角色:drop role 角色名;

有些系统权限不能放入角色,比如:unlimited tablespace 权限(工作时不能使用).

不能放入角色的权限只能有Sys直接赋予;将权限限制到列:grant select(id) on mytable to lisi;oracle修改会话的时间格式:alter session set nls_date_format='yyyy-mm-dd';

权限对比:

create table ;create any table;alter table(注意:oracle没有这种权限);   alter any table;drop table(注意:oracle没有这种权限);    drop any table;数据的三种验证机制操作系统验证密码文件验证数据库验证linux下Oracle的启动过程:lsnrctl start 启动监听sqlplus / as sysdba进行密码文件和操作系统验证(在Oracle9i一下版本登录):{sqlplus /nolog conn sys/oracle as sysdba;}startup 启动实例

SYS密码丢失解决:

删掉Oracle密码文件,用orapwd file=密码文件路径(文件名要PWDorcl.ora格式) password=Sys密码 entries=特权用户的数量限制 force=是否强制覆盖select * from v$pwfile_users;//查询有多少特权用户--select * from dba_users; 查询数据库中的所有用户--alter user TEST_SELECT account lock; 锁住用户--alter user TEST_SELECT account unlock; 给用户解锁--create user xujin identified by   xujin; 建立用户--grant create tablespace to xujin; 授权--grant select on tabel1 to xujin; 授权查询--grant update on table1 to xujin;--grant execute on procedure1 to xujin 授权存储过程--grant update on table1 to xujin with grant option; 授权更新权限转移给xujin用户,,许进用户可以继续授权;

--收回权限--revoke select on table1 from xujin1; 收回查询select表的权限;

--revoke all on table1 from xujin;/*grant connect to xujin;revoke connect from xujin grant select on xezf.cfg_alarm to xujin;revoke select on xezf.cfg_alarm from xujin;*/--select table_name,privilege from dba_tab_privs where grantee='xujin' 查询一个用户拥有的对象权限--select * from dba_sys_privs where grantee='xujin' 查询一个用户拥有的系统权限--select * from session_privs --当钱会话有效的系统权限--角色--create role xujin1;--建立xujin1角色--grant insert on xezf.cfg_alarm to xujin1; 将插入表的信息--revoke insert on xezf.cfg_alarm from xujin1; 收回xujin1角色的权限--grant xujin1 to xujin ; 将角色的权限授权给xujin;-- create role xujin2;--grant xujin1 to xujin2; 将角色xujin1授权给xujin2;--alter user xujin default xujin1,xujin2; 修改用户默认角色-- DROP ROLE xujin1;删除角色1;

--select * from role_sys_privs where role=xujin1;--查看许进1角色下有什么系统权限;

--select granted_role,admin_option from role_role_privs where role='xujin2';--查看xujin1角色下面有什么角色权限--select * from role_sys_privs where role='xujin2';--select table_name,privilege from role_tab_privs where role='xujin1';--select * from dba_role_privs where grantee='xujin' --查看用户下面有多少个角色;

更多Oracle相关信息见Oracle 专题页面 ?tid=12

相关文章