分享

Oracle 常用的一些操作(续...)

 昵称10504424 2013-12-18

1查看会话“锁定”的所有对象!

select session_id sid, owner, name, type, mode_held held, mode_requested request

from DBA_DDL_LOCKS

where session_id=(select sid from V$mystat where rownum=1)

/ (注:owner 列是所锁定对象的所有者)

2.总消耗时间最多的前10条SQL语句!

select sql_id,child_number,sql_text,elapsed_time

from(select sql_id,child_number,sql_text,elapsed_time,cpu_time,disk_reads,rank()over(order by elapsed_time desc) as elapsed_rankfrom V$sql)

where elapsed_rank<=10

/

3.报警功能:能够识别出会忽略或者吞掉错误的异常!

alter session set plsql_warnings='enable:all'

4. 查看缓冲区中生成的"redo size"的大小

create or replace function get_ stat_val (p_name in varchar2) return number

is

l_val number;

begin

select b.value

into l_val

from v$statname a,v$mystat b

where a.statistic#=b.statistic# and a.name=p_name;

return l_val;

end;

5.查看已用"undo"块的个数

select used_ublk

from v$transaction

where addr=(select taddr

from v$session

where sid=(select sid

from v$mystat

where rownum=1)

)

/

6.用数据字典视图查看对象的列名等信息

select name,...

from sys.col$

where obj#=(select object_id

from dba_objects

where object_name='EMPLOYEES'

and owner='HR')

/(或 from user_objects where objects_name=' '查看当前用户对象的列信息)

7.查看表空间中已分配和未分配的空间

selectb.tablespace_name,mbytes_alloc,mbytes_free

from(select round(sum(bytes)/1024/1024) mbytes_free,tablespace_name

from dba_free_space

group by tablespace_name) a,

(select round(sum(bytes)/1024/1024) mbytes_alloc,tablespace_name

from dba_data_files

group by tablespace_name) b

where a.tablespace_name(+)=b.tablespace_name

and b.tablespace_name='USERS'

/

8.查看语言环境

select userenv ('language') from dual;

9.块转储

from dba_extents,dba_segments --得到file_id,block_id

alter system dump datafile file_id block block_id--得到转储块

D:\app\lx_sunwei\diag\rdbms\orcl\orcl\trace\orcl_ora_17220.trc --打开转储文件信息

10.使用statspack查看数据库运行状态

>sys/as sysdba (登陆)

>createtablespace stats_pa

datafile 'D:\...' (建默认表空间大于100M

>create temporary tablespace stats_temp

tempfile 'D:\...' (建临时表空间)

>@ '%oracle_home%\rdbms\admin\spcreate.sql'

>execute statspack.snap

>execute statspack.snap

>@ '%oracle_home%\rdbms\admin\spreport.sql'

查看生成的快照:

selectt.snap_id,to_char(t.snap_time,'yyyy-mm-dd hh:mi:ss')as SP_Time,t.snapshot_exec_time_s

from STATS$SNAPSHOT t;

删除stats$snapshot 数据表中的相应数据,其他表中的数据会相应的级连删除:

select max(snap_id)fromstats$snapshot;

delete from stats$snapshot where snap_id < n;

卸载statspack:

@ '%ORACLE_HOME%\rdbms\admin\spdrop.sql'

11.保存 SQL*Plus 环境变量

store set mysqlplus.sql

12.改变提示符

set sqlprompt '_connect_identifier'

13.pause 命令使屏幕信息按屏显示,按Enter键显示下一屏

set pause on/of

14.break 命令设置断点

break on col_1 skip page on col_2 skip 1 --相同col_1打印一页,相同col_2分组打印

15.repfooter/repheader 命令报告的底部或顶部打印指定的文本

repfooter page right 'this footer '

repheader page center 'this header'

16.btitle/ttitle 命令将标题放在每页的底部或顶部

btitle 'this btitle'

title 'this ttitle'

17.save 命令保存缓存区内容到文件

save save_name.sql

18.spool 命令保存输出结果到文件

spool spool_name.txt

sql语句

spool off/out(将文件发送到默认打印机)

19.sqlterminator/blockterminator 命令语句终止符(;),语句的结束(.)

set sqlterminator on/of

set sqlterminator on/of

20.配置 database control

emca -config dbcontrol db

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多