一、基础环境
操作系统:Windows 或 Linux
数据库版本:Oracle Database 11.2.0.1.0 及以上版本
二、常用操作命令
- 用户管理类
用户名 | 角色 | 默认密码 | 说明 |
---|---|---|---|
SYS | 超级管理员 | 安装时设置 |
所有Oracle的数据字典的基表和视图都存放在SYS用户中,这些基表和视图对于Oracle的运行是至关重要的,由数据库自己维护,任何用户都不能手动更改。sys用户拥有DBA,SYSDBA,SYSOPER等角色或权限,是Oracle权限最高的用户。
|
SYSTEM | 普通管理员 | 安装时设置 | 用于存放次一级的内部数据,如Oracle的一些特性或工具的管理信息。SYSTEM用户拥有普通DBA角色权限。可用来创建其他用户。 |
SCOTT | 示范用户 | 安装时设置 | 在默认情况下从Oracle10g开始,SCOTT不能登陆。被禁用了。需要手工解锁。 |
创建用户:
CREATE USER [username]
IDENTIFIED BY [password]
[DEFAULT TABLESPACE 默认表空间名称] --如果该选项省略,则该用户的默认表空间为USERS
[QUOTA 表空间配额数值[K|M]|UNLIMITED ON默认表空间名称] --如果该选项省略,则用户在表空间上的配额为0,不能在表空间上建立数据库对象。
[TEMPORARY TABLESPACE 临时表空间名称] --如果该选项省略,则该用户的临时表空间为系统的临时表空间
[PASSWORD EXPIRE] --密码过期,如果设置该选项,用户首次登陆时必须修改密码,否则拒绝登陆
修改密码:
ALTER USER [uaername] IDENTIFIED BY [password];
用户加锁和解锁:
ALTER USER [username] ACCOUNT LOCK / UNLOCK;
查询当前用户的角色:
SELECT USERNAME, GRANTED_ROLE, ADMIN_OPTION, DEFAULT_ROLE, OS_GRANTED FROM USER_ROLE_PRIVS;
查询当前用户具备的系统权限:
SELECT PRIVILEGE FROM SESSION_PRIVS;
删除用户:
DROP USER [username] CASCADE;
如果不加参数 CASCADE。Oracle数据库不会删除包含对象的用户,除非您指定了级联,否则除非首先显式地删除用户的对象。用户的对象不会被删除,只会被设置成无效。包括:基表、视图、同义词、存储过程、函数、包、其他用户建立的基于被删除用户的物化视图不会被删除,只是不能在刷新了。用户模式下的所有触发器全部被删除,被删除用户建立的其他用户不会被删除。正在连接的用户不能被删除。
在删除用户之前指定级联以删除用户模式中的所有对象。你必须指定此子句以删除包含任何对象的用户。包括:基表、视图、同义词、存储过程、函数、包、触发器等。
注意:安全的做法是为用户加锁,而不是删除用户。
- 系统表类
1、查询用户自己的所有的表注释:
SELECT TABLE_NAME, TABLE_TYPE, COMMENTS FROM USER_TAB_COMMENTS
2、查询表空间使用率
SELECT A.TABLESPACE_NAME "表空间名",
TOTAL / (1024 * 1024) "表空间大小(MB)",
FREE / (1024 * 1024) "表空间剩余大小(MB)",
(TOTAL - FREE) / (1024 * 1024) "表空间使用大小(MB)",
ROUND((TOTAL - FREE) / TOTAL, 4) * 100 "使用率 %"
FROM (SELECT TABLESPACE_NAME, SUM(BYTES) FREE
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) A,
(SELECT TABLESPACE_NAME, SUM(BYTES) TOTAL
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME) B
WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME
ORDER BY A.TABLESPACE_NAME