重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛

标题: 操作系统的物理内存紧张,数据库出现ORA-04030的报错 [打印本页]

作者: Inkcup    时间: 2026-2-27 09:54
标题: 操作系统的物理内存紧张,数据库出现ORA-04030的报错
  

                               
登录/注册后可看大图

如图,操作系统的物理内存紧张,物理内存空闲仅419MB,建议先释放BUFFER CACHE,然后分析内存的具体使用情况,查看本机是否有备份等文件操作,或者大的排序操作占用了PGA。
释放LINUX操作系统CACHE的命令:
#操作系统命令
  1.先同步一下系统缓冲区
  # sync
  2.释放CACHE
  # echo 3 > /proc/sys/vm/drop_caches
  3.之后,再修改回以前的状态
  # echo 0 > /proc/sys/vm/drop_caches

检查告警日志:

Wed Jan 28 01:02:51 2026
Archived Log entry 31042 added for thread 1 sequence 93794 ID 0xcd5ced20 dest 1:
Wed Jan 28 01:11:14 2026
Errors in file /u01/app/oracle/diag/rdbms/ncdb/ncdb/trace/ncdb_ora_28974.trc  (incident=291944):
ORA-04030: ڳ��Է��� 120 ֽ(kkqctdrvTD: co,opndef: qcopCreateOpnViaMemcpy) ʱ�����ڴ治��
Incident details in: /u01/app/oracle/diag/rdbms/ncdb/ncdb/incident/incdir_291944/ncdb_ora_28974_i291944.trc
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
Errors in file /u01/app/oracle/diag/rdbms/ncdb/ncdb/trace/ncdb_ora_28974.trc  (incident=291945):
ORA-04030: ڳ��Է��� 856088 ֽ(pga heap,redo overflow buffer) ʱ�����ڴ治��
ORA-04030: ڳ��Է��� 120 ֽ(kkqctdrvTD: co,opndef: qcopCreateOpnViaMemcpy) ʱ�����ڴ治��
Incident details in: /u01/app/oracle/diag/rdbms/ncdb/ncdb/incident/incdir_291945/ncdb_ora_28974_i291945.trc
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
Wed Jan 28 01:11:30 2026
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
Errors in file /u01/app/oracle/diag/rdbms/ncdb/ncdb/incident/incdir_291944/ncdb_ora_28974_i291944.trc:
ORA-04030: ڳ��Է��� 856088 ֽ(pga heap,redo overflow buffer) ʱ�����ڴ治��
ORA-04030: ڳ��Է��� 120 ֽ(kkqctdrvTD: co,opndef: qcopCreateOpnViaMemcpy) ʱ�����ڴ治��
Errors in file /u01/app/oracle/diag/rdbms/ncdb/ncdb/trace/ncdb_ora_28974.trc  (incident=291946):
ORA-04030: ڳ��Է��� 856088 ֽ(pga heap,redo overflow buffer) ʱ�����ڴ治��
ORA-04030: ڳ��Է��� 120 ֽ(kkqctdrvTD: co,opndef: qcopCreateOpnViaMemcpy) ʱ�����ڴ治��
Incident details in: /u01/app/oracle/diag/rdbms/ncdb/ncdb/incident/incdir_291946/ncdb_ora_28974_i291946.trc
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
Wed Jan 28 01:11:33 2026
Sweep [inc][291946]: completed
Sweep [inc][291945]: completed
Sweep [inc][291944]: completed
Sweep [inc2][291945]: completed
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
Errors in file /u01/app/oracle/diag/rdbms/ncdb/ncdb/incident/incdir_291944/ncdb_ora_28974_i291944.trc:
ORA-04030: ڳ��Է��� 856088 ֽ(pga heap,redo overflow buffer) ʱ�����ڴ治��
ORA-04030: ڳ��Է��� 120 ֽ(kkqctdrvTD: co,opndef: qcopCreateOpnViaMemcpy) ʱ�����ڴ治��
Wed Jan 28 01:11:38 2026
Dumping diagnostic data in directory=[cdmp_20260128011138], requested by (instance=1, osid=28974), summary=[incident=291946].
Errors in file /u01/app/oracle/diag/rdbms/ncdb/ncdb/trace/ncdb_ora_28974.trc  (incident=291947):
ORA-04030: ڳ��Է��� 20504 ֽ(callheap,KTI call freeable small pool) ʱ�����ڴ治��
ORA-04030: ڳ��Է��� 120 ֽ(kkqctdrvTD: co,opndef: qcopCreateOpnViaMemcpy) ʱ�����ڴ治��
Incident details in: /u01/app/oracle/diag/rdbms/ncdb/ncdb/incident/incdir_291947/ncdb_ora_28974_i291947.trc
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
Dumping diagnostic data in directory=[cdmp_20260128011145], requested by (instance=1, osid=28974), summary=[incident=291947].
Wed Jan 28 01:12:27 2026
Thread 1 cannot allocate new log, sequence 93796
Private strand flush not complete
  Current log# 2 seq# 93795 mem# 0: /home/oracle/oradata/ncdb/REDO02.LOG
Thread 1 advanced to log sequence 93796 (LGWR switch)
  Current log# 1 seq# 93796 mem# 0: /home/oracle/oradata/ncdb/REDO01.LOG
Wed Jan 28 01:12:34 2026
Sweep [inc][291947]: completed
Sweep [inc2][291947]: completed
Sweep [inc2][291946]: completed
Sweep [inc2][291944]: completed
Wed Jan 28 01:12:34 2026
Archived Log entry 31043 added for thread 1 sequence 93795 ID 0xcd5ced20 dest 1:


在1月28日01:11分出现ORA-04030的报错,表示数据库在尝试分配内存时遇到了问题,之后数据库开始自动恢复,清理了异常事件占用的内存。
结合自动备份脚本运行情况分析:
0 0 * * * /u01/app/scripts/autobak.sh
0 2 * * * /home/oracle/script/arch_rm.sh
--采用本地expdp导出备份,每天0点进行自动备份,并在每天2点清除归档日志,保留期限为5天

推测为每日备份导致内存紧张,如果该报错为偶发报错,则可忽略,如果频繁出现,则需手动清理buffer。








欢迎光临 重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2