【持续更新】Oracle 常用的系统命令

一、基础环境

  操作系统: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

猜你喜欢

转载自blog.csdn.net/u011046671/article/details/105102131
今日推荐