站内搜索
Oracle证书
分类目录
- ASM (30)
- Database (86)
- backup&recovery (21)
- expdp/impdp (5)
- Installation and Deinstall (31)
- network (7)
- ORA-600 or ORA-7445 (6)
- Performence Tuning (13)
- troubleshoooting (2)
- Dataguard (7)
- EBS (3)
- Exadata (120)
- FAQ (19)
- POC和性能调整 (11)
- 体系架构 (19)
- 内部机制 (22)
- 安装和升级 (14)
- 性能指标 (8)
- Exadata V1 (1)
- Exadata V2 (1)
- Exadata X2-2 (2)
- Exadata X3-2 (1)
- Exadata X4-2 (1)
- FAQ (1)
- 故障诊断 (3)
- 日常运维 (15)
- 硬件配置 (43)
- Exadata V1 (6)
- Exadata V2 (6)
- Exadata X2-2 (6)
- Exadata X3-2 (8)
- Exadata X4-2 (8)
- FAQ (1)
- FAQ (16)
- Internal (21)
- Linux (20)
- MYSQL (8)
- OGG (1)
- ORA-600/7445 (2)
- ORA-XXXXX (5)
- Oracle 11.1 & Oracle11.2 (6)
- ORACLE 12C (21)
- Oracle 8 & Oracle 8i (1)
- RAC (47)
- SAP (2)
- Scripts (6)
- 未分类 (1)
- 虚拟化 (1)
2025 年一月 S M T W T F S « Nov 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 文章归档
-
近期文章
- 针对最近黑客攻击数据库的解决方案和预防建议
- CentOS7.2(RHEL 7.2)的CPU占用高(%system 占用高)
- Oracle 12.1 RAC 系列 – 配置第二个网络和相应的SCAN2
- Oracle 12.1 RAC 系列-安装新主机,识别老存储和恢复数据库
- Oracle 12.2的Sharding-1-基础概念
- 11.2 RAC 系列-安装新主机,识别老存储-3-配置老存储的数据库
- 11.2 RAC 系列-安装新主机,识别老存储-2-准备识别数据库
- 11.2 RAC 系列-安装新主机,识别老存储-1-识别ASM磁盘
- 2016年1月PSU列表
- 单实例数据库转换为RAC数据库–使用rconfig转换
近期评论
- tom 发表在《exadata巡检报告的模板》
- cyx 发表在《关于我》
- 李科胜 发表在《EBS克隆–db和app分开在两个服务器上》
- xiao 发表在《exadata巡检报告的模板》
- Chris Sun 发表在《使用Oracle 11.2的DBMS_RESOURCE_MANAGER.CALIBRATE_IO对Exadata X5(HC)进行测试》
作者归档:Lunar
更改db_unique_name后,修复磁盘组依赖关系和其他crs中的相关配置
做ADG时,修改了数据库的db_unique_name后,alert中报错如下: 这个错误不影响使用,但是终归是别扭的…… 检查crs中数据库的配置: 这里可以看到,以前的spfile(主库的)位置是:+DATA/lunardb/spfilelunardb.ora 此时,即便是手动修改了参数文件位置为 SPFILE=’+DATA/mynewdb/spfilemynewdb.ora’,重启crs后,启动数据库也会有报错信息: 因为它还是自动修改为crs的db资源中的信息,并把以前我手工修改的信息做了备份: 可以修改crs中db的spfile位置: srvctl modify database -d lunardb -p ‘+DATA/mynewdb/spfilemynewdb.ora’ 再次检查,可以发现spfile位置已经正确了: 这里很显然,除了spfile位置,Database unique name也是不对的,因为crs中保存的db信息是根据db_unique_name来判断的,只能通过remove database,然后再add database,add instance等等: 好了,alert中信息正常了:
使用statspack监控Active Dataguard的性能—2-创建ADG的性能报告
后台执行一个脚本,模拟登录风暴 [oracle@lunar ~]$ nohup ./login.sh & [1] 27907 [oracle@lunar ~]$ nohup: appending output to `nohup.out’ [oracle@lunar ~]$ jobs [1]+ Running nohup ./login.sh & [oracle@lunar ~]$ jobs [1]+ Running nohup ./login.sh & [oracle@lunar ~]$ jobs [1]+ Running nohup ./login.sh & [oracle@lunar … 继续阅读
使用statspack监控Active Dataguard的性能—1-安装篇和简介
Statspack的功能早在Oracle 8.1.6就可以使用(Oracle 8.1.7正式随产品发布),这里不再赘述,baidu google上大把大把的…… 从Oracle 10.1开始,Oracle引入了AWR(Automatic Workload Repository),其功能较之statspack不是强大了一星半点(AWR,ASH,ADDM,SPA,SPM……),statspack一度在10g后被搁置了…… 随着Oracle 11.1 ADG的出现,Statspack有了新的用途……我们都知道ADG是只读打开的,其awr跟主库的是一致的,监控ADG上的查询业务的功能,又变成了使用脚本和crontab等的手工作坊式管理……Oracle为此给statspack增加了新的功能: @?/rdbms/admin/sb* 在statspack目录下($ORACLE_HOME/rdbms/admin/),有两类statsapck相关的文件: 前面的sp开头的应该都不陌生,跟9i和8i的都一样的: 后面sb开头的是ADG中在备库上使用的一套脚本(sb,也就是standby): 具体的安装过程,参加下面的附件sbcreate 如果ADG是RAC,那么需要使用sbaddins.sql将其余的节点加入到statspack中。
Cascade Standby切换测试(级联ADG的切换)
当前环境: A: 当前是Primary ,Oracle 11.2.0.3,本次切换后为Physical Standby B: 当前是Physical Standby,本次切换后为Cascade Standby(因为这个库是11.2.0.4,版本不一致,因此只能做standby,不能open) C:当前是Cascade Standby,Oracle 11.2.0.3,本次切换后为Primary ============================================================================================================ 1,级联环境下,如果到Cascade的路径是enable,则在做switchover时,主库上查询会报:“RESOLVABLE GAP” 解决方法是将主库到cascade的归档路径设置为defer ; ============================================================================================================ ============================================================================================================ 2,如果主库到备库的归档路径(A到B的)是defer,那么switchover时,检查主库状态会是“NOT ALLOWED”: 解决方法是: 将A到B的路径设置为enable ============================================================================================================ ============================================================================================================ 将A库切换为Standby: ============================================================================================================ ============================================================================================================ 3,同理,Cascade不能切换为Primary,也需要enable C库到A库的归档路径: ============================================================================================================ ============================================================================================================ 4,还需要B库到C库的归档路径: ============================================================================================================ ============================================================================================================ 将C切换为primary: ============================================================================================================ 检查C库: ============================================================================================================ … 继续阅读
Linux上,使用screen在后台执行scp(或者其他长时间的操作)
如果有些操作需要长时间执行,没有vnc的时候(也不通过写脚本的方式,比如scp命令),那么可以通过screen放到后台操作: 在OEL 5.8上缺省就安装了screen,但是在OEL 5.10上,需要自己单独安装。 下面,我使用Oracle的yum源安装screen: 下面的例子就是使用screen在后台创建窗口,执行scp传输rman备份集: 首先可以创建一个窗口,起名字为lunar(可以开多个窗口): 接着,你会看到一个全新的shell: 按Ctrl+a+d,就可以讲这个窗口detached。 然后使用screen -ls可以看到刚才的窗口的进程号等信息: [root@lunar ~]# screen -ls There is a screen on: 11012.lunar (Detached) 1 Socket in /var/run/screen/S-root. [root@lunar ~]# ps -ef|grep 11012 root 11012 1 0 08:10 ? 00:00:00 SCREEN -S … 继续阅读
配置Cascade Standby
环境介绍: 1,VM1: OEL5.8+Oracle 11.2.0.3,考虑到笔记本的性能不行,因此最初考虑的是这个VM兼顾了Physical Primary 和Casecade Standby的重任。数据库是文件系统 2,VM2: OEL5.10+11.2.0.4,数据库是ASM的环境(Oracle Restart),作为Physical Standby。 考虑到版本兼容的问题,下一篇我讲切换他们的角色; 1,让VM2做为Cascade Standby的角色(因为不同版本,不能使用正常的open,只能open upgrade,因此,如果作为Physical Standby的话,不能放倒Open read only上)。 2,让VM1上的2个11.2.0.3的库分别作为Primary和Physical standby角色 创建standby controlfile和pfile: 创建需要的目录: 使用备份进行恢复: 使用screen在后台传输rman备份集: 安装cascade的screen(这个步骤跟本次操作没有关系,不过是临时遇到了,顺手做了一下): 配置主库的参数: Physical Standby的参数文件: Cascade Standby的参数: 其余的过程就简单了,跟普通的ADG没什么分别: 1,分别在physical standby和cascade standby上做恢复standby controlfile和restore database。 2,使用alter database recover … 继续阅读
Standalone – 修改主机名和IP地址
新本本性能一般,用VM跑RAC很费劲,因此从朋友那里copy了一个STANDALONE(ASM+SINGLE DATABASE),然后直接修改主机名后,发现css信息异常,且HAS不能启动…… 直接修改主机名为lunar后,HAS的信息为: 重启has后,发现HAS启动不了,报错如下: 根据“error location: scrsearch1”和“cant open scr home dir scls_scr_getval”,可以看出这个跟修改主机名有关系,将主机名称修改会议前的dabaobao: 修改回到以前的主机名“dabaobao”以后,再次重启has,可以启动了,可见,HAS的架构非常简单…… 这里,出了ora.DATA.dg这个资源异常外,其他资源是正常状态,此时,我们使用roothas.pl删除HAS的配置: 然后,修改主机名为lunar,再次使用roothas.pl,让他自动根据当前的主机名和IP来生成配置信息: 可见,这里已经生产了节点名为lunar的has配置信息 添加asm: 添加ASM DISKGROUP: 这个错误是因为没有找到合适的disk,于是修改参数: 可以看到,现在磁盘组都mount上了 然后我们创建spfile,准备重启has: 重启HAS: 等待一会儿,一切ok了: 总结: 1,在发现has或者crs异常时,不要stop crs或者stop has 2,修改主机名或者IP时,发现错误了,不要stop crs或者stop has(后续的一些操作需要这些资源) 3,在HAS环境中修改主机名和IP的过程: (1)先用roothas.pl -deconfig -force清理老配置 (2)修改主机名(/etc/hosts,/etc/sysconfig/network,hostname等等) (3)./roothas.pl (自动根据当前配置生成新的配置信息) (4)添加ASM资源 (5)添加磁盘组 … 继续阅读
测试在线重定义功能
9i开始,Oracle引入了在线重定义功能,但是bug比较多,10g时,如果数据量比较大,有些特殊场景,也有bug。 因此,前几天有同事需要测试在线重定义的功能,我查了下MOS,做个demo,做一个功能测试,如果生产上在低版本数据库执行在线重定义功能时,请仔细查看MOS上相关的常见问题。 –创建测试表 –收集统计信息 –创建空的分区表 –执行Redefinition.can_redef_table,验证unpar_table表是否可以在线重定义,如果不可以会给出建议: EXEC Dbms_Redefinition.can_redef_table(USER, ‘unpar_table’); 执行这一步的时候,如果缺少如下权限,那么会报如下错误: 第 1 行出现错误: ORA-06550: 第 1 行, 第 7 列: PLS-00201: 必须声明标识符 ‘DBMS_REDEFINITION’ ORA-06550: 第 1 行, 第 7 列: 解决方法: grant execute on dbms_redefinition to lunar; 执行这一步的时候,如果缺少如下权限,那么会报如下错误: 第 1 … 继续阅读
exadata巡检报告的模板
最近有几个兄弟要exadata巡检报告的模板,完善了一下,大概200页左右: 由于里面有大量客户的资料,因此暂时设置为需要口令下载的,有需要的兄弟直接联系我 后续如果有机会,将不断更新,加入新的内容,O(∩_∩)O哈哈~ 不过现在没有环境了,有需要的可以跟我联系,我免费检查,这样一举两得,我完善了自己的知识库,朋友们可以完成工作任务,O(∩_∩)O哈哈~ Exadata_HealthCheck_模板下载地址: Exadata_HealthCheck_模板
让“select min(xxx),max(xxx) from xxx”走索引
首先,做一个测试表: 在extent_id列上创建非唯一索引: 下面的语句没有走索引: 手工指定IDX_LUNAR_EXTENT_ID时,也不走索引: 指定该列为非空时,可以走索引(Oracle的索引不保存空值): 可以看到,无论是否使用hint都走索引了: 再次验证,依然这个结果: LUNAR@lunar>alter table lunar modify extent_id null; Table altered. Elapsed: 00:00:00.01 单独查询最小值或者最大值时,也可以走索引,采用“INDEX FULL SCAN (MIN/MAX)”: 假设,在不能修改表结构的情况下,怎么才能让“select min(extent_id),max(extent_id) from lunar”走索引呢? 参考了网上的一些建议,改写sql如下: