共享内存过小导致 oracle实例无法启动,增大共享内存
kernel.shmall
SQL> startup ORA-27102: out of memory Linux-x86_64 Error: 28: No space left on device Additional information: 788529152 Additional information: 1
参数文件配置:
*.audit_file_dest='/oracle/app/oracle/admin/fgyxdb/adump' *.audit_trail='db' *.cluster_database=TRUE *.compatible='11.2.0.4.0' *.control_files='+DGSYSTEM/fgyxdb/controlfile/current.256.1083080823','+DGDATA01/fgyxdb/controlfile/current.256.1083080823' *.db_block_size=8192 *.db_create_file_dest='+DGSYSTEM' *.db_create_online_log_dest_1='+dgsystem' *.db_create_online_log_dest_2='+dgdata01' *.db_domain='' *.db_name='fgyxdb' *.db_recovery_file_dest_size=1572864000 *.db_recovery_file_dest='+dgrecovery' *.diagnostic_dest='/oracle/app/oracle' *.open_cursors=2000 *.pga_aggregate_target=419430400 *.processes=2000 *.remote_listener='fgyxdbscan:1521' *.remote_login_passwordfile='exclusive' *.sessions=2205 *.sga_target=1610612736
优化后的系统参数:
[root@yxdb81 ~]# sysctl -p net.ipv4.ip_forward = 0 net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.default.accept_source_route = 0 kernel.sysrq = 0 kernel.core_uses_pid = 1 net.ipv4.tcp_syncookies = 1 kernel.msgmnb = 65536 kernel.msgmax = 65536 kernel.shmmax = 68719476736 kernel.shmall = 4294967296 fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048586 vm.nr_hugepages = 800 kernel.shmmni = 4096
启动成功:
SQL> startup ORACLE instance started. Total System Global Area 1603411968 bytes Fixed Size 2253664 bytes Variable Size 654314656 bytes Database Buffers 939524096 bytes Redo Buffers 7319552 bytes Database mounted. Database opened. SQL>