转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> ORACLE >> 正文
我的oracle笔记四(DBA管理)         ★★★★

我的oracle笔记四(DBA管理)

作者:闵涛 文章来源:闵涛的学习笔记 点击数:4059 更新时间:2009/4/22 22:03:42

29. 看各个表空间占用磁盘情况:

SQL> col tablespace format a20
      SQL> select
      b.file_id                                                          文件ID号,
      b.tablespace_name                                                     表空间名,
      b.bytes                                                           字节数,
      (b.bytes-sum(nvl(a.bytes,0)))                        已使用,
      sum(nvl(a.bytes,0))                                                     剩余空间,
      sum(nvl(a.bytes,0))/(b.bytes)*100                     剩余百分比
      from dba_free_space a,dba_data_files b
      where a.file_id=b.file_id
      group by b.tablespace_name,b.file_id,b.bytes
      order by b.file_id
 
30. 如把ORACLE设置为MTS或专用模式?
#dispatchers="(PROTOCOL=TCP) (SERVICE=SIDXDB)"
加上就是MTS,注释就是专用模式,SID是指你的实例名。

31. 如何才能得知系统当前的SCN号 ?
select max(ktuxescnw * power(2, 32) + ktuxescnb) from x$ktuxe;

32. 修改oracel数据库的默认日期
 alter session set nls_date_format=''''yyyymmddhh24miss'''';
   OR
 可以在init.ora中加上一行
 nls_date_format=''''yyyymmddhh24miss''''

33. 将小表放入keep池中
alter table xxx storage(buffer_pool keep);

34. 如何检查是否安装了某个patch?
 check that  oraInventory

35. 如何修改oracle数据库的用户连接数?
修改initSID.ora,将process加大,重启数据库.

36. 如何创建SPFILE?

SQL> connect / as sysdba
 SQL> select * from v$version;
 SQL> create pfile from spfile;
SQL> CREATE SPFILE FROM PFILE=''''E:\ora9i\admin\eygle\pfile\init.ora'''';

文件已创建。
SQL> CREATE SPFILE=''''E:\ora9i\database\SPFILEEYGLE.ORA'''' FROM PFILE=''''E:\ora9i\admin\eygle\pfile\init.ora'''';
文件已创建。


37. 內核参数的应用
    shmmax
  含义:这个设置并不决定究竟Oracle数据库或者操作系统使用多少物理内存,只决定了最多可以使用的内存数目。这个设置也不影响操作系统的内核资源。
  设置方法:0.5*物理内存
  例子:Set shmsys:shminfo_shmmax=10485760
  shmmin
  含义:共享内存的最小大小。
  设置方法:一般都设置成为1。
  例子:Set shmsys:shminfo_shmmin=1:
  shmmni
  含义:系统中共享内存段的最大个数。
  例子:Set shmsys:shminfo_shmmni=100
  shmseg
  含义:每个用户进程可以使用的最多的共享内存段的数目。
  例子:Set shmsys:shminfo_shmseg=20:
  semmni
  含义:系统中semaphore identifierer的最大个数。
  设置方法:把这个变量的值设置为这个系统上的所有Oracle的实例的init.ora中的最大的那个processes的那个值加10。
  例子:Set semsys:seminfo_semmni=100
  semmns
  含义:系统中emaphores的最大个数。
  设置方法:这个值可以通过以下方式计算得到:各个Oracle实例的initSID.ora里边的processes的值的总和(除去最大的Processes参数)+最大的那个Processes×2+10×Oracle实例的个数。
  例子:Set semsys:seminfo_semmns=200
  semmsl:
  含义:一个set中semaphore的最大个数。
  设置方法:设置成为10+所有Oracle实例的InitSID.ora中最大的Processes的值。
  例子:Set semsys:seminfo_semmsl=-200

38. 怎样查看哪些用户拥有SYSDBA、SYSOPER权限?

SQL>conn sys/change_on_install
SQL>select * from V_$PWFILE_USERS;


 
39. 如何查看数据文件放置的路径 ?
col file_name format a50
SQL> select tablespace_name,file_id,bytes/1024/1024,file_name from dba_data_files order by file_id;

40. 如何查看现有回滚段及其状态 ?
SQL> col segment format a30
SQL> SELECT SEGMENT_NAME,OWNER,TABLESPACE_NAME,SEGMENT_ID,FILE_ID,STATUS FROM DBA_ROLLBACK_SEGS


41. Oracle常用系统文件有哪些?
通过以下视图显示这些文件信息:v$database,v$datafile,v$logfile v$controlfile v$parameter;

42.查看数据库实例
SQL>SELECT * FROM V$INSTANCE;

43. 怎样估算SQL执行的I/O数 ?
SQL>SET AUTOTRACE ON ;
SQL>SELECT * FROM TABLE;
OR
SQL>SELECT *  FROM  v$filestat ;

可以查看IO数

44. 怎样扩大REDO LOG的大小?
建立一个临时的redolog组,然后切换日志,删除以前的日志,建立新的日志。


45. 查询做比较大的排序的进程?
   <1>
   SELECT b.tablespace, b.segfile#, b.segblk#, b.blocks, a.sid, a.serial#,
   a.username, a.osuser, a.status
   FROM v$session a,v$sort_usage b
   WHERE a.saddr = b.session_addr
   ORDER BY b.tablespace, b.segfile#, b.segblk#, b.blocks ;

  <2>. 查询做比较大的排序的进程的SQL语句
   select /*+ ORDERED */ sql_text from v$sqltext a
   where a.hash_value = (
   select sql_hash_value from v$session b
   where b.sid = &sid and b.serial# = &serial)
   order by piece asc ;

46. ORA-01555 SNAPSHOT TOO OLD的解决办法
   增加MINEXTENTS的值,增加区的大小,设置一个高的OPTIMAL值。
   如果是执行大的事务,报此错误,说明oracle给此事务随机分配的回滚段太小了,这时可以为它指定一个足够大的回滚段,以确保这个事务的成功执行.例如

set transaction use rollback segment roll_abc;
delete from table_name where ...
commit;
  回滚段roll_abc被指定给这个delete事务,commit命令则在事务结束之后取消了回滚段的指定.

 
47. 事务要求的回滚段空间不够,表现为表空间用满(ORA-01560错误),回滚段扩展到达参数      MAXEXTENTS的值(ORA-01628)的解决办法.
   向回滚段表空间添加文件或使已有的文件变大;增加MAXEXTENTS的值。

   
48. 监控事例的等待
   select event,sum(decode(wait_Time,0,0,1)) "Prev",
   sum(decode(wait_Time,0,1,0)) "Curr",count(*) "Tot"
   from v$session_Wait
   group by event order by 4;

49. 回滚段的争用情况
   select name, waits, gets, waits/gets "Ratio"
   from v$rollstat C, v$rollname D
   where C.usn = D.usn;

50 监控表空间的 I/O 比例
   select B.tablespace_name name,B.file_name "file",A.phyrds pyr,
   A.phyblkrd pbr,A.phywrts pyw, A.phyblkwrt pbw
   from v$filestat A, dba_data_files B
   where A.file# = B.file_id
   order by B.tablespace_name;

51、监控文件系统的 I/O 比例
   select substr(C.file#,1,2) "#", substr(C.name,1,30) "Name",
   C.status, C.bytes, D.phyrds, D.phywrts
   from v$datafile C, v$filestat D
   where C.file# = D.file#;

52、监控 SGA 的命中率
   select a.value + b.value "logical_reads", c.value "phys_reads",
   round(100 * ((a.value+b.value)-c.value) / (a.value+b.value)) "BUFFER HIT RATIO"
   from v$sysstat a, v$sysstat b, v$sysstat c
   where a.statistic# = 38 and b.statistic# = 39
   and c.statistic# = 40;

53、监控 SGA 中字典缓冲区的命中率
   select parameter, gets,Getmisses , getmisses/(gets+getmisses)*100 "miss ratio",
   (1-(sum(getmisses)/ (sum(gets)+sum(getmisses))))*100 "Hit ratio"
   from v$rowcache
   where gets+getmisses <>0
   group by parameter, gets, getmisses;

54、监控 SGA 中共享缓存区的命中率,应该小于1%
   select sum(pins) "Total Pins", sum(reloads) "Total Reloads",
   sum(reloads)/sum(pins) *100 libcache
   from v$librarycache;

   select sum(pinhits-reloads)/sum(pins) "hit radio",sum(reloads)/sum(pins)    "reload percent"
   from v$librarycache;

55、显示所有数据库对象的类别和大小
   select count(name) num_instances ,type ,sum(source_size) source_size ,
   sum(parsed_size) parsed_size ,sum(code_size) code_size ,sum(error_size)    error_size,
   sum(source_size) +sum(parsed_size) +sum(code_size) +sum(error_size)    size_required
   from dba_object_size
   group by type order by 2;

56、监控 SGA 中重做日志缓存区的命中率,应该小于1%
   SELECT name, gets, misses, immediate_gets, immediate_misses,
   Decode(gets,0,0,misses/gets*100) ratio1,
   Decode(immediate_gets+immediate_misses,0,0,
   immediate_misses/(immediate_gets+immediate_misses)*100) ratio2
   FROM v$latch WHERE name IN (''''redo allocation'''', ''''redo copy'''');

57、监控内存和硬盘的排序比率,最好使它小于 .10,增加 sort_area_size
   SELECT name, value FROM v$sysstat WHERE name IN (''''sorts (memory)'''', ''''sorts      (disk)'''');


58、监控当前数据库谁在运行什么SQL语句?
   SELECT osuser, username, sql_text from v$session a, v$sqltext b
   where a.sql_address =b.address order by address, piece;

59、监控字典缓冲区?
   SELECT (SUM(PINS - RELOADS)) / SUM(PINS) "LIB CACHE&quo

上一页  [1] [2] [3] [4] [5] [6]  下一页


[网页制作]为 DBA 推荐几个邮件列表  [SyBase][推荐]对 Sybase ASE DBA 的建议!你能做到吗?
[ORACLE]ORACLE DBA常用SQL脚本工具-管理篇(1)  [ORACLE]Oracle DBA Interview Questions
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台