联机日志文件损坏后的恢复方法[转帖]
大家都清楚,联机日志分为当前联机日志和非当前联机日志,非当前联机日志的损坏是比较简单的,一般通过clear命令就可以解决问题。 1、启动数据库,遇到ORA-00312 or ORA-00313错误,如 ORA-00313: open failed for members of log group 1 of thread 1 ORA-00312: online log 1 thread 1: 'D:ORACLEORADATATESTREDO01.LOG' 从这里我们知道日志组1的数据文件损坏了 从报警文件可以看到更详细的信息[@more@]2、查看V$log视图 SQL> select group#,sequence#,archived,status from v$log; GROUP# SEQUENCE# ARCHIVED STATUS ---------- ---
redhatserver5中监听器启动不起来
操作系统:Red Hat Enterprise Linux Server release 5.2 (Tikanga)oracle数据库:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bi[@more@]本机上sqlplus "/as sysdba"是可以进入数据库的,在启动监听器时出现如下情况:[oracle@btasetl log]$ lsnrctl startLSNRCTL for Linux: Version 10.2.0.1.0 - Production on 13-10ÔÂ-2009 09:52:59Copyright (c) 1991, 2005, Oracle. All rights reserved.Starting /u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr: please wait...TNS-12537: TNS:conne
forall用法小结[转贴]
本文主要翻译、整理了 ORACLE 官方文档上有关 FORALL 的部份内容,不妥之处,还希望多和大家交流。在发送语句到 SQL 引擎前,FORALL 语句告知 PL/SQL 引擎批挷定输入集合。尽管FORALL 语句包含一个迭代(iteration)模式,它并不一是个 FOR 循环。其语法为:FORALL index IN lower_bound..upper_boundsql_statement;[@more@]一、如何使用批挷定提高性能(How Do Bulk Binds Improve Performance)在 PL/SQL 和 SQL 引擎(engines)中,太多的上下文切换(context switches)会影响性能。这个会发生在当一个循环为集合中的每个
ora-600 [4000]的又一次处理[转帖]
今天公司有台开发库由于大楼停电,导致数据库起不来,报出的错误是ora-600 [4000] [5]这样的错误。类似于这样的错误我以前也处理过一次。详见这里。由于是开发库又有备份,所以把这个案例拿来玩玩:[@more@]用10046事件打开,可以看到下面的信息:create table bootstrap$ ( line# number not null, obj# number not null, sql_text varchar2(4000) not null) storage (initial 50K objno 56 extents (file 1 block 377))PARSING IN CURSOR #2 len=55 dep=1 uid=0 oct=3 lid=0 tim=1220697932880067 hv=2111436465 ad='64bde9f4'select li
shutdown之前的好习惯[转帖]
shutdown之前的好习惯今天看到的OTN文档375935.1,讲的时候为什么shutdown immediate有时候会hang住。其中一个原因是因为在shutdown immediate前有大的transaction需要rollback,只能等待事务回滚完毕,数据库达到一致的状态,才能顺利shutdown.因此,shutdown数据库之前最好察看一下是否有大的transaction在运行。[@more@]select sum(used_ublk) from v$transaction;如果没有心思等待而执行了shutdown abort,则在再次启动数据库时候,startup时要做rollback回滚操作,仍然需要很多时间。长短取决于要回滚的事务的大小。10g> select *
crs_stop -all 命令后遇到 UNKNOWN解决及RAC资源启动顺序
crs_stop -all 命令后遇到 UNKNOWNcrs_stop -all 命令后遇到 UNKNOWNRAC中执行crs_stop -all后提示一些服务停不了,再用crs_stat -t查看状态的时候,停不掉的服务会显示状态是UNKNOWN,服务在UNKNOWN状态下用 crs_start 不能启动服务[@more@]例如:[oracle@rac1 ~]$ crs_stop -allAttempting to stop `ora.rac1.gsd` on member `rac1`Attempting to stop `ora.rac1.ons` on member `rac1`Attempting to stop `ora.rac2.gsd` on member `rac2`Attempting to stop `ora.ora9i.db` on member `rac1`Attempting to stop `ora.rac2.ons` on mem
Memory Notification: Library Cache Object loaded into SGA问题
问题:alert_SID.log出现Memory Notification: Library Cache Object loaded into SGAHeap size 2289K exceeds notification threshold (2048K)[@more@]Oracle10g中,在load较大的对象进library cache中时,会记录以上警告。在版本10.2.0.1中,这个定义大对象的阈值是2M,这是有隐含参数_kgl_large_heap_warning_threshold指定的,如果系统中需要load很多大对象,又不想在alert中看到太多这类的警告信息,可以修改该参数:SQL> alter system set "_kgl_large_heap_warning_threshold"=8388608 scope=spfile;参数值以字节为单
彻底搞清楚library cache lock的成因和解决方法
问题描述:接到应用人员的报告,说是在任何对表CSNOZ629926699966的操作都会hang,包括desc CSNOZ629926699966,例如:[@more@]ora9i@cs_dc02:/ora9i > sqlplus pubuser/pubuserSQL*Plus: Release 9.2.0.4.0 - Production on Mon Jan 10 10:11:06 2005Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.Connected to:Oracle9i Enterprise Edition Release 9.2.0.4.0 - 64bit ProductionWith the Partitioning and Real Application Clusters optionsJServer Release 9.2.0.4.0 - ProductionSQL> conn pubuser/pub
数据库异常缓慢的解决 - FAST_START_PARALLEL_ROLLBACK[转帖]
现象: 1. 应用连接数据异常缓慢。 2,数据库主机cpu占用率居高不下 , io 写入居高不下。分析:[@more@]1 首先,怀疑应用有问题。 因为多个应用连接数据库,所以一个个应用停止后,查看其他应用的数据库执行速度。 经过测试。 只剩下最后一个应用后,执行速度仍然很慢,数据库cpu仍然占用很高。 2 接着怀疑是数据库的问题。 接着怀疑是数据库的问题, 把最后一个应用也停止, 把监听器停止。重启数据库,发现主机的io, cpu仍然是居高不下。把数据库关闭后,io,cpu马上就到了清闲状态。 重启
ORACLE统计信息的导出、导入
1 创建一个专用表保存各表的统计信息: exec dbms_stats.create_stat_table('ks38','fys'); 2 将各表的统计信息导入到ks38.fys表中; exec dbms_stats.export_table_stats('ks38','tcl_cust_base_info',null,'fys'); ---可以创建不是登陆用户下的表;如用system登陆,可以创建表到‘ks38'用户下[@more@]或将指定schema的统计信息导入到ks38.fys表中 exec dbms_stats.export_schema_stats('ks38','fys'); 注: 若将整个数据库的统计信息导出到某个表必须按以下方式做: 1)用SYSDBA角色的用户登陆(如system) 2) ex
TKPROF使用步骤[转帖]
Trace Kernel Profile1.设置参数文件设置三个参数timed_staticstices user_dump_dest max_dump_file_sizetimed_staticstices 用于启动或禁止对定时统计信息(如CUP时间、占用时间),以及动态性能表中多种统计信息的收集功能alter session set timed_statistics true;alter system set timed_statistics false;[@more@]MAX_DUP_FILE_SIZE 当实例层启用SQL TRACE的时候,在每次请求服务器的时候,都将在跟踪文件中产生一个文本行,这些文件的最大尺寸受限于初始化参数的设置。默认为500(blocks)。若里面的数据被截断则增大SIZE。若为UNLIMI
10201升级到10204的ORA-01092问题的解决
oracle 10201升级到10204后出现下现问题SQL> startupERROR at line 1:ORA-01092: ORACLE instance terminated. Disconnection forced[@more@]alertErrors in file /oracle/admin/mydb2/udump/mydb2_ora_5811.trc:ORA-00704: bootstrap process failureORA-39700: database must be opened with UPGRADE optionMon Mar 2 06:11:29 2009Error 704 happened during db open, shutting down databaseUSER: terminating instance due to error 704Instance terminated by USER, pid = 5811ORA-1092 signalled during: alter database open..
解决升级数据库时遇到的Text file busy错误
今天在将一个数据库从9204升级到9206时候(p3948480_9206_HP64),遇到一个报错:Exception String: Error in writing to file '/oracle/app/oracle/product/9.2.0/lib32/libwtc9.sl'. [/oracle/app/oracle/product/9.2.0/lib32/libwtc9.sl (Text file busy)] Exception Severity: 2 Exception handling set to prompt user with options to Retry Ignore [@more@]User Choice: Retry Exception thrown from action: copyGroupFromJar Exception Name: IOException2 Exception String: Error in writing to file '/oracle/app/oracle/prod
Oracle10g for Redhat Server 5数据库安装中出现ORA-00600: internal error code, arguments: [keltnfy-ldmInit
今天在Oracle 10g for Redhat Enterprise Server 5数据库安装 中出现了ORA-00600: internal error code, arguments: [keltnfy-ldmInit,通过搜索[@more@][root@erpserver ~]# cat /etc/sysconfig/networkNETWORKING=yesNETWORKING_IPV6=noHOSTNAME=erpserver[root@erpserver ~]# ping btasetlping: unknown host btasetl[root@erpserver ~]# vi /etc/hosts# Do not remove the following line, or various programs# that require network functionality will fail.::1 localhost.localdomain localhost增加了一行 10.1.71.152 bta
Online rebuild index遭遇ORA-08104
在online rebuild index的过程中,如果中途异常终止(比如按ctrl+c强行退出),运气不好的话,可能会遇到问题,在你想重新rebuild index(或者drop,analyze)的时候,报错:ORA-08104: this index object 67420 is being online built or rebuilt[@more@]这是由于在异常终止online rebuild操作的时候,oracle没来得及清理相应的临时段和标志位,系统认为online rebuild操作还在进行造成的。在Oracle10g之前,对于这种情况没有太好的办法,只有等SMON进程来进行清理了。网上有说上重启可以解决,有说直接update系统表ind$的,对于不能停机的
Oracle 10g 静默安装
//////////////////////////////////////////////////////////---- Step 1. 准备文件1). 拷贝文件 10201_database_linux32.zip 到 /oracle目录下;2). 解压(可用鼠标右击解压,或用口令, cd /oracle)[root@lym oracle]# uzip 10201_database_linux32.zip3). 在/etc目录下创建一个名为 oraInst.loc 的文件,文件中的内容(两行代码)如下:inventory_loc=ORACLE_BASE/oraInventoryinst_group= oinstall[@more@]4). 输入下面的命令在oraInst.loc文件上设置合适的拥有者,组和权限:[root@lym oracle]# chown oracle:oinstall oraInst.loc[root@
Oracle 10g for Redhat Enterprise Server 5数据库安装
在Redhat Enterprise Server 5上安装Oracle10g的过程,分成两个部分,第一部分是安装rhel5,第二部分是安装oracle 10g。此文档是针对默认安装rhel5系统,对于安装redhat的话对硬件没什么特殊要求,而oracle就不一样了,官方网站上讲最好有512M内存,1GB的swap,3.7GB的磁盘空间。[@more@]一.安装Oracle 10G1.安装前的准备工作下载oracle,去oracle官方网站就可以下载,需要OTN账号(免费注册)。最好看看官方的安装指导。文章链接如下:http://www.oracle.com/technology/documentation/database10g.html 英文完全手册大全http://www.orac
ora-01013 用户请求取消当前的操作
今天在测试的过程中发现了一个通过ODBC连接的程序出现如下错误:[Oracle][ODBC][Ora]ORA-01013: user requested cancel of current operation Free_Process_ID()执行SQL错误: update process_status set USE_FLAG='N', PROCESS_HANDLE='0_' where PROCESS_ID='3'解决方法如下:[@more@]1。修改 $ORACLE_HOME/network/admin/sqlnet.ora . 添加或修改成:sqlnet.expire_time = 0 这将关闭oracle的连接状态检测。 2。在ODBC管理中去掉 'Enable Query Timeout'复选框。 3。在程序中的连接数据库的字符串中添
在ORACLE移动数据库文件
正在看的ORACLE教程是:在ORACLE移动数据库文件。 ---- ORACLE数据库由数据文件,控制文件和联机日志文件三种文件组成。由于磁盘空间的变化,或者基于数据库磁盘I/O性能的调整等,数据库管理员可能会考虑移动数据库文件。下面以UNIX平台为例,分别讨论三种数据库文件的移动方法。[@more@]---- 一.移动数据文件: ---- 可以用ALTER DATABASE,ALTER TABLESPACE两种方法移动数据文件。 ---- 1. ALTER DATABASE方法; ---- 用此方法,可以移动任何表空间的数据文件。 ---- STEP 1. 下数据库: $ svrmgrlSVRMGR > CONNECT INTERNAL;SVRMGR &
oracle logminer使用终级总结
1、Logminer的要素(1)源数据库[被解析的数据库] (2)解析数据库[运行Logminer的数据库](3)数据字典文件[包括数据库对象号和具体对象信息比如:table zbs_test Object ID #t34343](4)重做日志文件[源数据库产生的重做日志文件] 2、三种解析方式 (1)在线解析[在线模式] (2)通过字典文件解析[离线模式] (3)将字典写入到Redo Log[离线模式][@more@]在线模式可以进行实时解析,离线模式只能解析已经归档的数据。如果实时性要求不高[T+1肯定是可以使用离线模式],进行强制归档后也可以 使用每种模式的条件判断如下:下面