AnySQL的DESC命令不仅可以显示表结构, 还显示了表是否分区及其索引信息, 这是DBA在平常的数据库管理中是很实用的功能, 请看下面的例子:
ASQL> desc scott.emp
NO# NAME NULLABLE TYPE
--- ------------------------- -------- ------------
1 EMPNO NOT NULL NUMBER(4)
2 ENAME VARCHAR2(10)
3 JOB VARCHAR2(9)
4 MGR NUMBER(4)
5 HIREDATE DATE
6 SAL NUMBER(7,2)
7 COMM NUMBER(7,2)
8 DEPTNO NUMBER(2)
TYPE ISUNQ INDEX_NAME NO# COLUMN_NAME DESCEND
------ ------ --------------- --- ----------- -------
NORMAL UNIQUE PK_EMP 1 EMPNO ASC
PARTITIONED AVG_ROW_LEN NUM_ROWS BLOCKS EMPTY_BLOCKS
----------- ----------- -------- ------ ------------
NO
在对数据库对象进行某些操作(如Rename, Drop等)之前, 先看一下对象的依赖关系是一个很好的习惯, 它会告诉你这个对象依赖于那些对象, 及哪些对象依赖于将要操作的对象. 如果过程或视图创建失败, 用这个功能也可以帮你快速定位失败原因.
ASQL> DEPEND SYS.DBMS_SUMMARY
Reference:
TYPE D_OWNER D_NAME D_TYPE DEPEND
------------ ------- ---------------- ------------ ------
PACKAGE BODY SYS STANDARD PACKAGE HARD
PACKAGE SYS STANDARD PACKAGE HARD
PACKAGE BODY SYS DBMS_SUMMARY PACKAGE HARD
PACKAGE BODY PUBLIC DBMS_OLAP SYNONYM HARD
PACKAGE BODY SYS DBMS_SUMREF_UTIL PACKAGE HARD
PACKAGE BODY SYS DBMS_SUMADVISOR PACKAGE HARD
PACKAGE BODY SYS DBMS_OLAP NON-EXISTENT HARD
Referenced By:
TYPE R_OWNER R_NAME R_TYPE DEPEND
------- ------- ------------ ------------ ------
PACKAGE PUBLIC DBMS_SUMMARY SYNONYM HARD
PACKAGE PUBLIC DBMS_OLAP SYNONYM HARD
PACKAGE SYS DBMS_SUMMARY PACKAGE BODY HARD
在我的其他工具中, 经常会输出一个SQL的哈希值, 可以用下面这个自定义命令看SQL的文本:
ASQL> ora hash 3109775760
SELECT /* AnySQL */ SQL_TEXT "SQL Executing"
FROM V$SQLTEXT_WITH_NEWLINES
WHERE HASH_VALUE = TO_NUMBER(:1)
ORDER BY PIECE
更多的功能, 请等下一篇介绍.