专栏首页数据和云Oracle 的 DBMS_SCN 修正以及 SCN 的 auto-rollover 新特性

Oracle 的 DBMS_SCN 修正以及 SCN 的 auto-rollover 新特性

在 Oracle 11.2.0.2 之后,随着一系列 SCN 耗尽问题的出现,很多补丁涌现出来,一个新的 Package 增加进来。

这个 Package 就是 DBMS_SCN。

如果你的数据库中存在这个 Package,也就意味着你已经安装具备了关于 DB Link 的修正补丁。

以下是这个包的主要函数过程以及说明,这个内容来自 Oracle 11.2.0.4 版本平台:

Rem Rem $Header: rdbms/admin/dbmsscnc.sql /st_rdbms_11.2.0/1 2013/04/18 23:05:40 vgokhale Exp $ Rem Rem dbmsscn.sql Rem Rem Copyright (c) 2012, 2013, Oracle and/or its affiliates. Rem All rights reserved. Rem Rem NAME Rem dbmsscnc.sql - dbms_scn package definition Rem Rem DESCRIPTION Rem Rem Rem NOTES Rem Rem Rem MODIFIED (MM/DD/YY) Rem mtiwary 05/26/12 - Declarations and definitions related to DBMS_SCN Rem package. Rem mtiwary 05/26/12 - Created Rem Rem Rem BEGIN SQL_FILE_METADATA Rem SQL_SOURCE_FILE: rdbms/admin/dbmsscn.sql Rem SQL_SHIPPED_FILE: Rem SQL_PHASE: Rem SQL_STARTUP_MODE: NORMAL Rem SQL_IGNORABLE_ERRORS: NONE Rem SQL_CALLING_FILE: Rem END SQL_FILE_METADATA SET ECHO ON SET FEEDBACK 1 SET NUMWIDTH 10 SET LINESIZE 80 SET TRIMSPOOL ON SET TAB OFF SET PAGESIZE 100 CREATE OR REPLACE LIBRARY DBMS_SCN_LIB TRUSTED AS STATIC; / CREATE OR REPLACE PACKAGE DBMS_SCN AUTHID CURRENT_USER IS DBMS_SCN_API_MAJOR_VERSION CONSTANT NUMBER := 1; DBMS_SCN_API_MINOR_VERSION CONSTANT NUMBER := 0; PROCEDURE GetCurrentSCNParams( rsl OUT number, headroom_in_scn OUT number, headroom_in_sec OUT number, cur_scn_compat OUT number, max_scn_compat OUT number); -- Currently no exceptions are thrown. -- rsl - Reasonable SCN Limit as of 'now' -- headroom_in_scn - Difference between current SCN and RSL -- headroom_in_sec - number of seconds it would take to reach RSL -- assuming a constant SCN consumption rate associated -- with current SCN compatibility level -- cur_scn_compat - current value of SCN compatibility -- max_scn_compat - max value of SCN compatibility this database -- understands FUNCTION GetSCNParamsByCompat( compat IN number, rsl OUT number, headroom_in_scn OUT number, headroom_in_sec OUT number ) RETURN boolean; -- compat -- SCN compatibility value -- rsl -- Reasonable SCN Limit -- headroom_in_scn -- Difference between current SCN and RSL -- headroom_in_sec -- number of seconds it would take to reach RSL -- assuming a constant SCN consumption rate associated -- with specified database SCN compatibility -- -- Returns False if 'compat' parameter value is invalid, and OUT parameters -- are not updated. PROCEDURE GetSCNAutoRolloverParams( effective_auto_rollover_ts OUT DATE, target_compat OUT number, is_enabled OUT boolean); -- effective_auto_rollover_ts - timestamp at which rollover becomes -- effective -- target_compat - SCN compatibility value this database -- will move to, as a result of -- auto-rollover -- is_enabled - TRUE if auto-rollover feature is -- currently enabled PROCEDURE EnableAutoRollover; PROCEDURE DisableAutoRollover; END DBMS_SCN; /

这里就可以看到 auto-rollover 的自动 SCN 兼容性终止时间,也就是说,在不同的兼容性设置中,SCN 的算法不同,但是内置了天然的算法过期时间。

在此之后,可以通过命令修改数据库的 SCN 兼容性算法:

SQL> ALTER DATABASE SET SCN COMPATIBILITY 2;

Database altered.

从高级别向低级别修改,需要数据库在 Mount 状态:

SQL> ALTER DATABASE SET SCN COMPATIBILITY 2; ALTER DATABASE SET SCN COMPATIBILITY 2 * ERROR at line 1: ORA-01126: database must be mounted in this instance and not open in any instance SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup mount; ORACLE instance started. Total System Global Area 4609830912 bytes Fixed Size 2260888 bytes Variable Size 989855848 bytes Database Buffers 3607101440 bytes Redo Buffers 10612736 bytes Database mounted. SQL> ALTER DATABASE SET SCN COMPATIBILITY 2; Database altered. SQL> alter database open; Database altered.

这是一个非常重要的变化。

本文分享自微信公众号 - 数据和云(OraNews)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-03-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 数据恢复:ORA-600 2662 错误的SCN增进应对

    正文: 在损失了日志,进行基于损坏的恢复时,可能会因为_allow_resetlogs_corruption参数的使用而收到ORA-600 2662的错误报告。...

    数据和云
  • 承上 DBlink 与 SCN | 新增视图找出外部 SCN 跳变

    综述 众所周知,当在两个数据库之间建立 dblink连 接时,SCN 将被同步,以维持分布式事务读取一致性。 这将导致在较低 SCN 的数据库的 SCN 跳...

    数据和云
  • 预警揭秘:倒计时炸弹11.2.0.4前版本DB Link必须在2019年4月升级真相

    在 Oracle 官方支持站点 MOS 上,最近发布了两篇告警文章,引发了用户的广泛关注,这两篇文章分别是: Oracle Databases Need to ...

    数据和云
  • HanLP Analysis for Elasticsearch

    ·插件开发完成时,最新版本已经为 6.5.2 了,所以个人只对典型的版本进行了测试;

    IT小白龙
  • Shader-物体发光效果

    祝你万事顺利
  • TypeScript枚举

    打开js文件我们可以看到相对应的字符串,通过如下内容我们可以看到枚举类型可以被编译成一个双向类型的映射

    HueiFeng
  • TypeScript枚举

    打开js文件我们可以看到相对应的字符串,通过如下内容我们可以看到枚举类型可以被编译成一个双向类型的映射

    HueiFeng
  • R语言可视化——ggplot图表系统中的形状

    今天跟大家分享ggplot图表系统中形状。 在ggplot函数系统中,形状是一类重要的映射属性,如同颜色一样,它可以被赋予给变量,当然也可以直接指定实际的形状类...

    数据小磨坊
  • 解决Linux修改密码报PAM authentication failed错误

    最近接到一个运维开发任务,需要开发一个帐号管理系统,对手头三千多台 Linux 服务器的 root 帐号进行批量系统的管理,实现定期修改 root 为随机密码并...

    张戈
  • FTP使用MariaDB完成虚拟用户认证

    文件传输协议(英文:File Transfer Protocol,縮寫:FTP)是用於在網絡上進行文件傳輸的一套標準協議。它属于网络传输协议的应用层。FTP是一...

    用户2645267

扫码关注云+社区

领取腾讯云代金券