Oracle 12c R2 新特性: Online PDB relocate (PDB hot move)
12.2的online pdb relocate 实现了PDB 在线几乎零停机时间在不同CDB之间的迁移,且在relocate过程中源库一直是open read-write状态,使用了增量日志的方式追加减少了最源库和网络资源的影响。降低了PDB操作和移动如上云、下云i的代价。
提供综合数据库运维服务与优化方案(不限Oracle MySQL PG GaussDB GoldenDB OceanBase等), 微信/Tel:(+86)134-365-60330
oracle 12c 18c 19c 20c 21c 22c 23ai
12.2的online pdb relocate 实现了PDB 在线几乎零停机时间在不同CDB之间的迁移,且在relocate过程中源库一直是open read-write状态,使用了增量日志的方式追加减少了最源库和网络资源的影响。降低了PDB操作和移动如上云、下云i的代价。
PDB refresh功能有些像PDB HOT Clone , 同时又像PDB级的Data Guard(实际不是),PDB refresh可以手动同步刷新或自定义同步间隔自动同步. 应用场景是开发和测试环境的搭建, 因为是增量的同步也减少了对源数据库的影响, 或作为一种online的备份库. PDB refresh是数据库自带的功能, 不用借助其它第三方工具…
在12.1版本中Clone一份PDB源库需要打开在read only只读模式, 在12.2版本中引入了local undo mode, 源PDB在read/write 读写模式也可以Clone. 这样可以在复制一份测试环境时对源库影响降到最低, 同时local undo mode也是ORACLE推荐的.
oracle 12C的index treedump比11G有了一点小变化, 这里简短的记录一下.
branch: 0x300252b 50341163 (0: nrow: 3, level: 1)
leaf: 0x300252c 50341164 (-1: row:485.0 avs:823)
在12c以前的版本中服务注册一直都是PMON进程负责,从12c起引入了LREG (listener registration)后台进程接管了这部分工作减轻PMON的工作,同样如果LREG 进程死了实例也会crash.
在12C以前oracle不会主动维护全局临时表(global temporary tables)的统计信息, 并且如果手动收集也只是存在一份统计信息,即使不同的会话级临时表的数据量不一致,一旦存在对所有的会话可见,从12.1起可以使用GLOBAL_TEMP_TABLE_STATS 控制GTT表的统计信息是所有会话共享还是session级私有…
12C的AWR的数据比11G又丰富了许多, 增加了ASH, ADDM, OGG的信息在AWR中. 前不久有个朋友说他的AWR I/O”AV rd(ms)” 显示的值非常高,Oracle认为大于20毫秒的平均磁盘读取时间是不可接受的
这篇是12c partition多个新特性的集合, 看完会由衷的赞叹ORACLE rdbms在分区中所做的改进. 主要测试新特性有:
1, 支持多列的list partition
2, 自动list partition
3, 分区级的read only
4, interval subpartition
5, 自动list + interval subpartition 近乎全自动
在12c之前没办法在部分或指定的分区上创建索引,在12c 版本中引入了Partial Indexes(部分索引), 无论是global还是local都可以有选择性的对部分分区创建索引,这可能是在12c分区新特性中最出色的一个
随着数据的逐渐的增长, 在目前这个数据”爆炸式”增长的趋势下, 也许最初设计的非分区表需要转换为分区, 以前如果不停业务的话可以使用在线重定义, 但是在12c 中alter table增加了online clause, 有没有遇到过需求把现有的非分区表转换为分区表, 同时需要考虑表上现有的索引, 又不停业务? 在12c 中成为现实.
在数据库维护中Partition 到处可见, 经常要add, drop, split, merge, truncate partition, 比如我们现在的数据库环境一套库每月要增加上万的分区, oracle 在新版本中对于partition一再增强, 稍后会对12C partition相关技术整理, 这篇日志将演示12c 在分区维护上的增强.
As part of this feature, some monitoring SQLs are executed by MMON_SLAVE to identify the resource-intensive SQLs and
generate the SQL Monitoring report automatically for those SQLs. Those SQLs consume little more CPU and it is expected behavior being a new feature
Valid Time Temporal 特性就是基于表上的两个时间类型的字段做为开始和结束时间实现数据的有效性逻辑显示控制,oracle 12.1版本引入, 对于表中的记录可以控制只显示在有效时间内或限制时间字段为NULL值时
source: v$sql_hint NAME VERSION VERSION_OUTLINE INVERSE —————————————- ————————- ————————- —————————————————————- APPEND 8.1.0 NOAPPEND NOAPPEND 8.1.0 APPEND NO_MONITORING 8.0.0 NO_SQL_TUNE 10.2.0.1 DEREF_NO_REWRITE 8.1.0 NESTED_TABLE_GET_REFS 8.1.0 PRESERVE_OID 10.2.0.1 NESTED_TABLE_SET_SETID 8.1.5 NESTED_TABLE_FAST_INSERT 10.1.0.3 INLINE_XMLTYPE_NT 10.2.0.1 REF_CASCADE_CURSOR 9.2.0 NO_REF_CASCADE NO_REF_CASCADE 9.2.0 REF_CASCADE_CURSOR FORCE_XML_QUERY_REWRITE 9.2.0 11.1.0.6 NO_XML_QUERY_REWRITE NO_XML_QUERY_REWRITE 9.2.0 11.1.0.6 FORCE_XML_QUERY_REWRITE IGNORE_WHERE_CLAUSE 9.2.0 OPAQUE_TRANSFORM 10.1.0.3 OPAQUE_XCANONICAL 10.1.0.3 SYS_DL_CURSOR 9.2.0 SQLLDR … Read more
我喜欢在PROCEDURE中增加一些DBMS_OUTPUT输出调试过程,但是只有在控制台运行才可以看到输出, 在11g及之前的版本中使用DBMS_SCHEDLER创建的JOB已经增加了DBA_SCHEDULER_JOB_RUN_DETAILS 视图可以记录一些运行的日志信息如error#,在12C的版本中再增强,同样记录了procedure中使用的DBMS_OUTPUT的输出和ERROR的具体文本…
sys@pdborcl:orcl> CREATE table anbob_com_copyright_anbob_com_copyright_anbob_com_copyright_anbob_com_copyright_t(id int, col_name_col_name_col_name_col_name_col_name_col_name_col_name_col_name_col_name_largecolumn varchar2(5000));
Table created.
从12c r2 Release起表名和列名的长度限制为128 bytes.
ogg 12.2 的安装方式和11是略有差别,之前是解压就OK, 现在是OGG提供了OUI 的安装方式,也可以静默方式,之前的升级是解压覆盖,现在多了一种选择可以像DB一样使用opatch安装,这里简单的记录下安装并给OGG安装PSU的过程。
解决在虚拟环境中的RAC环境下,当虚拟物理机的public network 失败时,(虚拟主机网卡)virtual nic依然active, VIP 或 Scan IP未按预期发生Failover的问题。
在OEL5.8 安装12C R2 beta1时 遇到ins-30131错误, 以前在OEL5装过12c R1,这个错误第一次见,错误日志有两个关键字
”[INS-13001] Environment does not meet minimum requirements.
[INS-30131] Initial setup required for the execution of installer validations failed.
看到一篇笔记 Oracle 12cR1, Shutdown abort of a PDB seems to perform commit 提到在12r1 存在一个奇怪的现象,shutdown abort 在当前会话会执行隐式提交, 这有点颠覆我们之前版本中的理论, 我们都知道shutdown abort 应该是rollback 当前未提交的事务