ORACLE数据库内存参数设大于8G的内存启动出错问题解决
ORACLE数据库内存参数设大于8G的内存启动出错问题解决
4个INTEL 1.6g 4核CPU,16G 内存,安装完ORACLE 10G FOR RED HAT LINUX-64UPDATA4X86-64 准备导数据进去,顺手修改了几个参数。
alter system set sga_max_size=11g scope=spfile;
alter system set sga_target=11g scope=spfile;
谁知启动报错
startup
ORA-27102: out of memory
Linux-x86_64 Error: 28: No space left on device
上网查了一下,没有查到,估计和linux的内核参数设置有关
检查LINUX的内核参数设置
kernel.shmall = 2097152
kernel.semmsl= 250
kernel.semmns=32000
kernel.shmmax = 8589934592
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
怀疑
kernel.shmmax = 8589934592设得不够大
将
kernel.shmmax =17179869184
重启后仍然出错
上网找到一篇文章说到ORA-27102: out of memory
和kernel.sem的内存段设置大小有关,将
kernel.sem = 500 64000 100 128
重启后仍然出错
上网了一下LINUX的参数的意义,发现kernel.shmall是可用共享内存段,下面这儿有详细说明
http://www.redhat.com/docs/manuals/database/RHDB-2.1-Manual/admin_user/kernel-resources.html
kernel.shmall = 2097152 LINUX一个页面是4K 就是 2097152*4k/1024/1024 = 8G ,明显太小
算了一下16G=4194304
将kernel.shmall = 4194304
将这个参数改过来,重启后,再启动数据库就没有问题了
相关文档:
原文地址:http://book.csdn.net/bookfiles/732/10073222578.shtml
对于DML语句来说,只要修改了数据块,Oracle数据库就会将修改前的数据保留下来,保存在undo segment里,而undo segment则保存在undo表空间里。从Oracle 9i起,有两种undo的管理方式:自动Undo管理(Automatic Undo Management,简称AUM)和手工Undo管理( ......
在pl/sql时经常会碰到将某些特定的符号转换成行,这功能相当于split.以前在网上收集的split函数如下:
CREATE OR REPLACE TYPE DJ_STR_SPLIT IS TABLE OF VARCHAR2 (4000);
CREATE OR REPLACE PACKAGE Dj_Function_API IS
module_ CONSTANT VARCHAR2(25) := 'FNDBAS';
lu_name_ CONSTANT VARCHAR2(25) := 'DjFuncti ......
在db2和oracle中的对树的递归查询语句。
表结构:
create table MAIN_NODE (
MLA_ID INTEGER not null , //节点ID
MLA_ROOTID &nb ......
安装好了之后可以通过这个路径找到一个文本文件:
oracle\product\10.2.0\db_1\NETWORK\ADMIN\listener.ora 还一个在同路径下的tnsnames.ora文件,这两个文本中的一些信息要一样的。
你看看我的这两个文本文件的信息:
listener.ora
# listener.ora Network Configuration File:& ......
WINDOWS下 ORACLE 侦听程序异常停止故障处理
WINDOWS下 ORACLE 侦听程序异常停止故障处理
家里用来的台式机上装了个WINDOWS下的ORACLE 10G,好久没用了,今天打开打算用一下,启动数据库,启动侦听,看着很正常,但是在客户端的TNSPING
C:\>tnsping homedb
TNS Ping Utility for 32-bit Window ......