ORACLE 系统权限管理

Oracle 9i 的默认三个用户和密码
sys/change_on_install (网络管理员) 用此用户连接数据库一定要加上 [as sysdba]
system/manager (本地管理员)
scott/tiger (用户)

Oracle 10
在安装的时候,用户指定sys 和 system密码
scott默认锁定.需要解锁使用.


======================================================================


--启动监听和实例
C:\Documents and Settings> lsnrctl start

C:\Documents and Settings> oradim -starup -sid orcl

--登录超级管理员用户
C:\Documents and Settings> sqlplus / as sysdba

--显示当前用户--
SQL> show user;

--创建一个用户和密码--
--(技巧:如果忘记了identified by, 就是用create user icdpub; 会提示指定 identified by )
SQL> create user icdpub identified by icdpub;

--删除一个用户
--drop user ; 仅仅是删除用户,drop user picdwf cascade ;会删除此用户名下的所有表和视图。
SQL> drop user picdwf cascade;


--对用户授权(创建session的权限)
SQL> grant create session to icdpub;

--对用户授权(创建表的权限)
SQL> grant create table to icdpub;

--对用户授权(使用表空间的权限)
SQL> grant unlimited tablespace to icdpub;

----用户拥有了创建表和表空间使用的权限,就可以对自己创建的表进行增删改查操作----

--取消权限(取消创建表权限)
SQL> revoke create table from icdpub;

----提供系统信息的视图,叫数据字典----
--视图user_sys_privs
--查询当前用户拥有的系统权限
SQL> select * from user_sys_privs;


-------默认情况下,oracle需要手动提交 commit;------


--授权表table对icdwf拥有select权限
SQL> grant select on table to icdwf;

--授权表table对icdwf拥有insert权限
SQL> grant insert on table to icdwf;

--授权表table对icdwf拥有对此表的所有权限
SQL> grant all on table to icdwf;

--取消权限
SQL> revoke all on table to icdwf;

----总结: 谁拥有,谁授权----

----create table 权限对所有用户有效(系统管理员可赋)----
SQL> grant create any table to public;


----设置行宽度----
SQL> set linesize 400

----查询当前用户对表所拥有的权限----
SQL> select * from user_tab_privs;


----断开连接----
SQL> disconn

----重新获取连接----
SQL> conn icdpub/icdpub

----查询和删除不能控制到列权限----

----赋与icdwf对表table的字段name拥有update权限----
SQL> grant update(name) on table to icdwf;


----查询当前用户的列权限----
SQL> select * from user_col_privs;

----权限传递(赋icdpub alter权限,并且icdpub可以对这个权限赋给其他用户)
SQL> grant alter any table to icdpub with admin opton;

--权限传递(赋icdpub select 权限,并且icdpub可以对这个权限赋与其他用户)
SQL> grant select on table to icdpub with grant option;

--不是所有的权限都能赋予角色 如: unlimited tablespace
--角色可以拥有如: create table ,create any table,alter any table,drop any table
--角色不可以拥有的权限如: alter table,drop table
--alter table,drop table 是因为在拥有了create table权限,默认会有drop 和 alter的权限

--查询当前用户所属角色
SQL> select * from user_role_privs;

--创建角色
SQL> create role myrole;

--对角色myrole赋与session权限
SQL> grant create session to myrole;

--对角色myrole赋与create table权限
SQL> grant create table to myrole;

--创建用户icdcct
SQL> craate user icdcct identified by icdcct;

--把icdcct 加入到 myrole 角色
SQL> grant myrole to icdcct;

--删除角色
SQL> drop role myrole;


-- 表是属于某一个用户的,角色下创建的表,野是属于某个用户的.

--超级用户修改普通用户密码
SQL> alter user icdpub identified by tiger;


--oracle 的三种验证机制
--1) 操作系统验证
--2) 密码文件验证
--3) 数据库验证


--拥有sysoper 和 sysdba 权限的用户可以启动和停止数据库

--所以拥有sysoper 和 sysdba 权限的用户使用的是 操作系统验证 和 密码文件验证

--linux 下 orcle的启动过程
-- lsnrctl start (启动监听)
-- sqlplus sys/oracle as sysdba (登录) --进行操作系统验证和密码文件验证
--普通用户的话,就直接去数据库验证(会失败)
-- sqlplus /nolog --oracle 9版本需要这两步操作替代上面的命令
-- conn sys/oracle as sysdba --oracle 9版本需要这两步操作替代上面的命令
-- startup


--windows 下 oralce的启动过程

-- lsnrctl start
-- oradim -starup -sid orcl

--使用操作系统默认用户登录(用户名和密码可以任意乱写,或者不写)
--处理办法是,把计算机管理中的组 ora_dba中的用户删除
SQL> sqlplus / as sysdba

--oralce 9 的超级系统用户密码忘记处理办法(因为超级用户使用的验证方式是操作系统验证和密码文件验证,所以把原有口令文件删除,再创建一个密码文件)

E:\oracle\ora92\database\pwdora9i.ora;(以pwd开头,ora结尾)
C:\Documents and Settings> orapwd file=E:\oralce\ora92\database\pwdora9i.ora password=sys entries=10;

SQL> select* from v$pwfile_user;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值