当前主流数据库版本服务支持周期-202503

在最新的”当前数据库版本的发行时间表 (Doc ID 1626244.1)”文档中,oracle官方更新的数据库产品的支持周期,最重要的一点就是oracle 19c标准服务延期到2029年12月31日
DBROADMAP12-2-2024

版本 补丁结束日期 注意和例外
 23ai

Long Term Release

Premier Support – 2032年12月31日

Extended Support - 时间待定

  • 由于此次发布中突破性人工智能技术的重要性,我们将其从 Oracle 数据库 23c 重新命名为 Oracle 数据库 23ai
  • 现在可在云上、Oracle Exadata 和 Oracle Database Appliance 中使用。请参阅下方的 Oracle 数据库日程表中的详细信息
  • Premier Support将于 2031 年 12 月 31 日结束
  • 通过扩展支持或者ULA进行错误修正/补丁的截止日期待定
21c

Innovation Release

 2027年7月31日
  • 错误更正/补丁 有效期至2027年7月31日
  • 21c没有资格申请 Extended Support(ES)
  • 21c只提供 Release Updates (RUs) 补丁
  • 21c不适用于Exadata Database Service

 

19c

Long Term Release

2029年12月31日,没有ES/ULA

2032年12月31日,有ES/ULA

 

  • Premier Support(PS)将于2029年12月31日结束。扩展支持(ES)将从2030年1月1日持续到2032年12月31日。
  • 错误更正/补丁,付费的ES可到2032年12月31日;没有付费的ES,有效期到2029年12月31日
  • 从 2022 年 10 月的补丁周期开始,19.17.0 及更高版本将不再提供 19c RUR。在 2023 年 1 月交付 Oracle Database 19c RUR 19.16.2 之后,不会在任何平台上交付额外的 RUR。更多细节请参考文档 Sunsetting of 19c RURs and FAQ (Doc ID 2898381.1))
  • 为了让客户更频繁地访问推荐和经过良好测试的补丁集合,Oracle 从 2022 年 11 月开始推出 Monthly Recommended Patches (MRP)。 MRP 仅支持 Linux x86-64 平台。(更多细节请参考文档 Introducing Monthly Recommended Patches (MRPs) and FAQ (Doc ID 2898740.1))
18c

Innovation Release

 

2021年6月30日
  • 错误更正/补丁 有效期至2021年6月30日,18c已进入 Sustaining Support 阶段。
  • 18c没有资格申请 Extended Support(ES)
  • 18c 在 Exadata Database Service、Base Database Service 或 Exadata Cloud@Customer 上不受支持。
12.2.0.1

 

2022年3月31日

Upgrade Support (Restricted Availability) Jan 1, 2024- Dec 31, 2025 - 具体请联系 CSS

  • 这个版本的错误更正/补丁已经结束
  • 12.2.0.1 没有资格申请 Extended Support(ES)
  • 在 Exadata Database Service、Base Database Service 或 Exadata Cloud@Customer 上运行 12.2.0.1 需要购买 Upgrade Support (Restricted Availability)(旧称MDS) 服务
12.1.0.2

最终版本

2022年7月31日,有付费的ES, ULA, 或者减免费用的 EBS

Dec 31, 2025 (Upgrade Support (Restricted Availability)- 具体请联系 CSS)

  • 这个版本的错误更正/补丁已经结束
  • Premier Support(PS)截止至2018年7月31日,为期一年的免费 Extended Support(ES)有效期至2019年7月31日
  • 从 2019年8月1日 至 2022年7月31日,需要ES费用或ULA. 没有付费的 ES or ULA, 补丁截止于 2019年7月31日
  • 我们为电子商务客户提供全球ES uplift 费用减免,详情和到期日期见: Extended Support Fee Waiver for Oracle Database 12.1 and 11.2 for Oracle E-Business Suite (Doc ID 2522948.1) 或技术支持政策文件
  • Apple Macintosh 平台 补丁结束日期为2021年7月31日 
  • 微软Windows平台: 对于 12.1.0.2 Database, Oracle 在 Microsoft Windows 2008 上运行 12.1.0.2 Database。 这个平台的 end-of-life support 是 January 14, 2020。 甲骨文做出了合理的努力,在2022年7月之前为Windows上的数据库12.1.0.2提供补丁,但这种支持已经过期。
  • 在 Exadata Database Service、Base Database Service 或 Exadata Cloud@Customer 上运行 12.1.0.2 需要购买 Upgrade Support (Restricted Availability)(旧称MDS) 服务
12.1.0.1 2016年8月31日
  • 这个版本的错误更正/补丁已经结束
  • 12.1.0.1 没有资格申请 Extended Support (ES)
  • 12.1.0.1 是 Standard Edition (SE) 和 Standard Edition One (SE1) 的最后一个版本
11.2.0.4

最终版本 for 11.2

  • 2020年12月31日(有偿扩展支持 或 ULA扩展支持 或 减免费用的EBS)
  • 2025年12月31日(Upgrade Support (Restricted Availability) - 具体请联系 CSS)
  • 2021年12月31日 适用于OpenVMS平台

 

  • Premier Support (PS)截止到2015年1月31日,而为期一年的免费Extended Support(ES)持续到2018年12月31日。
  • 从2019年1月1日开始到2020年12月31日,将需要ES费用或ULA。
  • Oracle为电子商务客户提供全球ES uplift 费用减免,详情和到期日期见: Extended Support Fee Waiver for Oracle Database 12.1 and 11.2 for Oracle E-Business Suite (Doc ID 2522948.1) 或技术支持政策文件。
  • 第1代 ExaCC, OCC DBCS, and ODA 将拥有额外3个月的支持周期. 这些平台上的数据库的支持周期截止到: 2021年3月31日。可以创建新实例,直到扩展支持终止为止。但是,Oracle不承诺在支持终止后任何11.2.0.4 DBCS实例将继续运行。
  • 市场驱动支持(Market Driven Support)提供以下数据库云服务:第1代和第2代ExaCC,OCC DBCS,OCI DBCS,OCI ExaCS。 直到市场驱动支持终止(2021年12月31日),可以创建新实例。 Oracle不承诺在Upgrade Support(旧称MDS)支持终止后任何11.2.0.4 DBCS实例将继续运行。 市场驱动支持不适用于PSM-based OCI DBCS,OCI-C DBCS和OCI-C ExaCS。
  • 在 Exadata Database Service、Base Database Service 或 Exadata Cloud@Customer 上运行 11.2.0.4 需要购买 Upgrade Support (Restricted Availability)(旧称MDS) 服务
  • 11.2.0.4是OpenVMS上的最终版本。 在2021日历年中,除了标准的专业支持费用之外无需其他费用,客户能够收到重要度1的修复程序和安全更新。涵盖范围不包括新认证,第三方产品或任何Java/JDK功能(包括数据库中嵌入的Java组件)。涵盖范围还不包括与加密和网络加密有关的任何更新。 此供应不包括标准的安全补丁更新(SPU)。

 


发表在 Oracle | 留下评论

pg启动报invalid checkpoint record处理

pg库启动报PANIC: could not locate a valid checkpoint record错误

2025-03-09 10:59:10.365 EDT [73013] LOG:  starting PostgreSQL 16.8 on x86_64-pc-linux-gnu, 
                                          compiled by gcc (GCC) 8.3.1 20191121 (Red Hat 8.3.1-5), 64-bit
2025-03-09 10:59:10.365 EDT [73013] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2025-03-09 10:59:10.365 EDT [73013] LOG:  listening on IPv6 address "::", port 5432
2025-03-09 10:59:10.367 EDT [73013] LOG:  listening on Unix socket "/tmp/.s.PGSQL.5432"
2025-03-09 10:59:10.401 EDT [73018] LOG:  database system was interrupted; last known up at 2025-03-09 10:54:43 EDT
2025-03-09 10:59:11.506 EDT [73018] LOG:  invalid checkpoint record
2025-03-09 10:59:11.508 EDT [73018] PANIC:  could not locate a valid checkpoint record
2025-03-09 10:59:12.004 EDT [73013] LOG:  startup process (PID 73018) was terminated by signal 6: Aborted
2025-03-09 10:59:12.004 EDT [73013] LOG:  aborting startup due to startup process failure
2025-03-09 10:59:12.006 EDT [73013] LOG:  database system is shut down

从报错信息中看,是有无法读取到有效的checkpoint记录导致,初步怀疑是wal异常,检查pg_wal目录,发现wal日志为空

[root@localhost pg_wal]# ls -ltr
total 16388
drwx------  2 postgres postgres        6 Mar  6 08:10 archive_status
[root@localhost pg_wal]# 

进一步检查系统操作命令rm删除wal日志命令

cd pg_wal
rm -rf 0000000*

初步确认是由于wal日志被意外删除导致pg库无法启动,尝试重置wal,由于库不是干净关闭,无法直接重置成功

[postgres@localhost log]$ pg_resetwal $PGDATA
The database server was not shut down cleanly.
Resetting the write-ahead log might cause data to be lost.
If you want to proceed anyway, use -f to force reset.

使用pg_resetwal -f强制重置

[postgres@localhost log]$ pg_resetwal -f $PGDATA
Write-ahead log reset

尝试启动pg库成功

[postgres@localhost log]$ pg_ctl start 
waiting for server to start....2025-03-09 11:02:02.609 EDT [73088] LOG:  
redirecting log output to logging collector process
2025-03-09 11:02:02.609 EDT [73088] HINT:  Future log output will appear in directory "log".
 done
server started
2025-03-09 11:02:02.609 EDT [73088] LOG:  starting PostgreSQL 16.8 on x86_64-pc-linux-gnu, 
                                          compiled by gcc (GCC) 8.3.1 20191121 (Red Hat 8.3.1-5), 64-bit
2025-03-09 11:02:02.609 EDT [73088] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2025-03-09 11:02:02.609 EDT [73088] LOG:  listening on IPv6 address "::", port 5432
2025-03-09 11:02:02.610 EDT [73088] LOG:  listening on Unix socket "/tmp/.s.PGSQL.5432"
2025-03-09 11:02:02.645 EDT [73092] LOG:  database system was shut down at 2025-03-09 11:01:53 EDT
2025-03-09 11:02:02.650 EDT [73088] LOG:  database system is ready to accept connections
发表在 PostgreSQL恢复 | 标签为 , | 留下评论

删除redo导致ORA-00313 ORA-00312故障处理

有客户由于误操作直接rm 删除了redo文件,导致数据库启动报ORA-00313 ORA-00312错

2025-03-07T14:49:16.325723+08:00
ALTER DATABASE OPEN
2025-03-07T14:50:00.124620+08:00
Ping without log force is disabled:
  instance mounted in exclusive mode.
2025-03-07T14:50:00.198907+08:00
Crash Recovery excluding pdb 2 which was cleanly closed.
2025-03-07T14:50:00.238450+08:00
Beginning crash recovery of 1 threads
 parallel recovery started with 15 processes
 Thread 1: Recovery starting at checkpoint rba (logseq 2966 block 74686), scn 0
2025-03-07T14:50:00.325246+08:00
Started redo scan
2025-03-07T14:50:00.341193+08:00
Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_2681.trc:
ORA-00313: open failed for members of log group 2 of thread 1
ORA-00312: online log 2 thread 1: '/u01/app/oracle/oradata/orcl/redo02.log'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 7
2025-03-07T14:50:00.372632+08:00
Slave encountered ORA-10388 exception during crash recovery
…………
2025-03-07T14:50:00.385698+08:00
Slave encountered ORA-10388 exception during crash recovery
2025-03-07T14:50:00.388594+08:00
Aborting crash recovery due to error 313
2025-03-07T14:50:00.388739+08:00
Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_2681.trc:
ORA-00313: open failed for members of log group 2 of thread 1
ORA-00312: online log 2 thread 1: '/u01/app/oracle/oradata/orcl/redo02.log'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 7
2025-03-07T14:50:00.389243+08:00
Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_2681.trc:
ORA-00313: open failed for members of log group 2 of thread 1
ORA-00312: online log 2 thread 1: '/u01/app/oracle/oradata/orcl/redo02.log'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 7
ORA-313 signalled during: ALTER DATABASE OPEN...

然后客户把历史的redo文件拷贝过来,尝试恢复数据库,报ORA-00314 ORA-00312错误

2025-03-07T15:07:30.784759+08:00
ALTER DATABASE OPEN
Ping without log force is disabled:
  instance mounted in exclusive mode.
2025-03-07T15:07:30.808497+08:00
Crash Recovery excluding pdb 2 which was cleanly closed.
2025-03-07T15:07:30.838664+08:00
Beginning crash recovery of 1 threads
 parallel recovery started with 15 processes
 Thread 1: Recovery starting at checkpoint rba (logseq 2966 block 74686), scn 0
2025-03-07T15:07:30.897547+08:00
Started redo scan
2025-03-07T15:07:30.898222+08:00
Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_4106.trc:
ORA-00314: log 2 of thread 1, expected sequence# 2966 doesn't match 1646
ORA-00312: online log 2 thread 1: '/u01/app/oracle/oradata/orcl/redo02.log'
2025-03-07T15:07:30.930089+08:00
Slave encountered ORA-10388 exception during crash recovery
…………
2025-03-07T15:07:30.940051+08:00
Slave encountered ORA-10388 exception during crash recovery
2025-03-07T15:07:30.942274+08:00
Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_mz00_4138.trc:
ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/orcl/redo01.log'
2025-03-07T15:07:30.945509+08:00
Slave encountered ORA-10388 exception during crash recovery
2025-03-07T15:07:30.945512+08:00
Slave encountered ORA-10388 exception during crash recovery
2025-03-07T15:07:30.948369+08:00
Aborting crash recovery due to error 314
2025-03-07T15:07:30.948488+08:00
Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_4106.trc:
ORA-00314: log 2 of thread 1, expected sequence# 2966 doesn't match 1646
ORA-00312: online log 2 thread 1: '/u01/app/oracle/oradata/orcl/redo02.log'
2025-03-07T15:07:30.949390+08:00
Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_4106.trc:
ORA-00314: log 2 of thread 1, expected sequence# 2966 doesn't match 1646
ORA-00312: online log 2 thread 1: '/u01/app/oracle/oradata/orcl/redo02.log'
ORA-314 signalled during: ALTER DATABASE OPEN...

使用Oracle数据库异常恢复检查脚本(Oracle Database Recovery Check)脚本收集信息之后数据文件头状态和所需要redo信息
df_header


数据库需要sequence#为2966的redo日志,但是当前已经被删除,基于当前情况,只能进行强制非一致性恢复,尝试强制打开库

SQL> recover database;                 
ORA-00283: recovery session canceled due to errors
ORA-00314: log 2 of thread 1, expected sequence# 2966 doesn't match 1646
ORA-00312: online log 2 thread 1: '/u01/app/oracle/oradata/orcl/redo02.log'

QL> select group#,status,sequence# from v$log;

	  GROUP# STATUS 		 SEQUENCE#
---------------- ---------------- ----------------
	       1 UNUSED 			 0
	       3 CURRENT		      2967
	       2 ACTIVE 		      2966

SQL> 
SQL> 
SQL> recover database until cancel;
ORA-00279: change 163033183 generated at 03/07/2025 14:04:20 needed for thread 1
ORA-00289: suggestion : /u01/app/oracle/recovery_area/orcl/archivelog/2025_03_08/o1_mf_1_2966_%u_.arc
ORA-00280: change 163033183 for thread 1 is in sequence #2966


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
cancel
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: '/u01/app/oracle/oradata/orcl/system01.dbf'


ORA-01112: media recovery not started


SQL> alter database open resetlogs;

Database altered.

运气不错,直接打开数据库成功,然后逻辑导出数据,完成此处恢复.这个让我想起来了一些类似案例:
Oracle 23ai rm redo*.log恢复
清空redo,导致ORA-27048: skgfifi: file header information is invalid
由于默认情况下oracle的redo文件扩展名是.log,然后被当做是不重要文件从而被清理导致数据库故障,在oracle服务器上清理数据之前建议查询v$datafile,v$logfile,v$tempfile,v$controlfile来确认是否是数据库文件

发表在 Oracle备份恢复 | 标签为 , , | 留下评论