从sql语句取IP地址想到的……

今天遇到了一个问题,某省的报表应用链接数据库报错:

进一步检查line 337行的sql:SELECT utl_inaddr.get_host_address FROM dual; 测试在数据库主机执行该语句,正常!测试在应用服务器端 […]

Continue Reading

listener的log大于2G造成侦听无法启动

今天遇到某省的一个问题,siteview监控软件报错:

在siteview主机用sqlplus测试登录db也是同样报错,登录db主机后,ps -ef |grep tns 发现lsnr的进程已经不存在。于是尝试重启lsnr: [cray […]

Continue Reading

deadlock引起数据库挂死

某天,应用程序突然挂了,程序中报错连不上数据库。登录数据库主机后,发现sqlplus也登录不了,登录时,sqlplus长时间没有响应,检查alertlog只是发现半小时前检测到一个deadlock,没有其他的报错信息。心想oracle检测到deadlock能自动解锁,因此一开始没怀疑到是因为dead […]

Continue Reading

查找疯狂增长的arch-续

今天还想到一个问题,如果导致arch疯涨的进程如果是job引起的?会怎么样子? 通过测试,用昨天的方法也确实能找出相关引起arch疯涨的sid,但是问题就出在kill session这边了。如果是通过job来跑的进程,找到相应的sid kill之,session 的status会变成killed,但 […]

Continue Reading

如何查找疯狂增长arch的进程

如果我们要找到是什么进程引起了arch疯狂增长,我们可以用这样的方法来查找: 我们假设我们要生成一个大表,用ctas的方法来做,由于是ddl语句,我们在v$sqlarea里面找不到对应的语句,但是我们发现这个session产生大量的arch,那么我们怎么去找这个session呢? [crayon-6 […]

Continue Reading

修改props$中字符集的恢复

在9i和10g还有11g的数据库中,如果我们update了props$数据字典中的多个字符集的值,造成数据库无法启动,除了用bbed modify数据块外,oracle还自带了一个工具lbuilder,可以用来恢复。 下面介绍下这个工具的使用。 数据库版本和原来的字符集: [crayon-6903e […]

Continue Reading

关于rman建DG的tempfile

用rman建dataguard之后,在备库的机器上是没有tempfile文件的,因此我们在switchover之后,需要让备库作为primary顶一段时间,需要有tempfile来进行排序操作。那么,我们怎么给备库加tempfile呢? 在这里需要注意的是,由于数据库没有tempfile也能启动,因 […]

Continue Reading

提交SR的一些小技巧

在平时的时候,遇到一些问题总会在metalink上提交SR(Service Request,SR,过去也叫Technical Assistance Request,TAR ),我们提交sr的时候,总是希望早点能够得到问题的解答。那么我们该如何提交sr,提交sr后该如何提高解答的速度呢? 1.sr分为 […]

Continue Reading

insert时关于&符号的录入

今天遇到一个问题,同事用动态sql生成的insert语句,其中含有&符号,在做insert时,这个&符号就被作为一个变量提示符了。如何解决这个问题?其实很简单:set define off

我们发现set defi […]

Continue Reading

DP的RDS服务无法启动

今天遇到个问题,dp备份arch时,在dp的界面报错daemon is not running, 进一步查看detail发现是dp的rds服务没有启动, 由于dp的cell manager是安装在windows 2003 server的机器上,通过控制面板的服务,无法启动,在命令行里面也启动不了: […]

Continue Reading