登錄到數據庫執行發現
相關報錯
ORA-01034: ORACLE not available
ORA-27102: out of memory
看到 out of memory ,先退出數據庫查看shm是否是滿了
[oracle@pro-bas-dev-db ~]$ df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 20G 15G 6.0G 71% /
devtmpfs devtmpfs 9.8G 0 9.8G 0% /dev
tmpfs tmpfs 13G 5.8G 7.3G 45% /dev/shm
tmpfs tmpfs 9.8G 1004M 8.8G 11% /run
tmpfs tmpfs 9.8G 0 9.8G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 180M 835M 18% /boot
/dev/mapper/vgoracle-lvoracle ext4 1.5T 1.4T 31G 98% /oracle
/dev/mapper/centos-home xfs 25G 90M 25G 1% /home
tmpfs tmpfs 2.0G 12K 2.0G 1% /run/user/42
tmpfs tmpfs 2.0G 0 2.0G 0% /run/user/0
tmpfs tmpfs 2.0G 0 2.0G 0% /run/user/1001
tmpfs tmpfs 13G 5.8G 7.3G 45% /dev/shm
這裏看到沒有滿,再登錄到數據庫
這時發現,查詢重啓等操作都無法進行
提示都是數據庫不可用,初步確定原因,數據庫啓動狀態不正常應該是宕機了
退出到數據庫,查看oracle進程時候發現一個impdp
找到宕機原因是因爲上週五impdp執行完後,不知道爲什麼沒有退出長時間掛起導致
kill 掉impdp後
內存沒有釋放,還是鎖住
嘗試重啓
SQL> shutdown immediate
ORA-01034: ORACLE not available
ORA-27102: out of memory
Linux-x86_64 Error: 12: Cannot allocate memory
Additional information: 26
Additional information: 524289
Additional information: 1660944384
這裏看到在oracle 的論壇找到一份相關的討論
點着這裏跳轉
給出的是直接解決建議是使用pfile啓動
spfile文件有備份成pfile的話,可以根據該pfile去啓動數據庫,如果沒有備份的話,只能從其他相同版本的服務器上去拷貝一份pfile文件,
然後手動修改配置信息,來啓動數據庫(注意是相同版本的數據庫)。
執行使用pfile啓動
SQL> startup pfile='/oracle/app/admin/orcl/pfile/init.ora.926201785336'
ORACLE instance started.
Total System Global Area 2137886720 bytes
Fixed Size 2254952 bytes
Variable Size 587204504 bytes
Database Buffers 1543503872 bytes
Redo Buffers 4923392 bytes
Database mounted.
Database opened.
再把監聽啓動一下,問題解決
0209.2019 V1