误将对象创建在system表空间中

昨天一位同事在执行创建数据库全量对象脚本时,在sys用户下执行了,那些本来应该在应用用户下创建的对象,不小心创建在了sys用户下。由于创建的对象是一个脚本执行的,里面有近1500个对象,要是一个一个删除,那是不可能了。 由于测试部的同事急着要用,先在应用用户下重新把创建数据库对象的全量脚本再次执行了 […]

Continue Reading

insert大量数据的一些经验

在很多时候,我们会需要对一个表进行插入大量的数据,并且希望在尽可能短的时间内完成该工作,这里,和大家分享下我平时在做大量数据insert的一些经验。 前提:在做insert数据之前,如果是非生产环境,请将表的索引和约束去掉,待insert完成后再建索引和约束。 1. [crayon-6606b7b2 […]

Continue Reading

一次可怕的crosscheck

某省有个数据库的备份坏了,同事采取的策略是每天定期的用脚本删除归档。于是,当备份恢复的时候,需要做一次crosscheck,以便验证那些归档是validate的,于是可怕的事情发生了:crosscheck运行了1小时,还是没动静——需要crosscheck的日志太多了!! 查了一下文档,原来cros […]

Continue Reading

oracle的sysdba权限登录问题

最近的时间,在搞数据库的安全加固问题,关于数据库中关于sysdba权限的登录,通过最近的一些实践和测试,在这里记录一下: 数据库用sysdba登录的验证有两种方式,一种是通过os认证,一种是通过密码文件验证;登录方式有两种,一种是在数据库主机直接登录(用os认证的方式),一种是通过网络远程登录;需要 […]

Continue Reading

RAC的高可用也不是那么好用

oracle一直在“鼓吹”着他的rac是如何如何的高可用,如何如何的可以实现针对应用透明的failover,但是,在实际的使用过程中,要完全实现这样的透明,条件是何等的苛刻。 先从一次故障说起吧。某天中午正在吃饭的时候,突然接到电话做应用程序连接数据库挂死了,并且也在客户端测试连接数据库也是挂死,长 […]

Continue Reading

数据库迁移几种方式简单介绍

我们常常需要对数据进行迁移,迁移到更加高级的主机上、迁移到远程的机房上、迁移到不同的平台下…… 一、exp/imp:

二、存储迁移:

三、利用data guard迁移: […]

Continue Reading

一次redolog丢失的恢复

接到同事的电话,某省的一个用于监控的siteview数据库启动不了了,登录后检查alertlog发现:

原来是redolog被干掉了,其实对于redolog的丢失,如果丢失的不是active或者current(这个在win中一般不会被 […]

Continue Reading

愚人节,被数据库“娱”了一下

4月1日,早上7点半正要出门的时候,被某省的同事电话叫住了,说归档目录快满了,由于带库正在备份另一个生产库,这个报表库暂时还不能用带库备份归档,想用手工删除归档日志,却无法删除,ls能列出所有文件,但是ls 某一个归档文件却报错无法找到该文件!单个文件ls不到,更别说rm了。 归档目录剩下6G左右的 […]

Continue Reading

建表空间的时候数据库宕机

今天在建表空间的时候,数据库不知道被谁停了,在建的时候报oracle not avaliable,等再次确认没有“雷锋”帮我shutdown数据库之后,startup了数据库。启动时,没有报错,提示数据库已经mount、已经open。 可是,再次重建表空间的时候,却报错了数据文件已经存在: [cra […]

Continue Reading

add column时default null的问题

昨晚在对一个省进行打patch时,发现数据库升级脚本执行了很久还没执行完,查看了一下这个执行了很久的语句:

类似这样的语句有好几个,而且由于其中涉及到了流水的历史表——一个非常非常大的分区表,执行时间非常的长!其中的一个已经执行了1个 […]

Continue Reading

从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