Home  >  Article  >  Database  >  Oracle密码机制以及常用操作

Oracle密码机制以及常用操作

WBOY
WBOYOriginal
2016-06-07 17:13:091204browse

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

linux

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:OCM考试中Dataguar的配置Next article:Oracle 集合运算