系统参数设置不当导致ORACLE坏块的故事
请大家访问 tyoracle.com 关注最新的博文发布个人介绍本人TY,从事ORACLE DBA十五年,从ORACLE 8I开始,一直奋战在一线,本着对技术的狂热,一直走到今天,积累了大量的经验与案例,期待静下心来,将这些案例与经验化成文字,与大家分享,共同进步。前言作为从事DBA...
ora-04021错误分析处理过程
ora-04021错误分析处理过程
ext4文件系统下的corrupt data block 问题处理
linux ext4 oracle troubleshooting
ORA-8104/ORA-8106的处理
ORA-8104/ORA-8106的处理 【分类信息】 故障处理在生产环境下重建索引是十分危险的,一旦出现故障,将十分麻烦。所以老白很少在生产时间重建较大的索引。一旦ALTER INDEX ... REBUILD ONLINE失败,那么就可能碰到一个十分严重的问题。重新做索引重建会报ORA-8104/8106错误,导致无法重建索引。直到SMON清理了上回失败的现场才能进行重建。在10.2版本里,Oracle提供了一个 dbms_repair.online_index_clean来解决这个问题。对于9.2版本,BUG3805539曾经提出为9.2版本出一个补丁的请求,不过Oracle拒绝了这个补丁请求。所以在9.2里,只能采取
Integrate EM Console Startup/Shutdown into Clusterware Control
When installing a RAC clusterware is responsible for starting and stopping required resources automatically and in required order. Under normal circumstances every resource is integrated with one exception: EM Control.So this is a short guide on how to integrate EM Console startup/shutdown into Clusterware resource control.First of all you need a startup/shutdown script:#!/bin/sh case $1 in 'start') /u01/app/oracle/product/11.2.0/db_1/bin/emctl start dbconsole RET=$? ;; 'stop') /u0
windows 2k3 + 10G RAC 安装的一些注意事项
hosts的配置127.0.0.1 localhost.com localhost# Public1x1.33.14.3 w2k3rac1.com w2k3rac11x1.33.14.4 w2k3rac2.com w2k3rac2#Private10.255.235.13 w2k3rac1-priv.com w2k3rac1-priv10.255.235.14 w2k3rac2-priv.com w2k3rac2-priv#Virtual1x1.33.14.7 w2k3rac1-vip.com w2k3rac1-vip1x1.33.14.11 w2k3rac2-vip.com w2k3rac2-vip运行runcluvfy.bat stage -pre crsinst -n rac01,rac02 -verbose检查安装条件如果报找不到用于 VIP 的合适接口集。有两个原因:public 网卡不能是 10*,192*,172*; public网卡
ASM 磁盘操作手册
向已有的ASM 磁盘组增加磁盘的方法:1. 加硬盘,分区,用fdisk -l 查看分区表2. 在root用户下/etc/init.d/oracleasm listdisks/etc/init.d/oracleasm createdisk VOL4 /dev/sde1[@more@]然后到另一节点/etc/init.d/oracleasm scandisks3.到oracle下export ORACLE_SID=+ASM1sqlplus / as sysdbaselect state,header_status,substr(name,1,12) Name,free_mb, substr(path,1,16) PATH from v$asm_disk;STATE HEADER_STATUS NAME FREE_MB PATH---------------- ---------------
用ocfs创建数据库时一定要注意
要用dbca -datafileDestination /opt/oracle/data_ocfs/rac 这个命令来运行否则会报stat for /opt/oracle/data_ocfs/rac/spfilerac.ora file failedThe filename "/opt/oracle/data_ocfs/rac/spfilerac.ora" entered for the persistent initialization parameters file (spfile) is not a valid raw device.Please enter a valid raw device name with its full path.[@more@]
CRSCTL命令的用法举例(转帖)
主要内容: . CRS 的组成 . CRSCTL命令的用法举例 . Start/Stop RAC Instance[@more@] 1. How the crs related services startup when OS startup or reboot:OS: LinuxFrom the directory (/etc/init.d), There are four executable shell scripts:init.crs (Combination of all services' start)init.crsd (crs daemon)init.cssd (cluster synchronization service)init.evmd (event manager)Note: /etc/init.d/init.crs start is not supported until 10.1.0.4/etc/init.d/init.crs stop is supported since 10.1.0.22. How to start
在SQLPLUS里显示相对应的用户名和实例名
The following entries in either of these files sets the prompt to "user@database>" define gname = 'not connected'column global_name new_value gnameset termout offselect lower(user) || '@' || replace(global_name,'.WORLD',null) global_namefrom global_name;set termout onset sqlprompt '&&gname> 'However, this is only run ONCE (when you login), so if you're the kind of person that issues "conn" or "connect" from within your SQL Plus session, you can then c
在UNIX裸设备和文件系统之间移动ORACLE(ZT)
在UNIX裸设备和文件系统之间移动ORACLE(ZT)在UNIX裸设备和文件系统之间移动ORACLE 作者:Rejoice999 在UNIX裸设备和文件系统之间移动ORACLE 一、关于裸设备 1.1 什么是裸设备(RAW DEVICE) 裸设备是指未创建文件系统的磁盘分区(raw partition)或逻辑卷(raw logical volume),应用程序直接通过一 个字符设备驱动程序对它进行访问。如何对设备上的数据读写决定于使用它的应用程序。由于对裸设备的操作不通过UNIX的缓冲区,数据在ORACLE的数据缓冲区(BUFFER CACHE)和磁盘之间直接传递,所以使用裸设备在一定程度上能够提高
限定特定IP访问数据库
可以在$OREACLE_HOME/network/admin下直接修改sqlnet.ora文件,增加如下内容:tcp.validnode_checking=yes#允许访问的iptcp.invited_nodes=(ip1,ip2,……)#不允许访问的iptcp.excluded_nodes=(ip1,ip2,……) 修改sqlnet.ora后,重新启动listener服务,改动就可以生效了。 如果有人从不允许的IP客户端连接过来,会出现以下错误: ERROR: ORA-12537: TNS: 连接已关闭 这种在Oracle网络层实现客户端IP访问限制的方法在防火墙后面的局域网内部可以采用。不允许访问IP地址的方法我觉得应用可能不大,因为IP地址是很容易修改的,但
今天遇到了ora-00381,以此记录一下
今天因为应用死机,导致数据库RAC1也莫名死机,最后不得不重启数据库服务器,重启后发现才不能启动实例,报SQL> startup mount ORA-00381: cannot use both new and old parameters for buffer cache size specification数据库为9I的RAC,用的是*.db_block_buffers=262144*.db_block_size=8192参数,目的是为了使用更大的SGA,以前是正常的,而且RAC2也是正常的对比RAC2的参数和SPFILE里的参数,有这么一句不同*.db_cache_advice='ON'而RAC2没有死机,可以查到参数,其为*.db_cache_advice='OFF'可能是因为平时更改了参数而没有写进spfile,所以我就
<转帖>各种语句的不同写法
原文引自:http://fuyuncat.itpub.net/post/5203/56053各种语句的不同写法fuyuncat最近处理的问题涉及SQL Tuning的东西比较多。不少语句不是加几个索引这么简单,而是语句是在太复杂了,有些作者都不知道是谁,逻辑非常难理解。碰到这种情况着实令人头疼。但是根据经验,很多语句的书写方式是可以用其他方式代替,通过尝试修改语句的写法,往往取得不错的效果。当然,改变语句的写法只是语句优化的一种手段之一,在这个基础上,在结合其他的优化手段(采用PLSQL块提花单个语句、采用游标、提示等)才能取得最好的优化效果。以下的替换中,大
优化今天在系统里捉的一条语句
SQL> SELECT BASE_UUID,BASE_CREATEUSERID,BASE_CREATEUSERNAME,BASE_CREATEDATE,BASE_RECEIVERID,BASE_RECEIVERNAME,BASE_ACCESSVALUE,BASE_USETIMES,BASE_HASH,BASE_KIND_UUID,BASE_BASE_UUID,BASE_VER1,BASE_VER2,BASE_VER3,BASE_LB,BASE_FORMAT,BASE_HEADER_GWFSXH,BASE_HEADER_MMDJ,BASE_HEADER_BMQX,BASE_HEADER_JJCD,BASE_HEADER_FWJGBS,BASE_HEADER_FWJGDZ,BASE_HEADER_NF,BASE_HEADER_XH,BASE_HEADER_QFR,BASE_BODY_BT,BASE_BODY_ZCJG,BASE_BODY_CSDW,BASE_BODY_CBDW,BASE_ATTAHC_NUMBER,BASE_BODY_CWRQ,BASE_BODY_YC,BASE_BO
在logzgh老大的指导下,终于解决了ORA-01189
ORA-01189: file is from a different RESETLOGS than previous files ORA-01190: controlfile or data file string is from before the last RESETLOGS dba在将整个数据库dd拷贝过来后,重建控制文件时,将3号文件给漏掉了,然后又open resetlogs打开数据库了。alter database rename file '/opt/oracle/product/9.2.0.4/dbs/MISSING00003' to '/opt/oracle/oradata/test/indx01.dbf';于是想将该 文件online起来或者做recover datafile 3时报出上面的错误。我想oracle判断这个文件是不是resetlogs之前的文件,肯定是数据文件头有个标志的
<转帖>一些常用的dump命令,让自己好查
1、分析数据文件块,转储数据文件n的块m alter system dump datafile n block m 2、分析日志文件 alter system dump logfile logfilename; 3、分析控制文件的内容 alter session set events 'immediate trace name CONTROLF level 10' 4、分析所有数据文件头 alter session set events 'immediate trace name FILE_HDRS level 10' 5、分析日志文件头 alter session set events 'immediate trace name REDOHDR level 10' 6、分析系统状态,最好每10分钟一次,做三次对比 alter session set events 'immediate trace name SYSTEMSTATE level
rman备份数据库所需权限
connect,resource ,RECOVERY_CATALOG_OWNERsqlnet.ora中,必须将SQLNET.AUTHENTICATION_SERVICES= (NTS)注释使用rmanconnect target rman/rman或rman target rman/rman连接不知为什么使用rman target rman/rman@sid会报如下错误Recovery Manager: Release 9.2.0.4.0 - ProductionCopyright (c) 1995, 2002, Oracle Corporation. All rights reserved.RMAN-00571: ===========================================================RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============RMAN-00571: =====================
关于竖横表转换(转帖)
关关关于于于竖竖竖表表表转转转横横横表表表的的的问问问题题题本文作者 dinya内容摘要:在开发过程,经常遇到一些将表的显示方式进行转换的需求,我们习惯性称之为竖表到横表的转换,本文通过一个例子来简要说明常见的两种竖表转横表的问题。本文适宜读者范围:Oracle初级,中级系统环境:OS:windows 2000 Professional (英文版)Oracle:8.1.7.1.0正文:在实际的应用中,我们经常遇到需要转换数据显示方式,比如将横表转为竖表,或将竖表转换为横表的情况,如:课程表的显示方式,部门平均工资的排名等情况。下面将将根据两个实例子的需
增加表空间文件需小心
系统: AS3.5 + oracle 9.2.0.4 RAC今天下午,接到开发人员电话,说应用不能上传附件,然后我打开数据库检查发现一个表空间满了,只有往表空间里加文件了因为太懒,就在sqlplus里直接打alter tablespace DATA add datafile 'data03.dbf' size 10000m;运行完后,用toad检查,才发现数据文件并不是加到阵列上,而是加到了RAC1 本机的硬盘上,这时吓了一跳,主要原因还是太懒,没有把路径写全.唯有等下班后,把表空间脱机,然后移动数据文件到阵列上了,哎,以后不要贪方便处理步骤:alter tablespace DATA offline normal;cd /opt/oracle/product/9.2.0.4/