[启动oracle实例报错oracle]启动Oracle实例报错ORA-27125解决办法

更新时间:2019-11-17    来源:CentOS    手机版     字体:

【www.bbyears.com--CentOS】

有一台CentOS的机器装了Oracle,启动实例的时候报错ORA-27125

SQL> startup
ORA-27125: unable to create shared memory segment
Linux-x86_64 Error: 1: Operation not permitted

Linux详细版本为

# cat /proc/version
Linux version 2.6.32-358.14.1.el6.x86_64 (mockbuild@c6b10.bsys.dev.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC) ) #1 SMP Tue Jul 16 23:51:20 UTC 2013

0、解决办法

查询dba用户组的id

# id oracle
uid=502(oracle) gid=503(oinstall) 组=503(oinstall),502(dba)

将dba用户组id添加到文件 /proc/sys/vm/hugetlb_shm_group

# echo 502 > /proc/sys/vm/hugetlb_shm_group

startup数据库实例


SQL> startup
ORACLE instance started.
 
Total System Global Area 2147483648 bytes
Fixed Size                  2022144 bytes
Variable Size             486540544 bytes
Database Buffers         1644167168 bytes
Redo Buffers               14753792 bytes
Database mounted.
Database opened.

1、相关解释

关于hugetlb文件涉及到的相关概念,可以参考这篇文章

When a process uses some memory, the CPU is marking the RAM as used by that process. For efficiency, the CPU allocate RAM by chunks of 4K bytes (it’s the default value on many platforms). Those chunks are named pages. Those pages can be swapped to disk, etc.
Since the process address space are virtual, the CPU and the operating system have to remember which page belong to which process, and where it is stored. Obviously, the more pages you have, the more time it takes to find where the memory is mapped. When a process uses 1GB of memory, that’s 262144 entries to look up (1GB / 4K). If one Page Table Entry consume 8bytes, that’s 2MB (262144 * 8) to look-up.
Most current CPU architectures support bigger pages (so the CPU/OS have less entries to look-up), those are named Huge pages (on Linux), Super Pages (on BSD) or Large Pages (on Windows), but it all the same thing.

本文来源:http://www.bbyears.com/caozuoxitong/79775.html

热门标签

更多>>

本类排行