從ORA-27300,ORA-27301到ORA-00064

? ? 近期因為session數量添加,須要調整session,也就是要調整process參數。

看是比較簡單的一個問題,卻遭遇了ORA-27300,ORA-27301。因為這個涉及到了有關內核參數kernel.sem的改動。以下是其詳細描寫敘述。

1、故障現象
OS版本號:SUSE Linux Enterprise Server 10 SP3 (x86_64) - Kernel \r (\l)
DB版本號: SQL*Plus: Release 10.2.0.3.0 - Production?
需求:Processes參數由1000改動到2000
SQL> startup pfile=/u02/database/MRDB/initMRDB.ora;
ORA-27154: post/wait create failed
ORA-27300: OS system dependent operation:semget failed with status: 28
ORA-27301: OS failure message: No space left on device
ORA-27302: failure occurred at: sskgpcreates

2、故障的分析與解決
#起初咋一看還以為空間不夠呢,例如以下。顯然不是空間的問題,其次有個非常重要的表示"semget"
SQL> ho df -h
Filesystem ? ? ? ? ? ?Size ?Used Avail Use% Mounted on
/dev/sda3 ? ? ? ? ? ? 1.8T ?826G ?885G ?49% /
udev ? ? ? ? ? ? ? ? ? 32G ?116K ? 32G ? 1% /dev
/dev/sda1 ? ? ? ? ? ? ?99M ?9.5M ? 85M ?11% /boot

#后臺日志例如以下
Tue Aug ?5 18:07:22 2014
Starting ORACLE instance (normal)
Tue Aug ?5 18:07:22 2014
Errors in file /u02/database/MRDB/udump/mrdb_ora_30366.trc:
ORA-27154: post/wait create failed
ORA-27300: OS system dependent operation:semget failed with status: 28
ORA-27301: OS failure message: No space left on device
ORA-27302: failure occurred at: sskgpcreates

#Google了一些文章,描寫敘述的是須要調整內核參數kernel.sem,也就是信號量的問題

v2012db02u:~ # grep kernel.sem /etc/sysctl.conf
kernel.sem = 1250 ? ?32000 ? 100 ? ?256 ? ? #這個是當前的值

信號量設置演示樣例
? ? SEMMSL應該設置為server中實例中具有最大的PROCESSES參數+10,比如。當最大的PROCESSES參數為5000時,SEMMSL應設置為5010。


? ? SEMMNS參數應設置為SEMMSL*SEMMNI,接上例SEMMSL為5010。SEMMNI的值一般為128。則SEMMNS參數應為(5010*128)=641280。
? ? SEMOPM參數應設置與SEMMSL參數同樣。接上例此處應設置為5010
? ? 因此對于信號量建議做例如以下設置
? ? sysctl -w kernel.sem="5010 641280 5010 128"

#關于這個參數的詳細描寫敘述及設置能夠參考:Linux 內核參數優化(for oracle)? ??

#因為當前server存在N個實例,因此給了一個比較大的值。生產環境應謹慎改動。例如以下 ? ?
v2012db02u:~ # vi /etc/sysctl.conf
v2012db02u:~ # sysctl -p
? ? ...........
kernel.sem = 7000 1792000 7000 256
? ? ...........?

#再次啟動。狂汗....
SQL> startup pfile=/u02/database/MR/initMR.ora;
ORA-00064: object is too large to allocate on this O/S (1,5150880)

v2012db02u:~ > oerr ora 00064
00064, 00000, "object is too large to allocate on this O/S (%s,%s)"
// *Cause: ?An initialization parameter was set to a value that required
// ? ? ? ? ?allocating more contiguous space than can be allocated on this
// ? ? ? ? ?operating system.
// *Action: Reduce the value of the initialization parameter.

#從上面的描寫敘述來看,不能從os分配連續的空間。


#關于這個問題Metalink(Doc ID 283980.1)上提供了描寫敘述信息。須要增大內存分配粒度到16M。
#以下是當前的內存粒度為4M。
SQL> SQL> SELECT x.ksppinm name, y.ksppstvl VALUE, x.ksppdesc descbtion
? 2 ? ?FROM x$ksppi x, x$ksppcv y
?WHERE ? ? x.inst_id = USERENV ('Instance')
? 3 ? ?4 ? ? ? ? AND y.inst_id = USERENV ('Instance')
? 5 ? ? ? ? AND x.indx = y.indx
? 6 ? ? ? ? AND x.ksppinm LIKE '%_ksmg_granule%';

NAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?VALUE ? ? ? ? ? ? ? ? ? ? ? ? ?DESCBTION
----------------------------------- ------------------------------ --------------------------------------------------
_ksmg_granule_size ? ? ? ? ? ? ? ? ?4194304 ? ? ? ? ? ? ? ? ? ? ? ?granule size in bytes
_ksmg_granule_locking_status ? ? ? ?1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?granule locking status

SQL> show parameter sga ? ? ?#當前sga大小為1G
NAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TYPE ? ? ? ?VALUE
------------------------------------ ----------- ------------------------------
sga_max_size ? ? ? ? ? ? ? ? ? ? ? ? big integer 1G
sga_target ? ? ? ? ? ? ? ? ? ? ? ? ? big integer 1G

#Author : Leshami
#Blog ? : http://blog.csdn.net/leshami

#直接調整為2G
SQL> show parameter sga
NAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TYPE ? ? ? ?VALUE
------------------------------------ ----------- ------------------------------
sga_max_size ? ? ? ? ? ? ? ? ? ? ? ? big integer 2G
sga_target ? ? ? ? ? ? ? ? ? ? ? ? ? big integer 2G

#以下是改動過后內存的粒度。
SQL> set linesize 145
col name format a35
SQL> SQL> col value format a30
col descbtion format a50 wrap
SELECT x.ksppinm name, y.ksppstvl VALUE, x.ksppdesc descbtion
SQL> SQL> ? 2 ? ?FROM x$ksppi x, x$ksppcv y
? 3 ? WHERE ? ? x.inst_id = USERENV ('Instance')
? 4 ? ? ? ? AND y.inst_id = USERENV ('Instance')
? 5 ? ? ? ? AND x.indx = y.indx
? 6 ? ? ? ? AND x.ksppinm LIKE '%_ksmg_granule%';
NAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?VALUE ? ? ? ? ? ? ? ? ? ? ? ? ?DESCBTION
----------------------------------- ------------------------------ --------------------------------------------------
_ksmg_granule_size ? ? ? ? ? ? ? ? ?16777216 ? ? ? ? ? ? ? ? ? ? ? granule size in bytes
_ksmg_granule_locking_status ? ? ? ?1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?granule locking status

#再次重新啟動DB OK。




3、Doc ID 283980.1

Oracle Server - Enterprise Edition - Version: 9.0.1.0 and later ? [Release: 9.0.1 and later ]
Information in this document applies to any platform.


SYMPTOMS

ORA-00064 error is possibly encountered on database startup when the parameter
OPEN_LINKS_PER_INSTNACE is set to over 400.?


CAUSE

The contiguous area of storage to be allocated , exceeds the SGA granule?
(subarea) size. The granule size is calculated based on the SGA size.?
SOLUTION

Test case to reproduce the error
================================
a) add OPEN_LINKS_PER_INSTANCE = 1000 in the initora
b) use sqlplus to try starting up the database

This is NOT a BUG.

To fix the issue , increase the size of the SGA to over 128Mb by increasing DB_CACHE_SIZE,
SHARED_POOL_SIZE,LARGE_POOL_SIZE, JAVA_POOL_SIZE, etc.This will cause the granule size to?
be increased to 16Mb.


Workaround
==========
Set the following hidden parameter

_ksmg_granule_size = 16777216

Note: ?Please set granule size more than or equal to size showing in the error message.

另外一篇與該錯誤有關Bug 5959853 - ORA-64 DURING DATABASE STARTUP WITH PROCESSES>6000. DocID:1457812.1?


鵬城DBA總群

轉載于:https://www.cnblogs.com/claireyuancy/p/6912283.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/254470.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/254470.shtml
英文地址,請注明出處:http://en.pswp.cn/news/254470.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Halcon|讀取3D相機點云數據

Halcon|讀取3D相機點云數據 最近發現很多小伙伴在使用Halcon處理3D工業相機掃描結果的時候遇到了“如何讀取”的問題。一般的3D工業相機儲存數據的格式有txt格式、tif格式、csv格式、ply格式、ptx格式、bin格式、obj格式等。 txt格式 讀取txt文件生成3D模型一般需要分析txt文件…

FFMPEG解碼流程

1. 注冊所有容器格式和CODEC: av_register_all() 2. 打開文件: av_open_input_file() 3. 從文件中提取流信息: av_find_stream_info() 4. 窮舉所有的流,查找其中種類為CODEC_TYPE_VIDEO 5. 查找對應的解碼器: avcodec_find_decoder() 6. 打開編解碼器: avcodec_open…

linux用戶登錄指定目錄

一、創建用戶和用戶組 [rootweb4 lianyu]# groupadd lianyu [rootweb4 lianyu]# useradd lianyu -g lianyu [rootweb4 lianyu]# passwd lianyu二、用戶登錄指定目錄 [rootweb4 lianyu]# cd /home/lianyu [rootweb4 lianyu]# ls -a . .. .bash_history .bash_logout .bas…

轉載:說一下AI的前景吧

發信人: wdong (萬事休), 信區: Stock標 題: 說一下AI的前景吧這一波AI和前兩年的big data,根本就是兩回事。big data這一波,主要是用數據分析來支撐起各種現有系統的改進,包括銷售業績的提高和用戶體驗的提高等。AI當然也可以應用回這些領域…

藥片粘連物體的分割

藥片粘連物體的分割要求:圖片:處理程序:處理結果:要求: 將藥片分割,統計藥片數量。不能使用模板匹配。 圖片: 先看一下要處理的原圖: 處理程序: read_image (Image…

FFMPEG CODEC使用總結

分類: 視頻編解碼技術 2010-07-15 10:29 283人閱讀 評論(0) 收藏 舉報 ffmpeg里提供了很多的encoder,decoder,詳見avcodec.h里的枚舉變量CodecID。 宏定義 #define REGISTER_ENCODER(X,x) { / extern AVCodec x##_encoder; / …

java 鏈接mysql 產生500W數據模擬生成環境

java 插入數據到mysql 通過sqoop 導入到hive 中,kylin模擬見cube 時間和 數據膨脹率 kylin 數據插入到 HBase Kylin HBase 1.1.3 Hive 1.2.1 Hadoop 2.5.1 create table infoagetime( prod_name char(10), prod_id SMALLINT, ods_date DATE )數據格式 oPmgBZxldW …

中本聰研究所創始人對Core的發展方向感到厭惡

在本月,中本聰研究所(Satoshi Nakamoto Institute)的聯合創始人Daniel Krawisz離開了該研究所,原因是Daniel覺得SNI社區逐漸變得讓他無法忍受,甚至感到厭惡。Daniel發表在SNI上的大量文章被刪除,有關于比特…

BZOJ 1026 [SCOI2009]windy數

1026: [SCOI2009]windy數 Description windy定義了一種windy數。不含前導零且相鄰兩個數字之差至少為2的正整數被稱為windy數。 windy想知道,在A和B之間,包括A和B,總共有多少個windy數? Input 包含兩個整數,A B。 Outp…

不連續區域的擬合

如下圖,需要把圖中4個半圓分別連接起來 我試過closing 和 dilation,下圖中后三個還可以連接起來, 但是第一個因為不連續地方較長,如果增大closing的值,會導致其它點 出現過度畸形。 有沒有能連接相鄰選區的方法&#…

X264碼率控制流程分析 (轉)

二、編碼器機能20鐘頭前  碼率節制的意見常識:   碼率節制的目的以及意義:   圖象通訊中碼率節制的目的:路程經過過程調治編碼參量,節制單元時間內的編碼視頻文件流的數值量,以使 ... 二、編碼器機能20鐘頭前碼率…

SPSS輸出的結果都要寫到文章中嗎

SPSS輸出的結果都要寫到文章中嗎 經常有人問到,SPSS輸出的結果都要寫到文章中嗎?文章中應該寫什么呢?比如,均值、中位數、眾數、標準差、百分位數、最小值、最大值等等,都要出現在文章中嗎?洋洋灑灑那么多&…

php Closure 類型

2019獨角獸企業重金招聘Python工程師標準>>> <?php /*** Closure 理解* 匿名函數&#xff08;Anonymous functions&#xff09;&#xff0c;* 也叫閉包函數&#xff08;closures&#xff09;* Closure 是匿名函數的php中的稱呼*/// 創建一個Closure$func funct…

ftk學習記(label篇)

【 聲明&#xff1a;版權全部&#xff0c;歡迎轉載&#xff0c;請勿用于商業用途。 聯系信箱&#xff1a;feixiaoxing 163.com】還是接著上面的一篇博文。之前以前答應過大家&#xff0c;讓大家看一下最簡單的ftk程序是怎么執行的。所以&#xff0c;這里我們上傳一下圖片。由于…

扇形特征點提取

處理要求 分別找出扇形左上角&#xff0c;左下角&#xff0c;右上角&#xff0c;右下角&#xff0c;最高點&#xff0c;下面弓形最高點 原圖 halcon 處理程序 read_image (Image14208259e49d7b1cf7c544, 544.bmp) rgb1_to_gray (Image14208259e49d7b1cf7c544, GrayImage) t…

集成顯卡與獨立顯卡的區別

集成的顯卡不帶有顯存&#xff0c;使用系統的一部分主內存作為顯存&#xff0c;顯卡的數量一般是根據需要自然動態調整。顯然&#xff0c;使用集成顯卡運行需要大量占用顯存的程序&#xff0c;對整個系統的影響比較明顯&#xff0c;此外系統內存的頻率通常比獨立的顯存度低很多…

[ CodeVS沖杯之路 ] P3116

不充錢&#xff0c;你怎么AC&#xff1f; 題目&#xff1a;http://codevs.cn/problem/3116/ 基礎的高精度加法&#xff0c;注意一下兩個數長短不一和答案第一位的處理即可&#xff0c;當然也可以用壓位的方法做 1 #include<cstdio>2 #include<cstdlib>3 #include&l…

郵槽

郵槽是基于廣播通信體系設計出來的&#xff0c;采用無連接的不可靠的數據傳輸&#xff1b;郵槽是一種一對一或一對多的單向通信機制&#xff0c;創建郵槽的服務器進程讀取數據&#xff0c;打開郵槽的客戶機進程寫入數據&#xff1b;為保證郵槽在各種Windows平臺下都能正常工作&…

Android Studio maven-metadata.xml 卡著不動原因和解決方法

頭一天好好的&#xff0c;第二天就卡著了。 一直在這個地方不動&#xff0c;如果停止就會報 Error:Could not run build action using Gradle distribution ‘https://services.gradle.org/distributions/gradle-4.1-all.zip‘. 所以直接就去看了下鏈接&#xff1a;https://dl.…

h.264 SODB RBSP EBSP的區別

SODB 數據比特串&#xff0d;&#xff0d;&#xff1e;最原始的編碼數據 RBSP 原始字節序列載荷&#xff0d;&#xff0d;&#xff1e;在SODB的后面填加了結尾比特&#xff08;RBSP trailing bits 一個bit“1”&#xff09;若干比特“0”,以便字節對齊。 EBSP 擴展字節序…