Oracle 补丁那些事儿(PS、PSU、CPU、SPU、BP、DBBP、RU、RUR、MRPs…)
当前ORACLE数据库提供两种方式的补丁一种是主动的Proactive Patches和另一种被动的Reactive Patches,其中Reactive Patches是指过去的ONE-OFF Patch,而过去的PSU,SPU/CPU,BP都是Proactive Patches。从12c(12.1.0.2)起数据库又提供了一个名为DBBP的补丁类型,在数据库安装选择补丁时建议是PSU,CPU,DBBP中的一种…
Oracle 12c RAC GI两大资源变化GIMR和ASM memory_target
现在老听到抱怨在VM安装12C RAC的资源需求太大,安装个12C GI就要几十G磁盘空间和4G的内存, 这些资源被哪用了?当然离不开GIMR和ASM target memory这两个的变化,这篇就简单的谈谈这两个变化及如何突破限制…
Oracle 12c R2新特性: Proxy PDB
这篇继续ORACLE 12.2的新特性, Proxy PDB顾名思义就是一种代理PDB也可以叫 referenced PDB, 实现的是像访问本地CDB中的PDB一样访问远程的PDB,简单可以说可以快捷方,它的应用场景是当一个程序在application Containers中需要调用两个不同CDB的数据源时..
安全扫描端口 8888风险 和ora.oc4j resource in ORACLE 11g r2
近期安全扫描发现数据库服务器主机存在端口8888暴露风险, 使用http访问该端口是Oracle Containers for J2EE (OC4J)的页面, OC4J是经过J2EE认证的应用程序服务器,提供JSP, EJB, Servlet等程序支持, 在主机上查看用户进程可以确认一个JVM的OC4J进程,是Oracle CRS自带的资源ora.oc4j调用。通常对于数据库没有什么用途,可以停止该服务。
注意: GoldenGate12.2不支持Oracle RDBMS 12.2 error OGG-06535
最新版的OGG 12.2还不支持ORACLE RDBMS 12.2, OGG 的版本是向前兼容的, 按ORACLE的计划会在OGG 12.3版本解决,支持从ORACLE 12.2 extract,(注意这里的OGG 12.3 不是OGG for Bigdata 12.3) , 并且会在2017年的6、7月份发布OGG 12.3, 并未说是否是所有平台。
Oracle 12c R2 : lsnrctl status show EM Express & PDB GUID service (PDB GUID服务)
在ORACLE 12.2版本中使用LSNRCTL STATUS或lsnrctl service查看监听信息时,如果启用了EM Express,从12.1版本增加了EM express的端口和访问信息;从12.2的版本起如果多租户环境,每个PDB增加了一个对应的GUID+DB_DOMAIN的服务名,无论PDB是open还是close都存在。该服务是数据库的internal service,使用该服务也可以访问PDB,但是不建议使用。
Troubleshooting: 实例被驱逐和”IP packet reassembles failed“增长 on Linux 6.6
数据库第二个节点被驱逐出集群,并且多次自动重启以失败告终,驱逐原因在GI Alert log显示是私网通信丢失,而重启失败也是因为ASM无法启动,ASM db alert显示IPC Send timeout. 当时ping和tracert并没发现什么异常,从OSW中的netstat -s查看IP packet reassembles failed时间段值大量增长, 这是一套oracle 11.2.0.4 2Nodes RAC on RHEL 6.6的环境
Scripts: 如何取正在执行SQL的绑定变量值
如果当前数据库正在执行的一个长SQL出现性能问题,想取得运行时的变量时,在之前的版本中可以使用Errorstack level 3 event dump该会话的cursor信息,从trace文件中取得变量。 在11g r2版本的SQL Monitoring 相关的视图V$SQL_MONITOR.BIND_XML也可以方便的取变量值
自动化运维工具之:dcli 批量管理主机
dcli 为Oracle Exadata Machine中提供的管理cell的工具,全名 Distributed Command Line Interface,在Exadata, Exalogic, Exalytics等系列一体机都自带这个工具, 该工具是一套python脚本,可以用文本工具直接查看编辑, 在当前的IT管理中批量管理几百台机器已不是什么稀奇的事, 所以在日常一些批量共性的常规检查和运维就需要一种维护工具自动实现或者叫自动化运维工具, 当前较流行的有puppet和ansible 产品
Oracle 12c R2 新特性: Per-PDB Character Sets (同一CDB中PDB可以使用不同的字符集)
在oracle12.1版本中,同一CDB中的所有PDB使用的都是相同的字符集从CDB继承而来,这样影响了PDB的迁移灵活性,从12.2起同一CDB中每个PDB可以使用不同的字符集, 如CDB是AL32UTF8,其中的PDB1为WE8ISO8859P1 , PDB2为ZHS16GBK, 从其它CDB plug-in一个JA16EUC字符集的PDB也是允许的,在plug-in PDB的过程中PDB会原封不动的进入目标CDB,过程中并不会转换字符集,并且以后新insert的数据是直接使用的原PDB的字符集。
Oracle 12c R2新特性: PDB级闪回(Flashback PDB)
闪回数据库在10G版本时引入,用于闪回数据库到指定时间点,在12C 多租户结构中增加了PDB概念,在恢复时通常为了节约时间和一致性做最小粒度的恢复,在12.1版本如果对CDB中的某个PDB做闪回时需要创建辅助实例和CDB,有些像表空间的基于时间点的恢复 ,在12C r2版本新特性引入了PDB级别的flashback,不再需要辅助实例。
Oracle 12cR2新特性: move table online
有时因为表空间转移或整理碎片的目的需要MOVE TABLE, 但是该操作在12.2之前如果有业务在运行中常常因为排它锁的原因而失败无法有时间点切入。或move 成功后会导致索引无效而又影响了业务,move table online在12C R2版本引入解决了这个问题..
Oracle 12cR2新特性: 使用DBMS_TNS package 在数据库中tnsping
数据库中的dblink创建时如果使用了tnsnames.ora中的别名,那么在日后梳理数据库中所有的DBLINK 与哪些主机的数据库有连接时?通过DBA_DB_DBLINKS视图可能无法直接取到数据库源端地址, 通常需要登录数据库主机使用tnsping 别名的方式来解析IP, 但是如果当时创建dblink时在session级使用了非默认的tnsnames.ora如指定了TNS_ADMIN,查找对应的tnsnames.ora和解析工作变的更佳复杂。所幸在oracle 12.2版本中提供了新的package DBMS_TNS, 可以不登录主机(终端)在数据库内部就可以解析。
Oracle 12c R2 注意事项:login.sql 改变
日常工作中sqlplus是维护数据库使用最多的工具, 通常把一切配置到login.sql中在sqlplus调用时自动运行,以前都是通过SQLPATH或当前目录的方式, 12.2 因为安全特性的原因,如果没有配置ORACLE_PATH环境变量指定,当前目录中的login.sql默认不再自动执行。
升级12C注意事项: 连接失败 ORA-28040 ORA-1017
当数据库升级到12c后,有些功能的改变可能影响到原应用的可用性,如数据库升级12c R2后原来的10G或更老的客户端或10g或更老的JDBC 驱动连接数据库里失败提示下面的错误信息:
ORA-28040: No matching authentication protocol error
Oracle 12c R2 新特性: Online PDB relocate (PDB hot move)
12.2的online pdb relocate 实现了PDB 在线几乎零停机时间在不同CDB之间的迁移,且在relocate过程中源库一直是open read-write状态,使用了增量日志的方式追加减少了最源库和网络资源的影响。降低了PDB操作和移动如上云、下云i的代价。
Oracle 12c R2 新特性: PDB refresh
PDB refresh功能有些像PDB HOT Clone , 同时又像PDB级的Data Guard(实际不是),PDB refresh可以手动同步刷新或自定义同步间隔自动同步. 应用场景是开发和测试环境的搭建, 因为是增量的同步也减少了对源数据库的影响, 或作为一种online的备份库. PDB refresh是数据库自带的功能, 不用借助其它第三方工具…
Materialized View Fast Refresh Is Slow, 10046 trace show HASH_SJ hint (物化视图因为hash_sj hint刷新性能差)
物化视图是一种高级优化技术当用于数据分析报表类数据库, 把多表join的视图数据物化为真实的表数据存储. 我个人认为如果在OLTP中如果非用上了物化视图一定是应用的设计架构存在缺陷. 但是物化视图快速刷新可有时会出现性能问题, 根本原因是ORACLE的刷新引擎自作聪明的隐式加入的Hint.
Oracle 12c R2 New Feature: Hot Clone A PDB (12.2热克隆)
在12.1版本中Clone一份PDB源库需要打开在read only只读模式, 在12.2版本中引入了local undo mode, 源PDB在read/write 读写模式也可以Clone. 这样可以在复制一份测试环境时对源库影响降到最低, 同时local undo mode也是ORACLE推荐的.
Oracle 12c: index treedump
oracle 12C的index treedump比11G有了一点小变化, 这里简短的记录一下.
branch: 0x300252b 50341163 (0: nrow: 3, level: 1)
leaf: 0x300252c 50341164 (-1: row:485.0 avs:823)