龙空技术网

oracle 19C ora-27104 故障解决方案

王啸皓月山巅 309

前言:

如今兄弟们对“oracle 19c alert日志位置”大约比较重视,你们都想要分析一些“oracle 19c alert日志位置”的相关文章。那么小编也在网络上汇集了一些有关“oracle 19c alert日志位置””的相关内容,希望你们能喜欢,我们一起来学习一下吧!

我修改了虚拟机的内存大小,然后打开oracle 19C的数据库,报错:ORA-27104的故障。

ORA-27104:system-defined limits for shared memory was misconfigured.

分析故障的原因:调整了内存,影响了共享内存sga的大小。

故障的处理过程:

1.查看alert.log的日志。

cd $ORACLE_BASE/diag/rdbms/$ORACLE_SID/$ORACLE_SID/alert目录。

2.分析log.xml日志。

more log.xml

发现:

2.1System cannot support SGA size of 3728MB.

2.2 Total system memory configured is 3759MB.

2.3 Instance maximum shared memory size should be less than 3383 MB.

3.查看当前sga设置大小。

cd /u01/app/oracle/product/19.3.0/dbhome_1/dbs

more initcdb1.ora|grep sga

cdb1.__sga_target=3909091328 (3728MB)

*.sga_target=3720m

根据报错可以看到该值的大小应该小于3383MB。从网上看到该值最好不大于物理内存的80%。

4.查看当前sga_target的数值。

more initcdb1.ora|grep shared_pool

cdb1.__shared_pool_size=771751936 (736MB)

sga_target的值应该大于__shared_pool_size的值。

5.设置最终的解决方案。

cdb1.__sga_target=3523215360 (3360MB)

*.sga_target=3360m

6.具体操作。

6.1 $sqlplus / as sysdba

6.2 SYS@cdb1 SQL> create pfile='/u01/app/oracle/product/19.3.0/dbhome_1/dbs/initcdb1.ora' from spfile;

6.3 SYS@cdb1 SQL> !vi /u01/app/oracle/product/19.3.0/dbhome_1/dbs/initcdb1.ora

cdb1.__sga_target=3523215360 (3360MB)

*.sga_target=3360m

6.4 SYS@cdb1 SQL> startup pfile='/u01/app/oracle/product/19.3.0/dbhome_1/dbs/initcdb1.ora';

这步做完后,数据库可以正常启动了。

6.5 SYS@cdb1 SQL> create spfile from pfile;

6.6 SYS@cdb1 SQL> shutdown immediate;

6.7 SYS@cdb1 SQL> startup;

6.8 SYS@cdb1 SQL> exit;

退出数据库。

7.总结分析。

数据库内存变化之后,需要相应调整SGA配置参数。

真诚是最大的能量!

标签: #oracle 19c alert日志位置