Oracle 使用技巧

WBOY
풀어 주다: 2016-06-07 15:38:42
원래의
982명이 탐색했습니다.

1、查看Oracle 版本 通过对存放版本信息的视图V$VERSION 进行检索操作,返回Oracle 版本信息。 2、查看表所占用的空间 对DBA_TABLES 表进行检索操作,返回该表中的表名(TABLE_NAME)、记录数(NUM_ROWS)、和所占空间(BLOCKS)。进行BLOCKS*8/1024/1024运

1、查看Oracle 版本

通过对存放版本信息的视图V$VERSION 进行检索操作,返回Oracle 版本信息。

2、查看表所占用的空间

对DBA_TABLES 表进行检索操作,返回该表中的表名(TABLE_NAME)、记录数(NUM_ROWS)、和所占空间(BLOCKS)。进行BLOCKS*8/1024/1024运算,得到以MB为单位的输出值。8表示当前Oracle 的块大小。

补充:查询当前Oracle块大小

           //查询实例的db_block_size值(为8192 bytes

           SELECTVALUE FROM V$PARAMETER WHERE NAME=‘db_block_size’;

3、查看Oracle 最大连接数

SHOW PARAMETER PROCESSES;

SELECT SESSIONS_MAX, SESSIONS_CURRENT, SESSIONS_HIGHWATER,USERS_MAX

FROM V$LINCENSE;

说明:SESSIONS_HIGHTWATER 的值即为当前Oracle 系统曾经到达的最大连接数

4、查看并统计当前活动用户

SELECT USERNAME, COUNT(USERNAME) FROM V$SESSION GROUP BYUSERNAME;

说明:V$SESSION 视图储存当前正在连接库的信息。

5、查看表空间占用空间情况

将DBA_FREE_SPACE和 DBA_DATA_FILES 进行连接查询

SELECT B.TABLESPACE_NAME, B.BYTES, SUM(A.BYTES)

FROM DBA_FREE_SP--ACE A, DBA_DATA_FIES B WHEREA.FILE_ID = B.FILE_ID

GROUP BY B.TALBESPACE_NAME, B.FILE_ID, B.BYTES

ORDER BY B.FILE_ID;

6、按中文拼音/笔画/部首排序输出

Oracle 9i之前,支持的中文是按照二进制编码进行排序的。Oracle 10g中提供了按照拼音、部首、笔画排序功能。

         NLSSORT(SNAME, ‘NLS_SORT=SCHINESS_STROKE_M’)

l  SCHINESS_RADICAL_M 按照部首(第一顺序)、笔画(第二顺序)排序

l  SCHINESS_STROKE_M 按照笔画(第一顺序)、部首(第二顺序)排序

l  SCHINESS_PINYIN_M 按照拼音排序

7、修改数据库默认日期格式

ALTER SESSION SET NLS_DATE_FORMAT = ‘YYYY-MM-DD HH24:MI:SS’

8、自动生成查询结果序号(ROWNUM)

9、查看数据文件放置的路径

COL FILE_NAME FORMAT A50;

SELECT FIFLE_ID, TALBESPACE_NAME, BATES/1024/1024 FSIZE,FILE_NAME

FROM DBA_DATA_FILES ORDER BY FILE_ID

说明:COL FILE_NAME FORMAT A50 用于设置输出格式,即将列FILE_NAME的最大输出限制在50个字符以内。

10、将查询结果导出到文本文件

使用SPOOL 语句

11、跟踪SQL 语句执行

SET AUTOTRACE ON

补充:使用 SET AUTOTRACE ON 选项需要一定的权限。

12、插入全年日期

CREATE TABLE BSYEAR(D DATE);

INSERT INTO BSYEAR

SELECT TO_CHAR(‘20140101’,‘YYYYMMDD’) + ROWNUM – 1

FROM ALL_OBJECTS

WHERE ROWNUM

13、输出表中某列第N大的记录

SELECT * FROM

(SELECT S.NO, S.NAME, S.AGE, S.BIRTH, S.DPT, DENSE_RANK()

OVER (ORDER BY AGE DESC) RANK)

FROM STUDENTS WHERE RANK = 3

补充:DENSE_RANK() 函数生成的序列从1开始,往后累加,每次ORDER BY 表达式的值发生变化时,该序列也随之增加。

14、返回记录行的物理地址(ROWID)

说明:前6位表示数据对象编号,第7~9 位表示相对表中间的数据文件号,第10~15位表示这条记录在文件中的第几个BLOCK(块)中。

15、查找列存在的重复值得记录

16、删除重复值得记录

17、加密存储过程

使用WRAP 工具,加密后文件后缀”pld”

18、移动数据库文件

a)        SELECT NAME FROM V$DATEFILE; 查询数据文件位置

b)        以管理员身份登录

c)        SHUTDOWN IMMEDIATE 关闭数据库

d)        复制数据库文件

e)        STARTUP MOUNT 重新启动数据

f)         ALTER DATABASE

RENAME FILE ‘原数据库文件路径’ TO ‘新数据库文件路径’

 

本内容摘自《Oracle 数据库编程经典300例》

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿