一次数据库不能归档问题的处理
数据库不能归档,很多的时候是因为磁盘空间不够或者在线日志文件损坏导致。然而4月份的时候,我却遇到一个非常奇怪的归档不成功的问题:[@more@]1、用户数据库不能登陆,查看警告日志,发现下面的错误:ORA-19510: failed to set size of 102395 blocks for file "/oradata/gpsdb/archive/1_9410.dbf" (blocksize=1024)ORA-27037: unable to obtain file statusHP-UX Error: 2: No such file or directoryAdditional information: 5ORA-16038: log 1 sequence# 9409 cannot be archivedORA-19510: failed to set size of blocks
ORACLE RELINK
一个同事问我做过relink吗?我说没有,不过倒是找到一篇文章,介绍得比较详细,特此记录:http://ist.uwaterloo.ca/~baumbach/ORACLEnotes/STARTUP_relinking_oracle.html[@more@]
一次用RMAN做数据库恢复遇到的问题
4月份的时候,一个客户的数据库出现严重的性能问题,到现场后,决定将备份恢复到测试机上并让测试机作为生产库给外界提供服务,然后再比较测试库和生产库上SQL的执行计划,从而找出生产库的问题。事实证明,这个思路是非常正确的。然而当时做RMAN恢复的时候遇到过几个问题,这里记录一下:[@more@]1、遇到的第一个问题是要在操作系统上设置环境变量NLS_LANG和NLS_DATE_FORMAT。我先按照OCP教材上的方式设置了NLS_LANG=AMERICAN,结果登陆RMAN时总是提示错误:设置了错误的值。后来在同事的帮助下顺利解决了相关问题,方法就是设置NLS_LANG
收集到几个别人BLOG的文章
1、利用statspack来获取生成环境中top SQL及其执行计划http://www.hellodba.com/Doc/statspack_report_sql.htm2、'/dev/async' not presenthttp://www.loveunix.cn/html/32/1132-15246.html3、SQLPLUS中@符号不能正常使用http://www.loveunix.cn/html/32/1132-15188.html4、不规范的安装设置引起drop user ora-3113故障http://www.loveunix.cn/html/32/1132-15185.html5、系统慢到Oracle用户连接不上怎么办?http://www.loveunix.cn/html/32/1132-14557.html6、系统维护:用“internal"用户连接hung的数据库http://www.loveunix.cn/i
充满人生哲理的五句话
做人最大的乐趣在于通过奋斗去获得我们想要的东西,所以有缺点意味着我们可以进一步完美,有匮乏之处意味着我们可以进一步努力。当一个人什么都不缺的时候,他的生存空间就被剥夺掉了。如果我们每天早上醒过来,感到自己今天缺点儿什么,感到自己还需要更加完美,感到自己还有追求,那是一件多么值得高兴的事情啊![@more@]下面的五句话,充满了人生哲理,能让我们进一步努力、进一步完美。第一句:优秀是一种习惯这句话是古希腊哲学家亚里士多德说的。如果说优秀是一种习惯,那么懒惰也是一种习惯。人出生的时候,除了脾气会因为天性而有
Can one execute an operating system command from PL/SQL?
http://www.orafaq.com/faq/can_one_execute_an_operating_system_command_from_pl_sql[@more@]
linux下gssftp允许root登陆的设置(转)
编辑文件/etc/xinetd.d/gssftp# description: The kerberized FTP server accepts FTP connections # that can be authenticated with Kerberos 5.service ftp{flags = REUSEsocket_type = streamwait = nouser = rootserver = /usr/kerberos/sbin/ftpd# server_args = -l -aserver_args = -llog_on_failure += USERID# disable = yesdisable = no}将红色的部分注释后,改成紧跟的一行重新启动xinetd[@more@]
关于原来对parse的一些误解
以前总认为只要执行SQL,必然会PARSE,事实上这是不对的。 实际上我们可以大量减少SOFT PARSE。 [@more@]1、如果我们设置参数session_cached_cursors,ORACLE会高速缓存游标,这样对每个会话的某个游标只打开一次并执行很多次,也就是PARSE一次执行很多次。2、在PL/SQL中,会自动高速缓存语句。当你关闭游标时,ORACLE并不马上关闭,而是保持游标打开,希望被再次使用。如果打开的游标数超出了参数文件中的open_cursors值,ORACLE才会抛弃一条高速缓存的游标。PL/SQL只能对静态SQL做到这点。3、在PL/SQL中:a.只要有可能,就应该使用游标(隐
什么是延迟块清除?
Oracle在事务相关的提交列表中,记录下已修改的块列表,每个列表记录20个块,根据需要可能分配有多个这种列表.这种块列表有一个上限,就是缓冲区缓存大小的10%.如果一次修改的块,没有超过了缓冲区缓存大小的10%,并且这些块在内存中,则commit时,会清除块上的事务信息,否则,就不会理会它,直到下次访问这些块时,再清除块中的事务信息,这就是延迟块清除.因为这个Select修改了块的事务信息,所以就会产生Redo.[@more@]---------------------------------------------------------------当Oracle更新数据块时,会在回滚段(UNDO Segment)记录下这一更新
关于HP UX的时钟同步
一、几个概念[@more@]1、时间源可以有GPS时钟,网络上的时间源,系统时间2、按时间源的准确度,可以将时间源按一定层次级别定义,即Stratum Levels3、NTP角色:NTP Servers给其它系统提供时钟服务;多个同层NTP Servers组成NTP Peers,这样当某个NTP Servers不能从更高层获取时间服务,它将临时从Peers中获取;NTP Direct Polling Clients会定期向NTP Servers请求时钟服务;NTP Broadcast Clients是被动获取时钟服务。4、NTP如何调整时钟:进程/usr/sbin/ntpdate在系统启动时被调用,快速同步;进程/usr/sbin/xntpd会定期进行时钟同步;xn
深度分析数据库的热点块问题(作者:biti_rainy )
热点块的定义数据库的热点块,从简单了讲,就是极短的时间内对少量数据块进行了过于频繁的访问。定义看起来总是很简单的,但实际在数据库中,我们要去观察或者确定热点块的问题,却不是那么简单了。要深刻地理解数据库是怎么通过一些数据特征来表示热点块的,我们需要了解一些数据库在这方面处理机制的特性。[@more@]数据缓冲区的结构我们都知道,当查询开始的时候,进程首先去数据缓冲区中查找是否存在查询所需要的数据块,如果没有,就去磁盘上把数据块读到内存中来。在这个过程中,涉及到数据缓冲区中LRU链的管理(8i开始以接触点计数为
今天安装的数据库出现操作系统认证可以通过,口令文件认证不能通过的情况.
[oracle@ud060 admin]$ sqlplus "/ as sysdba"SQL*Plus: Release 10.2.0.1.0 - Production on Wed Feb 28 09:33:57 2007Copyright (c) 1982, 2005, Oracle. All rights reserved.Connected to:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining optionsSQL> conn sys/oracle@wldb as sysdbaERROR:ORA-01031: insufficient privilegesWarning: You are no longer connected to ORACLE.结果发现是密码文件的文件名错了,没有.ora[@more@]
各平台影响oracle Process数的参数(转)
名字描述n合理取值SHMMAX最大共享内存段尺寸(字节)512 kB + 8192 * 缓冲区数 + 额外 ... 无穷大SHMMIN最小共享内存段尺寸(字节)1 (最多大约是 256 kB)SHMSEG每进程最大共享内存段数量只需要 1 个段,不过缺省比这高得多.SHMMNI系统范围最大共享内存段数量类似 SHMSEG + 用于其他应用的空间SEMMNI信号灯标识符的最小数量(也就是说,套)>= ceil(max_connections % 16)SEMMNS系统范围的最大信号灯数量ceil(max_connections / 16) * 17 + 用于其他应用的空间SEMMSL每套信号灯最小信号灯数量>= 17SEMMAP信号灯映射里的记录数量参
When you issue "ALTER TABLESPACE xxx READ ONLY",what will oracle do?
- acquire AT lock exclusive- set datafile not modifyable- Wait on any active TX to commit(If a TX touches the tablespace at this time it gets ORA-372)- Finish off updating TS to read only- Release AT lock AT lock是tablespace的enqueue,目的是串行化对表空间的并发操作[@more@]
查询有多少JOB正在运行,进程被hang住
我在执行select count(*) from dba_jobs_running;时好久不能得到结果[@more@]我在执行select count(*) from dba_jobs_running;时好久不能得到结果,可以知道我的当前SID=251,于是另开一SESSION,提交命令SQL> select event,p1text,p1,p2text,p2 from v$session_wait 2 where sid=251;得到结果:EVENT P1TEXT P1 P2TEXT P2------------------ -------------- ---------- ---------- ---------- buffer busy waits file# 2 block# 9于是继续执行SQL> select file_name,tablespace_name from dba_data_files2 where file_id=23 /得到结果F
关于SMON offlining
最近在数据库日志中发现有很多这样的内容:SMON offlining US=...经网上查找资料,发现这样一段话:This message will be quite common if you are using Automatic Undo Management (AUM). As additional undo segments are needed, they are created. After a period of inactivity, SMON will offline them. Do not fear, they will be onlined if needed. 特此记录备查[@more@]
级连DATAGUARD的实施
这里利用实施的某保险公司的级连DATAGUARD总结一下级连DATAGUARD的好处和实施过程。[@more@]1、数据库环境:主数据库在上海,北京有一个备份中心,中心有一台数据库服务器用作上海当地数据库的STANDBY。目前连接上海和北京的网络带宽为2M。2、存在的问题:由于连接主库和北京Standby数据库的网络带宽只有2M,主库日志在向远程归档的过程中花费了大量的时间(约50分钟)。另外本地日志量很大,正常情况下日志切换时间小于10分钟。这样必然导致归档进程长期占用CPU以及可能的日志切换等待归档完成等问题,从而影响主库性能。即使增加主库日志
利用RMAN创建STANDBY数据库
有两种方法:[@more@]方法一、使用常规的Restore 命令,利用从主数据库拷贝过去的备用控制文件,把备用数据库启动到备用mount 下,这个时候的备用数据库是没有数据文件的。然后在备用端,启动RMAN命令,连接该数据库(与主数据库DBID一样),把从主数据库拷贝过来的RMAN 备份还原出来方法二、使用复制命令,DUPLICATE TARGET DATABASE FOR STANDBY NOFILENAMECHECK;以下是详细过程。1、创建备用参数文件与密码文件,启动备用数据库到nomount下2、备份主数据库与备用控制文件以及所有归档RMAN> Backup Database;RMAN> Backup curren
TRANSPORT TABLESPACE总结
Oracle的传输表空间是指,可以将一个数据库上的一个或多个表空间的全表数据文件拷贝到另一个数据库服务器上,通过导入的方式将表空间信息加载到目标数据库的数据字典中。[@more@]限制:10G之前源和目标数据库必须处于相同的平台源和目标数据库必须使用相同的字符集和国家字符集传输表空间不支持:物化视图或复制、基于函数的索引、Scoped REFs和兼容性设置为8.0时,带有多个收件人的高级队列。使用传输表空间应该使源和目标数据库的兼容性都在8.1以上,如果源数据库中的表空间的block_size和目标数据库的db_block_size不相等,那么目标数据
flashback的使用
9I中,使用的是UNDO表空间,不支持DDL,下面是几个例子[@more@]i)dbms_flashback.get_system_change_number ii)select * from t1 as of scn ...;iii)select * from yang as of timestamp (When enabling Flashback using a wall-clock time, the database chooses an SCN that was generated within five minutes of the time specified. )iv)dbms_flashback.enable_at_system_change_numberselect * from t1;dbms_flashback.disablev)dbms_flashback.enable_at_timeselect * from t1;dbms_flashback.disable10G中: