Troubleshooting 19c RAC CRS resource db show “UNKNOWN” state , srvctl start instance CRS-2680

有套ORACLE 19c RAC在使用crsctl 查看db resource时显示“UNKNOWN”, 但是用sqlplus 可以启动db 实例,srvctl status instance显示not running. 手动启动instance 使用srvctl 显示如下错误

[oracle@~]$ srvctl start instance -d -i INTS1
PRCR-1013 : Failed to start resource ora..db
PRCR-1064 : Failed to start resource ora..db on node
CRS-2680: Clean of ‘ora..db’ on ” failed
CRS-5802: Unable to start the agent process

RMAN-06169: could not read file header during RMAN duplicate database

近期有个友商在做RMAN duplidate database搭建DG时,因为primary db上有offline 的datafile ,并且归档已经丢失,无法再做recover ,online datafile的操作,操作系统或存储上的datafile已经不存在,duplicate时报错如下。

Starting backup at 19-NOV-20
RMAN-06169: could not read file header for datafile 357 error reason 4

Troubleshoot import(imp) very slow into table(nologging) has lob columns

一套ORACLE 11c R2 Windows环境使用import 导入一张包含blob列时速度非常的慢(平均每秒10条),大家都知道imp里因为不能使用parallel等其它原因导入是慢一些,但这么慢不能忍,主要等待事件和时间是control file parallel write和enq: CF – contention,下面是分析一下原因。

, ,

Troubleshooting 12c ora-4031 “ges resource dynamic” lot of FB resource cache

Troubleshooting ORA-04031: unable to allocate 13840 bytes of shared memory “ges resource dynamic” in 12C+ 记录过几个导致SGA中“ges resource dynamic”逐渐增大的问题,这里又在12c遇到了一个ora-4031问题,不太符合那里的描述和已知bug, 这里是在v$ges_resource中大量的FB资源的cache,这里简单记录。

,

Oracle12c-19c如何防止安全检查查出弱密码?

ORACLE数据库在安全方面可靠度绝对完善,包括数据库用户的密码加密,在之前的老版本中如10G及以前,密码在dba_user.password显示密文, 由于使用的是DES加密,很容易从网上找到解密密文的方法,可以现在都12C–19C了,之前分享过《Oracle 12c 关于密码(password)的几个新特性小结》都已经引入了新的密码hash算法,怎么还经常能收到安全检查提示数据库用户有弱密码? 他们还能解密12c以后的PBKDF2的SHA512哈希算法? 那也太牛了吧,经常让DBA去改弱密码,DBA不能忍,于是研究一下怎么回事。

Oracle19c使用USE_LARGE_PAGES可在LINUX平台的自动配置hugepage

Hugepage是linux平台oracle数据库的建议配置,同样PostgreSQL等其它使用共享内存和多进程的系统都建议使用hugepage, 默认的4K配置带来的pagetables内存空间非常大。通常是修改LINUX内核参数sysctl.conf配置中hugepage大小和页个数,在oracle没有使用AMM时配置使用hugepage.在oracle数据库参数中与大页相关的参数为USE_LARGE_PAGES。在19c中可以使用auto_only值可以在OS未预先配置hugepage的情况下,oracle db实例启动时自动按需扩展linux kernel中分配hugepage.

,

19c Flashback Standby after Flashback (resetlogs) on Primary In Dataguard Environment

有时需要应用版本上线做一些测试,希望做完数据库操作后利用restore point回滚点或做了基于时间点的恢复后,闪回数据库到修改以前时间点,然后standby继续应用日志恢复DG。因为在flashback后因为需要open resetlogs打开,在有dataguard的环境需要注意, 如果不想重建DG。同时oracle 19c引入了新特性,standby可以自动闪回数据库。

,

Alert: 12c top-N fetch first错误的执行计划 19c已修复

Oracle 12c new feature:OFFSET n FETCH n row-limit 7年前我尝试过12C新支持的TOP-n新语法,使分布代码看上去更简洁, 也是利用了一种窗口函数的方法,如果你在应用中使用了该语法,在19c的数据库前需要当前SQL的效率是否比之前的order by 子查询加 rownum的更差了。其实这是oracle在12c或18c版本中的bug, 在19C中已经解决,这也是建议升级19c而非12c跳过的一个小坑。

Oracle 19c RAC新特性 : Automatic Failback of a Service

Oracle数据库服务的高可用性一直是RAC,其它关系型数据库不可匹敌的功能。应用配置TFA,当数据库实例发生故障时,以该实例为首选实例的服务将故障转移到另一个可用实例。不幸的是,实例再次启动后,服务并没有故障切换回原始实例。dba必须重新ralocate service服务。Oracle数据库19c对此进行了更改,增加了自动回归。

‘transaction’ event 2 & How to find dead transaction?

6年前记录过这篇关于“transaction” eventTuning “transaction” & TX lock wait event ,speeding up rollback dead transaction,今天补充些取其它信息.如何找到哪个事务dead。

,

Oracle 11g R2 rman spin 产生大量aud trace

本地文件系统使用率告警,分析发现audit目录下不断的生成trace文件,该目录记录的是sys登录,目前以每秒800-900KB的速度生成写日志属于一种不正常现象,先增加crontab 周期清空日志,是当前版本的一个rman相关的bug,

,

我的考驾照历程 之 科一

报名2年多的驾校,如果不是因为快到期了, 还想不起来考一下,昨天抽时间去考了科一,提前刷了2周的题,还是有些题不在题库,开始以为反正可以错10题,卡卡错,在做到第80道时,颤抖手数了数错题已达10个, 开始顶着压力做完,交卷 , 90分,通过, ~_~! …

Alert: In Oracle ADG, if the redo apply instance crashes, all other instances will from ‘OPEN’ to ‘Mount’

今天在一套11 G r2版本的2节点RAC adg环境,节点1因为硬件原因异常crash(apply redo 节点), 但是实例2也上的应用也都断开了(原来都是open),adg上是有连接一些只读业务,而且节点2 db alert log未发现明显手动close 实例的日志,并且是自动切换到了mount状态,RAC不是应该高可用吗?为什么死一个节点另外的节点也要跟着受影响?

,

GoldenGate ORA-01400: cannot insert NULL into after “update” , like “upsert” or “merge”

有时出于历史原因或之前使用其它同步产品做同步,后期想改为OGG方案时但不想做原数据一致性比对,或可以接受部分数据不一致,比如目标表可能比原表少数据时,只想在replicat端增加INSERTMISSINGUPDATES参数,如果update目标记录不存在转换insert. 想法是好的?前提是要知道ogg的机制。

, , ,

当数据库遇上Serverless?

在Oracle方面,可以停止和启动自治数据库。我们可以说不使用数据库时不付款,但是不使用应用程序时不能说不付款。因为即使不使用应用程序,数据库也已启动。 oracle推出 Serverless Standby Database 叫做Oracle Autonomous Data Guard,我们认为它可能被标记为“无服务器”,因为您看不到备用服务器:您没有选择形状,也没有连接到它。切换完全透明自动化,但是价格上需要购买与主服务器相同的价格购买空闲的CPU和备用存储。

,

Troubleshooting db instance start failed PRCR-1064 CRS-2643 or CRS-2717 CRS-0223 during patching

12c注意 instance terminal caused by ASMB process ORA-04031 init_heap_kfsg上篇提到了这个bug,在安装bug是不是很顺利分享一下。CRS-2717: Server ‘anbob2’ is not in any of the server pool(s) hosting resource ‘ora.stbydb.db’
CRS-0223: Resource ‘ora.stbydb.db’ has placement error.
clsr_start_resource:260 status:223
clsrapi_start_db:start_asmdbs status:22

, ,

12c注意 instance terminal caused by ASMB process ORA-04031 init_heap_kfsg

上个月刚刚分享了一个ORA-4031 bug《Troubleshooting ORA-4031 “init_heap_kfsg”占用大量内存 In 12c, 18c, 19c》,那篇中还提到了这个bug, 没想到这么快就在客户遇到。12c R2还没有安装20年07月RU的注意。ORA-04031: unable to allocate 4120 bytes of shared memory (“shared pool”,”unknown object”,”init_heap_kfsg”,”ASM extent pointer array”)
USER (ospid: 20366): terminating the instance due to error 4031

,

Troubleshooting VI 命令 ex: 0602-101 Out of memory saving lines for undo

VI 在Unix、Linux系统是使用最常用的命令,DBA 经常在服务器上查看DB ALERT LOG等日志文件时,经常会遇到” ex: 0602-101 Out of memory saving lines for undo.” 报错,有时不得以用tail +more,甚至可以用awk +sed直接过滤, 这里记录一下解决VI 打开报错的问题,即使百MB的文件。

,

Troubleshooting ORA-4031 “init_heap_kfsg”占用大量内存 In 12c, 18c, 19c

上周刚分享了《Troubleshooting ORA-04031: unable to allocate 13840 bytes of shared memory “ges resource dynamic” in 12C+》, 在当前的新版本中又存在一个打击一片的BUG, 同样现ora-4031 占用最大的内存区为init_heap_kfsg

,

12c R2 DB Alert Log频繁输出”An internal routine has requested a dump of selected redo”

1套Oracle 12.2 4Nodes RAC ON SELS11的本地磁盘使用率告警,DIAG目录在不断的生成redo dump的trace file, db alert log也在不停的显示如下信息:
An internal routine has requested a dump of selected redo.
This usually happens following a specific internal error

,