Oracle 12/18c 如何重建PDB$SEED PDB?

因为一先特性原因PDB$SEED数据库损坏后,影响使用pdb$seed创建新的PDB, 这里演示了几种修改PDB$SEED的方法:1. 使用建库时保存的脚本
2. 使用rman 恢复pdb$seed(前提有备份)
3. 使用同一个CDB的其它较干净的已存在的PDB创建PDB$SEED(不用备份)
4. 使用其它CDB的PDB$SEED复制PDB$SEED

, ,

Oracle 18c 新特性 (一)小特性

当前oracle 18c on-premise 还没正式发布,我只是用XD版简单测试几个小功能::
Feedback sql id
private temporary table
CANCEL SQL statement
SEQUENCE增强
Read-only Oracle Home (ROOH)
DBMS_SESSION.SLEEP
Inline External Table

,

12c R2 RAC instance crash due to CKPT is hung, using Multipathing

12C R2 3Nodes RAC on Linux using multipath 环境的crash总是不定时的crash(几天一次), 使用的是LINUX的多路径软件的默认配置。从日志看是CKPT进程hang超过了70秒所以LMON进程终止了实例, 从CKPT的trace文件中Call Stack看I/O的可能性较大。

Oracle 12.2 DB alert show “WARNING: too many parse errors” or “__Oracle_JDBC_internal_ROWID__” in sql

alert log中出现了大量的”WARNING: too many parse errors”,是以前的版本中从未见过,这也是12.2的新特性,自动生成解析失败的信息写入db alert log, 即使没有在数据库启用event 10035,当JDBC 中scroll sensitive resultset 启用时,JDBC驱动就会在用户SQL中自动增加ROWID

, ,

Performance Tunning: cursor: mutex X & cursor: mutex S high wait after 12.2.0.1

朋友一套12C R2多组户架构3节点RAC数据库反应数据库响应缓慢,因远程不方便,只拿到事后一份AWR,数据库出现较高的cursor: mutex X 和cursor: mutex S,sql verison能达到7000多,并且high version的SQL都是递归内部SQL, 12.2的隐藏参数_CURSOR_OBSOLETE_THRESHOLD原来现在默认已加大到了8192,

, , , , ,

Oracle 2017改变:新补丁更新(RU和RUR),新的版本(Release 18和19)

第一个是从2017年开始改变了季度更新的方式,改变了过去的PSU为RUR (Release Update Revision) ,和改变 ProactiveBP 为 RU (Release Update),第二个是oracle 12c的下一个版本不再延续12.2.0.2 和12.2.0.3的形式发布,从201708月更新MOS note#742060.1确认了计划分别与2018年年第1季度和2019年第1季度发现未来的两个版本oracle 18.1 和oracle 19.1

, ,

Oracle 12.2.0.2/Oracle 18.1 新特性: Sequence SCALE EXTEND ?

ORACLE12C的下一个版本是18.1(12.2.0.2),这里我要分享的这个新特性是12.2 已经悄悄引入但undocument的,这个特性因为没有某些原因在12.2中都没有公开,但是SQL语法已经可用,暂时称做Sequence SCALE EXTEND 。注意公开前不建议在用户应用中使用。

,

Oracle 12cR2新特性:Online Tablespace encryption (Transparent Data Encryption)

TDE是从Oracle 10g R2版本时引入,Transparent Tablespace Encryption对表空间的加密是在ORACLE 11G R1版本引入,但是只支持对新建表空间时指定加密码选项,对后新数据写入加密,在12CR1中可以对表空间OFFLINE后再加密,但是那样对于非常大数据库的数据库就意味着使用更多的时间维护窗口,从12C R2版本引入了online tablespace encryption的新特性,同时还引入了新的管理密钥的方法

, ,

Oracle 12c新特性:ORACLE自动维护的Schema或默认创建的USER

ORACLE 12c有些小特性非常的实用,如Oracle 12c New Feature: Last Login Time for Non-Sys Users,可以列出非SYS用户的最后登录时间,该数据可以做为清理用户里的依据, 如果找出哪些用户是ORACLE 系统用户在12C之前还是相对麻烦一些,因为我们可能知道像sys, system这些系统默认创建的用户,其它如果安装时选用较多的DB option时,往往不容易查找自动在创建数据库里脚本中创建的哪些用户。

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这两个的变化,这篇就简单的谈谈这两个变化及如何突破限制…

, , ,

注意: 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,但是不建议使用。

, ,

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是数据库自带的功能, 不用借助其它第三方工具…

, , ,