failover切换后恢复原来主库为新备库
我的虚拟机一直开着DG库,一直想做完这个failover切换并把原来的主库恢复为新备库的测试,但由于事情太多,搁了10天才把这个DG的failover切换做了一遍,往后还会有一两篇文章是讲DG切换的,但是后面的使用DGbroker做的切换。failover切换: ---查看是否有断档:--主备库都没有:SELECT THREAD#, LOW_...
sqlnet.ora文件引起的TNS-00583对dataguard的影响
探讨sqlnet.ora文件在dataguard中的影响:事情是这样的:由于自己很长的一段时间没有打开过自己虚拟机里的DG,自从16年10月搭建好之后。中间也多多少少利用了主库的节点作为其他的测试,比如EZCONNECT的测试,当中就创建了sqlnet.ora文件。这么久的时间之后,当我再次开启这个DG的时候,主备库能正常开启,但是不能切...
监听状态对dataguard及其日志传输的影响
在DG容灾的体系中,监听作为主备库的通信通道,至关重要。这里我们尝试一下,把监听切断,会导致什么后果呢?----查看主备库的监听状态:---主库监听状态:[oracle@host01 ~]$ lsnrctl status LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 12-MAR-2017 15:14:59 Copyrigh...
数据库存储生僻字存在的问题
最近遇到两个比较棘手的事情,都是同一种状况:数据库储存不了带有生僻字的客户名。一个是“?”,另外一个是“?”,只能是感叹汉语真是博大精深啊。SR向原厂的工程师援助,原厂都没有办法提供很好的解决方案。以下是遇到这种状况的数据库的字符集情况。当输入带有这两个生僻字的记录时候,数据能...
添加集群数据库服务service
----测试目的:1、添加公共的服务prod_tns;2、添加节点1主1备2服务 prod_node1;3、添加节点2主2备1服务 prod_node2;4、添加服务过程中是否有服务的状态发生变化。--添加共有服务:srvctl add service -d prod -s prod_tns -r "prod1,prod2";--添加节点1服务:srvctl add service -d p...
忘记enable instance导致集群实例不能正常起来
由于很久没有开过自己虚拟机里的集群库了,中间有少许的一两次开过,做了少量的操作,但是具体是什么操作就忘记了。本想着是给自己的测试集群库添加一两个服务的,还以为打开两个节点的主机,会把两个节点的实例会拉起来的,但是没想到在登录实例进入数据库的时候,出现了以下的状况:实例没...
SPA测试
以下作为数据库升级前部分SQL语句执行计划性能对比的测试。该测试结合命令与使用OEM图像化工具,方便直观地看到某些SQL语句的执行计划在系统升级前后的性能的变化。--生成目录对象:SQL> create or replace directory tune_results as '/home/oracle/';Directory created. --进入scripts目录:...
TEMP临时表空间撑满出现负值是什么情况
TEMP临时表空间撑满并出现了负值是什么情况?求大神解答。当时有个用户执行了以下的语句创建一个表,那时候其他的用户已经占用了80G左右的temp临时表空间。当该用户执行到中间的时候,出现报错,说temp临时表空间空间不足,不能创建表。听了该建表命令之后,过了一段时间之后,查看temp表空间,就是以下截...
oracle11G与12C添加服务的区别
orale11G与12C添加服务主要是针对集群中的库。这里讲这两个版本在添加服务时候的一些区别。区别一:语法命令的区别(添加主1备2的服务)--11G:srvctl add service -d robinrac -s test -r robinrac1 -a robinrac2 -P BASIC;--12C:srvctl add service -db robinrac -service test -preferred robinrac1 -available...
删除私有dblink的存储过程
在多个用户拥有多个私有dblink的情况下,当不需要而去清理掉这些私有的dblink的时候,可使用以下的存储过程,简化了很多工作,只需在SYS用户下就能完成,而不用一个个用户地登录进去,在一个个地删除。begin dbms_scheduler.create_job( job_name=>'&owner..drop_database_link', jo...
tns_04612导致不能正常建库
该报错是在最近用dbca图形化建库的时候遇到的。我们一看到这个报错,都会发觉是跟tns有关,但是不明确是tns哪里有问题。刚开始的时候,还以为是没有创建监听导致的,还以为是检测到的监听是已有的实例上的监听(该主机上已存在一个实例),去检查了一遍,发现不对劲,不是监听器的问题。后...
两个日志组未能归档之后恢复数据库
上一篇文章中说到,由于主机中文件系统的根目录的空间被耗完了,导致不断产生的日志文件不能归正常归档。最后的结果就是,不能正常打开数据库。如下是尝试开启数据库并作恢复的过程。--尝试打开数据库:[oracle@susu ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0...
归档日志文件无故地增长
最近不知道什么情况,自己虚拟机数据库主机的文件系统里原来还有700M空间的根目录空间全部被消耗完了。大概10天的时间里,断断续续地,只是把数据库跟监听打开,自然地放着,并没有往库里写东西,但是,就无缘无故地产生了200多兆的归档日志文件。由于数据库是开启了归档模式,然后不断地写...
离空格远点离rm更远点离rm -rf越远越好 星号“*”是罪魁祸首
前几天,也即春节假期接近尾声(送年接财神)的时候,被GitLab的误删数据的事件震动了整个“数据库圈”。无论如何,我们多多少少都应该要从中吸取教训。从其他角度来看,还是要看使用命令的习惯。作为数据库或者操作系统工作者,多多少少,或者说肯定会用到rm与rm -rf 命令的。至于rm与rm -rf 两个...
library cache: mutex等待事件分析方法及案例
mutex是11g中采用的轻量级锁,替代latch(更轻量,更细粒度)。其中mutex X表示eXclusive模式,如果是mutex s则是共享模式。引起library cache mutex冲突的原因很多。[@more@]一、 Library cache: mutex等待事件产生常见原因:l os资源不足(cpu、内存)l sga设置不合理,shared_pool不足,或动态调整导致hard parsel hot object contentionl hard parsel sql high version count 由于子游标太多,扫描时会形成锁l library cache object失效导致重编译l bug二、 诊断方法1. 首先检查os资源如cpu内存是否存在不足2. 其次,检查是否存在Hot obje