1、创建用户.
CREATE USER user_name
IDENTIFIED BY password
[DEFAULT TABLESPACE default_tablespace |
TEMPORARY TABLESPACE temp_tablespace |
PROFILE profile
QUOTA [ integer K | M ]
| UNLIMITED ON tablespace
| PASSWORD EXPIRE
| ACCOUNT LOCK | UNLOCK
];
-------------------------------------------------
使用 PASSWORD EXPIRE 语句,用来设置用户口令过期、失效,强制用户在登录数据库时必须修改口令。
-------------------------------------------------
使用 ACCOUNT LOCK 或者 ACCOUNT UNLOCK 选项, 表示是否锁定或者解锁用户账号。用户被锁定后,不可用。
-------------------------------------------------
查看用户信息: DBA_USERS数据字典.
2、修改用户.
ALTER USER user_name
IDENTIFIED BY password
[DEFAULT TABLESPACE default_tablespace |
TEMPORARY TABLESPACE temp_tablespace |
PROFILE profile
QUOTA [ integer K | M ]
| UNLIMITED ON tablespace
| PASSWORD EXPIRE
| ACCOUNT LOCK | UNLOCK
];
修改口令:
alter">sys@SDROLUN>alteruser yangboxuan identified byy; --方法1
sys@SDROLUN>grant connect to yangboxuanidentified byyangboxuan; --方法2.
修改默认表空间:
使用户口令失效:
alter user yangboxuan passwordexpire;">sys@SDROLUN>alteruser yangboxuan password expire;
锁定用户 |解锁用户:
alteruser xuenaunlock;">sys@SDROLUN>alteruser xuena unlock;
3、删除用户.
sys@SDROLUN>drop user yangboxuan cascade;
用户已删除。
查看用户会话信息.
1、使用数据字典视图 V$SESSION
17:50:47 scott@SDROLUN>conn scott/tiger已连接。
17:50:27 sys@SDROLUN>select sid, serial#,logon_time, username, machine from v$session;
SID SERIAL#LOGON_TIME USERNAME MACHINE
---------- ---------- -------------- ---------------------------------------------
141 2694 24-7月-11 YANGBOXUAN-PC
143 8 24-7月-11 SYSMAN yangboxuan-PC
145 7373 24-7月-11 SYS WORKGROUP\YANGBOXUAN-PC
148 142 24-7月-11 SYSMAN yangboxuan-PC
150 1120 24-7月-11 SCOTT WORKGROUP\YANGBOXUAN-PC
152 1 24-7月-11 YANGBOXUAN-PC
154 1 24-7月-11 YANGBOXUAN-PC
158 4100 24-7月-11 SYS WORKGROUP\YANGBOXUAN-PC
已选择8行。
已用时间: 00: 00: 00.06
17:51:06 sys@SDROLUN>alter system kill session'150,1120'; --断开scott的连接
系统已更改。
已用时间: 00: 00: 00.00
17:51:32 sys@SDROLUN>select sid, serial#,logon_time, username, machine from v$session;
SID SERIAL#LOGON_TIME USERNAME MACHINE
---------- ---------- -------------- ---------------------------------------------
141 2701 24-7月-11 YANGBOXUAN-PC
143 8 24-7月-11 SYSMAN yangboxuan-PC
145 7373 24-7月-11 SYS WORKGROUP\YANGBOXUAN-PC
148 142 24-7月-11 SYSMAN yangboxuan-PC
152 1 24-7月-11 YANGBOXUAN-PC
154 1 24-7月-11 YANGBOXUAN-PC
158 4100 24-7月-11 SYS WORKGROUP\YANGBOXUAN-PC
已选择7行。
已用时间: 00: 00: 00.05
=============================================================================================
17:50:57 scott@SDROLUN>select * from emp;
select * from emp
*
第 1 行出现错误:
ORA-00028: 您的会话己被终止
已用时间: 00: 00: 00.00
2、使用 视图V$OPEN_CURSOR --记录了用户连接数据库后所执行的SQL语句。
3、V$SESSION_WAIT --监控数据库中事件的等待信息。
二、权限.
系统权限:系统级控制,可以决定是否可以连接到数据库,在数据库中可以进行哪些操作等。
例:创建会话、创建表、创建视图、创建视图等。 针对用户来设置的。
对象权限: Oracle中,可以授权的数据库对象包括:
表、视图、序列、存储过程和函数 等。
对象权限一般是针对用户模式对象的。例如:用户访问模式对象中的表。
Oracle 对数据库对象权限 采用分散控制方式,允许具有 WITH GRANT OPTION的用户把相应权限授予其他用户,但不允许循环授权,——即 被授权者 不能把权限 再授予授权者或其祖先。
系统权限.
1、系统权限的分类: * 包含 ANY关键字的系统权限 --可在Oracle任何模式中进行相应的操作。
* 不包含 ANY 关键字的系统权限 --只能在用户自己的模式中进行相应操作。
DBA系统权限(数据库对象管理)
ANALYZEANY --分析表、簇、索引
CREATE/ALTER/DROP ANYCLUSTER
CREATE/ALTER/DROP ANYINDEX
CREATE/ALTER/DROP ANYPROCEDURE
EXECUTE ANY PROCEDURE
GRANT ANY PRIVILEGE
ALTER/DROP ANY ROLE
GRANT ANY ROLE
CREATE/ALTER/DROP ANYSEQUENCE
SELECT ANY SEQUENCE
CREATE/ALTER/DROP ANYTABLE
COMMENT ANY TABLE
SELECT ANY TABLE
INSERT ANY TABLE
UPDATE ANY TABLE
DELETE ANY TABLE
LOCK ANY TABLE
FALSHBACK ANY TABLE
CREATE ANY VIEW
DROP ANY VIEW
CREATE/ALTER/DROP ANYTRIGGER
ADMINISTRATOR DATABASETRIGGER
CREATE/DROP ANYSYNONYM --同义词
DBA系统权限(数据库维护)
ALTERDATABASE --修改数据库的结构 权限,例:管理日志文件
ALTERSYSTEM --修改数据库系统的初始化参数
CREATE/DROP PUBLICSYNONYM --公共同义词
CREATE/ALTER/DROPPROFILE --资源配置文件
CREATE/ALTER/DROP ROLE
CREATE/ALTER/DROPTABLESPACE
MANAGERTABLESPACE --管理表空间,使表空间处于 online、
offline、
begin backup、
end backup 状态。
UNLIMITEDTABLESPACE --不受配额限制的使用表空间。
CREATE SESSION
ALTER SESSION
ALTER RESOURCECOST --更改配置文件中资源消耗的方式
RESTRICTEDSESSION --在数据库受限会话模式下连接到数据库
CREATE/ALTER/DROP USER
BECOMEUSER --当执行完全装入时,称为另一个用户
SYSOPER(系统操作员权限)
--START UP、
--SHUTDOWN、
--ALTER DATABASE MOUNT/OPEN、
--ALTER DATABASE BACKUP CONTROLFILE、
--ALTER DATABASE BEGIN/END BACKUP、
--ALTER DATABASEARCHIVELOG、
--RECOVER DATABASE、
--RESTRICTED SESSION、
--CREATE SPFILE/PFILE
SYSDBA(系统管理员权限)--SYSOPER所有权限,并带WITHADMIN OPTION子句
SELECT ANYDICTIONARY --允许查询以“DBA_”开头的数据字典.
数据库开发人员的系统权限
CREATE/DROPCLUSTER --在自己的模式中 创建、删除 聚簇
CREATE/DROP PROCEDURE
CREATE/DROP DATABASELINE
CREATE/DROP SYNONYM
CREATE/DROP SEQUENCE
CREATE TRIGGER
CREATE TABLE
CREATE VIEW
CREATETYPE --创建对象类型 的权限
2.授予系统权限
GRANT system_privilege TO
PUBLIC | role | user_name
[WITH ADMIN OPTION].
system@SDROLUN>grant create session to boxuanwith admin option;
授权成功。
已用时间: 00: 00: 00.03
system@SDROLUN>grant create table, create view toboxuan;
授权成功。
3.系统权限的回收: REVOKE
REVOKE 系统权限 FROM PUBLIC |role | user_name ;
system@SDROLUN>revoke create table, create viewfrom boxuan;
撤销成功。
4.对象权限
授予对象权限: GRANT object_privilege | ALL [PRIVILEGES]
ON [schema.]object
TO PUBLIC | role | user_name
[WITH GRANT OPTION]
system@SDROLUN>grant select on scott.dept toboxuan;
授权成功。
system@SDROLUN>conn boxuan/boxuan;
已连接。
boxuan@SDROLUN>select * from scott.dept;
DEPTNODNAME LOC
---------- -------------- -------------
10ACCOUNTING NEW YORK
20RESEARCH DALLAS
30SALES CHICAGO
40OPERATIONS BOSTON
--将表 DEPT 的 All权限授予所有用户
system@SDROLUN>grant all on scott.dept topublic;
授权成功。
4.9.对象权限的回收
REVOKE object_privilege | ALL [PRIVILEGES]
ON [ schema.]object
FROM PUBLIC | role | user;
scott@SDROLUN>revoke all on dept from public;
撤销成功。
5、查看权限信息.
存储权限信息的数据字典视图
数据字典视图 描述
------------------- ---------------------------------------------------------------
DBA_COL_PRIVS 包含数据库中所有 授予表列 上的 对象权限信息
ALL_COL_PRIVS_MADE 包含当前用户作为对象权限的 授予者,在所有列上的对象权限信息。
ALL_COL_PRIVS_RECD 包含当前用户作为对象权限的 接收者,在所有列上的对象权限信息。
DBA_TAB_PRIVS 包含数据库所有的对象权限信息。
DBA_SYS_PRIVS 包含数据库所有的系统权限信息。
SESSION_PRIVS 包含当前数据库用户可以使用的权限信息。
1、使用 DBA_SYS_PRIVS
2、 DBA_TAB_PRIVS
角色.
创建角色: create role role_name [notidentified | identified by password]
sys@SDROLUN>create role role1
2 identified by password;
角色已创建。
sys@SDROLUN>grant create session, create table,create view to role1 with admin option;
授权成功。
sys@SDROLUN>grant role1 to boxuan;
授权成功。
conn">sys@SDROLUN>connboxuan/boxuan ;
已连接。
boxuan@SDROLUN>select * from role_sys_privs;
ROLE PRIVILEGE ADM
---------------------------------------------------------------------- ---
ROLE1 CREATETABLE YES
ROLE1 CREATESESSION YES
ROLE1 CREATEVIEW YES
修改用户的默认角色:
--设置用户角色 失效
system@SDROLUN>alter user boxuan default rolenone;
用户已更改。
--设置用户角色 生效.
system@SDROLUN>alter user boxuan default roleALL;
用户已更改。
禁用和启用角色:
set role role1.
查看角色信息:
DBA_ROLES --记录数据库中所有的角色
DBA_ROLE_PRIVS --记录所有已经被授予用户和角色的角色。
USER_ROLES --包含已经授予当前用户的角色信心
ROLE_ROLE_PRIVS
ROLE_SYS_PRIVS
ROLE_TAB_PRIVS
SESSION_ROLES
.