- Ora 27102 linux cannot allocate memory
- OCI DBCS VM Rebooted With Error ‘ORA-27102: out of memory’ Due to Configuration Issue With Parameter USE_LARGE_PAGES (Doc ID 2507490.1)
- Changes
- Cause
- To view full details, sign in with your My Oracle Support account.
- Don’t have a My Oracle Support account? Click to get started!
- DBCA «ORA-27102: out of memory» error during create database files
- Server
- Oracle
- 1 Answer 1
- This note is from Oracle documentation «Problem Description
- Solution Description
- Explanation
- Symantec Backup Exec: восстановление Oracle, установленного на Linux
- Этап 1. Восстановление ORACLE_HOME
- Этап 2. Подготовка к восстановлению файлов данных
- Этап 3. Восстановление файлов данных БД Oracle.
Ora 27102 linux cannot allocate memory
Log on to the database to perform discovery
Related given
ORA-01034: ORACLE not available
ORA-27102: out of memory
See out of memory, the first exit shm database to see whether it is full
[[email protected] ~]$ 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
see here is not full, then log on to the database
then found, queries and other operations can not be restarted
prompt database is unavailable, locate the cause, an abnormal state of the database should be started is down
Exit to the database, see the oracle process, it was found a impdp
The reason is because downtime find impdp on Friday after the implementation, I do not know why there is no exit leading to long pending
kill off the impdp
memory is not released or locked
try restarting
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
See here to find a related discussion in the forum oracle
Jump lit here
is given directly address proposal is started using a pfile
spfile to pfile file backup, you can go start the database according to the pfile, if there is no backup, it can only go up pfile copy files from other versions of the same server,
then manually edit the configuration information, to start the database (note that the same version of the database).
Execution started using a 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.
Then start clicking listening, problem solving
OCI DBCS VM Rebooted With Error ‘ORA-27102: out of memory’ Due to Configuration Issue With Parameter USE_LARGE_PAGES (Doc ID 2507490.1)
VM Rebooted With Error ‘ORA-27102: out of memory’. This happened multiple times.
During our analysis through OS Watcher, iwe observed that the «kswapd0» process was utilizing 100% cpu during issue time, following which the system is crashed.
Also lot of oracle processes in D state during that time. The assumption was kswpad was trying to move oracle db related pages to swap.
Looks like hugepages were enabled which should have addressed this issue but not used.
MemTotal: 123511816 kB
MemFree: 1277540 kB
MemAvailable: 710044 kB
SwapTotal: 2097148 kB
SwapFree: 0 kB
HugePages_Total: 32256
HugePages_Free: 32256
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
Thu Dec 20 09:45:47 2018
Starting ORACLE instance (normal)
************************ Large Pages Information *******************
Parameter use_large_pages = false
Per process system memlock (soft) limit = 88 GB
Large Pages unused system wide = 32256 (63 GB)
Large Pages configured system wide = 32256 (63 GB)
Large Page size = 2048 KB
WARNING:
Large Pages are not used as parameter use_large_pages=false.
For optimal performance, it is recommended to use Large Pages.
********************************************************************
.
Starting Data Guard Broker (DMON)
.
WARNING: ASM communication error: op 0 state 0x0 (15055)
ERROR: direct connection failure with ASM
Mon Dec 31 10:18:28 2018
Starting ORACLE instance (normal)
************************ Large Pages Information *******************
Parameter use_large_pages = false
Per process system memlock (soft) limit = 88 GB
Large Pages unused system wide = 32256 (63 GB)
Large Pages configured system wide = 32256 (63 GB)
Large Page size = 2048 KB
WARNING:
Large Pages are not used as parameter use_large_pages=false.
For optimal performance, it is recommended to use Large Pages.
.
Thu Jan 03 02:57:23 2019
WARNING: ASM communication error: op 0 state 0x0 (15055)
ERROR: direct connection failure with ASM
.
ORA-01034: ORACLE not available
ORA-27102: out of memory
Linux-x86_64 Error: 12: Cannot allocate memory
Additional information: 2731
Additional information: 131076
Additional information: 1623195648
WARNING: ASM communication error: op 18 state 0x40 (1034)
ERROR: slave communication error with ASM
NOTE: Deferred communication with ASM instance
.
ORA-01034: ORACLE not available
ORA-27102: out of memory
Linux-x86_64 Error: 12: Cannot allocate memory
Additional information: 2731
Additional information: 131076
Additional information: 1623195648
Thu Jan 03 09:28:15 2019
Starting ORACLE instance (normal)
************************ Large Pages Information *******************
Parameter use_large_pages = false
Per process system memlock (soft) limit = 88 GB
Large Pages unused system wide = 32256 (63 GB)
Large Pages configured system wide = 32256 (63 GB)
Large Page size = 2048 KB
WARNING:
Large Pages are not used as parameter use_large_pages=false.
For optimal performance, it is recommended to use Large Pages.
.
We didn’t find much information on /var/log/messages.
Changes
As per customer, no changes were performed.
Cause
To view full details, sign in with your My Oracle Support account.
Don’t have a My Oracle Support account? Click to get started!
My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.
Oracle offers a comprehensive and fully integrated stack of cloud applications and platform services. For more information about Oracle (NYSE:ORCL), visit oracle.com. � Oracle | Contact and Chat | Support | Communities | Connect with us | | | | Legal Notices | Terms of Use
DBCA «ORA-27102: out of memory» error during create database files
I have problem about creating database on our oracle server. Oracle is installing successfully. When I trying to create a database by Database Configuration Assistant. Progress Bar is stoping at %2 and memory usage is increasing.
Server
Intel Xeon CPU E7-4860 @2.27GHZ 2.26Ghz 64 GB Ram Windows Server 2008 R2 (Service Pack 1) 64-Bit Operation System
Oracle
11g Release 2 (11.2) for Microsoft Windows x64 (64-Bit)
Content of
- Other Informations:
- Oracle is installing successfully
- Instance is creating and database service is starting successfully.
- \oradata\ is empty! assistant can not create the database binary file.
- I was logged in with Administrator account and disable UAC.
- Starting all of executable files as «Run as Administrator»
- oradata folder can be edited by Everyone.
- I have reinstalled the operation sytem and oracle server many time 🙂
11g Release 2 (11.2) for Microsoft Windows x64 (64-Bit) still giving error. 11g Release 2 (11.1) for Microsoft Windows x64 (64-Bit) installed successfully.
1 Answer 1
This note is from Oracle documentation «Problem Description
You are attempting to create a new database using Oracle Database Configuration Assistant when your server has a very large unused memory. You pick a typical type of database creation and receive the following error:
The database creation fails.
Solution Description
Pick Custom installation and keep on picking default values if you wish to or change them upon your requirements until you reach the page where you have to set your initialization parameters of the newly created database. Lower the numbers of shared_pool_size and block_buffers to a reasonable and appropriate number that can suit your needs as well as your hardware abilities and continue with the creation. The database will be created successfully. Here is a simple formula to assist you in calculating the size of the SGA depending on the values you will be assigning for your initialization parameters in init.ora:
( ( db_block_size * db_block_buffers ) + log_buffer + shared_pool_size + large_pool_size + java_pool_size ) / .9
Explanation
The reason this problem is occuring is because when you have large memory installed on the server and a large segment of this memory is unused, the Oracle Database Configuration Assistant will pick a percentage (roughly 30%) of your unused memory and swap spaces and calculate the SGA to use those 30% of this unused space. This calculated percentage may exceed your server hardware capabilities and may even exceed your requirement on the newly created database.»
Symantec Backup Exec: восстановление Oracle, установленного на Linux
В первой части было описано, как сделать резервную копию БД Oracle установленной на Linux средствами Symantec Backup Exec, теперь рассмотрим как из этой копии восстановить данные. Как и с резервным копированием не все так просто и очевидно.
Восстановление будет происходить в три этапа, это связано с тем, что SBE разделяет файлы и БД, когда мы настраивали резервную копию, мы выбирали в [ROOT] путь к ORACLE_HOME, и БД. В такой очередности и будем восстанавливать.
Этап 1. Восстановление ORACLE_HOME
Восстанавливать данные не обязательно на тот же самый сервер, такая возможность очень удобна, так как можно сделать тестовый сервер для разработок, а также проверить возможность восстановления и попрактиковаться в развертывании бэкапа. Итак приступим, создаем первое задание:
Меню > Файл > Создать > Задание восстановления
Выбираем в ресурсах имя сервера и дату для восстановления каталогов. На вкладке «Перенаправление файлов» указываем на какой сервер восстанавливать данные, если не нужно восстановить на тот же с которого был сделан бэкап. Нажимаем выполнить немедленно и наблюдаем в разделе «Монитор заданий» успешное выполнение задания.
Этап 2. Подготовка к восстановлению файлов данных
Поле того как ORACLE_HOME был восстановлен – было сделано восстановление только программной части БД ORACLE. Далее необходимо выполнить запуск базы. Так как файлов данных нет то можно запустить БД не больше чем в режиме mount.
SQL> startup nomount lsnrctl start
Если вы восстанавливаете на другой сервер, то скорее всего попадете на ошибку связанную с файлом конфигурации БД, например
ORA-27102: out of memory Linux Error: 12: Cannot allocate memory
Такая ошибка возникает, когда БД работает с spfile в котором остались настройки с другого сервера. Самый простой способ это найти стандартный файл примера конфигурации – он обычно имеет минимальный набор параметров для запуска БД. Искать его нужно в ORACLE_HOME/dbs, имя его init.ora. Обычный файл параметров pfile имеет имя init.ora. Итак пробуем запустить БД с другим файлом параметров.
SQL> shu immediate --- останавливаем БД SQL> startup pfile= nomount;
SQL> create spfile from pfile=;
SQL> shu immediate SQL> startup nomount
База данных в режиме nomount, listener запущен, переходим к восстановлению файлов данных БД dbf (Так называемое расширение в названии файлов может быть любое, в Linux это не имеет значения и обозначается больше для удобства восприятия файлов).
Этап 3. Восстановление файлов данных БД Oracle.
Возвращаемся к консоли управления SBE на сервере резервного копирования данных.
По такому же принципу как в первом этапе создаем задание восстановления.
Меню > Файл > Создать > Задание восстановления
В этом задании мы выбираем раздел «Управляющие файлы» и выбираем один соответствующий тому времени на какой момент мы хотим восстановить БД. Далее также просматриваем все вкладки, в «Перенаправлении Oracle» указываем имя сервера на который мы восстанавливаем (отличный от того с которого был сделан бэкап) и останавливаемся на вкладке Oracle.
Рекомендую установить галочки как на картинке, это поможет избежать некоторых проблем например таких как не согласованность времени указанного вами и выбранного Управляющего файла. Момент на который будет произведено восстановление данных будет равен времени выбранного управляющего файла. Запускаем на восстановление, по окончанию успешного восстановления возвращаемся на сервер куда выполнили восстановление и выполняем следующее:
SQL> ALTER DATABASE OPEN RESETLOGS;
Если команда не возвратила ошибок, проверяем alert.log на наличие ошибок. Проблем не обнаружено – восстановление прошло успешно!