当前位置:操作系统 > Unix/Linux >>

orcl创建用户赋予权限

orcl创建用户赋予权限
 
一、系统权限分类: 
DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。 
RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。
 
CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
 
对于普通用户:授予connect, resource权限。 
对于DBA管理用户:授予connect,resource, dba权限。
 
二、系统特权管理与控制 
ORACLE 提供了80多种系统特权,其中每一个系统特权允许用户执行一个或一类数据库操作。 
 
1、授予系统特权
 
(1) SQL> grant connect, resource, dba to 用户名1 [,用户名2]...; 
(2) 
SQL>GRANT CREATE USER,ALTER USER,DROP USER 
>TO 
jxzy_new 
>WITH ADMIN OPTION; 
 
2、回收系统特权 
SQL>REVOKE 
CREATE USER,ALTER USER,DROP USER 
>FROM 
jxzy_new 
//但没有级联回收功能 
 
3、显示已被授予的系统特权(某用户的系统级特权) 
SQL>select * 
fromsys.dba_sys_privs
 
SQL> select * from role_sys_privs;
 
4、删除用户:SQL> drop user 用户名 cascade; 
//加上cascade则将用户连同其创建的东西全部删除
 
5、将表的操作权限授予全体用户: 
SQL> grant all on product to 
public;// public表示是所有的用户,这里的all权限不包括drop。 
[ 实体权限数据字典]: 
SQL> select owner, table_name from 
all_tables; // 用户可以查询的表 
SQL> select table_name from 
user_tables;// 用户创建的表 
SQL> select grantor, 
table_schema, table_name, privilege from all_tab_privs; // 
获权可以存取的表(被授权的) 
SQL> select grantee, owner, table_name, privilege 
from user_tab_privs;// 授出权限的表(授出的权限)
 
6、 DBA用户可以操作全体用户的任意基表(无需授权,包括删除): 
DBA用户: 
SQL> Create 
table stud02.product( 
id number(10), 
name 
varchar2(20)); 
SQL> drop table stud02.emp;
 
SQL> create table stud02.employee 
as 
 
select * from scott.emp;
 
三、修改用户: 
1、修改口令字: 
SQL>Alter user acc01 identified by "12345";
 
2、修改用户缺省表空间: 
SQL> Alter user acc01 default tablespace users;
 
3、修改用户临时表空间 
SQL> Alter user acc01 temporary tablespace 
temp_data;
 
4、强制用户修改口令字: 
SQL> Alter user acc01 password expire;
 
5、将用户加锁 
SQL> Alter user acc01 account lock;// 加锁 
SQL> 
Alter user acc01 account unlock;// 解锁
 
四、删除用户 
SQL>drop user 用户名;//用户没有建任何实体 
SQL> drop user 用户名 
CASCADE;// 将用户及其所建实体全部删除
 
*1. 当前正连接的用户不得删除。
 
五、监视用户: 
1、查询用户会话信息: 
SQL> select username, sid, serial#, 
machine from v$session;
 
2、删除用户会话信息: 
SQL> Alter system kill session 'sid, serial#';
 
3、查询用户SQL语句: 
SQL> select user_name, sql_text from 
v$open_cursor;
 
SQL> ALTER SESSION SET 
NLS_LANGUAGE= 'SIMPLIFIED 
CHINESE' 
NLS_TERRITORY= 'CHINA' 
NLS_CURRENCY= 
'RMB' 
NLS_ISO_CURRENCY= 'CHINA' 
NLS_NUMERIC_CHARACTERS= 
'.,' 
NLS_CALENDAR= 'GREGORIAN' 
NLS_DATE_FORMAT= 'yyyy-mm-dd 
dy' 
NLS_DATE_LANGUAGE= 'SIMPLIFIED CHINESE' 
NLS_SORT= 
'BINARY' 
TIME_ZONE= '+08:00' 
NLS_DUAL_CURRENCY = 
'RMB' 
NLS_TIME_FORMAT = 'HH.MI.SSXFF AM' 
NLS_TIMESTAMP_FORMAT 
= 'DD-MON-RR HH.MI.SSXFF AM' 
NLS_TIME_TZ_FORMAT = 'HH.MI.SSXFF AM 
TZH:TZM' 
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,