sga_target設定大於100G遇到的一個bug ORA-00064: object is too large
主機記憶體256G,sga_target準備設定為160G,DBCA建立資料庫時一直報錯ORA-00064: object is too large to allocate on this O/S (1,15429280)
直接使用DBCA預設引數把庫建好後,再次使用命令來修改,報錯依舊。經查,參考文件Database startup can fail with ORA-00064 Errors with huge sga_target of over 40Gig (文件 ID 886312.1),也就是與SGA Granule Size相關,設定_ksmg_granule_size=33554432解決此問題。
文件部分內容:
CAUSE
The cause of this problem has been identified in Bug:5051962, which has been closed as not-a-bug. It is caused by the granule size needed for the new SGA size to be different than the one currently in use by the instance at the time the ALTER SYSTEM SET SGA_TARGET command is run.SOLUTION
This is expected behaviour: the granule size is set based on the size of the SGA. If you set a SGA parameter (such as SGA_TARGET) to a value which exceeds the value of the granule size that was calulcated at instance startup, then you must set the _ksmg_granule_size instance parameter as well to choose a larger granule size. As this parameter is not dynamically changeable, an instance restart is required.The following table, shows granule sizes for specific SGA sizes and releases of Oracle:
SGA size | 10g granule size | 11g granule size |
11g granule size with fix 8813366 installed |
---|---|---|---|
<= 1GB | 4MB | 4MB | 4MB |
1GB - 4GB | 16MB | 16MB | 16MB |
4GB - 8GB | 16MB | 64MB | 16MB |
8GB - 16GB | 16MB | 64MB | 32MB |
16GB - 32GB | 16MB | 256MB | 64MB |
32GB - 64GB | 16MB | 256MB | 128MB |
64GB - 128GB | 16MB | 512MB | 256MB |
128GB - 256GB | 16MB | 512MB | 512MB |
> 256GB | 16MB | 512MB | 512MB |
See also document:947152.1 for details on the granule size and its impact.
The following SQL statement can be used to check the actual granule size in use by the instance:
SQL> select bytes from v$sgainfo where name like 'Granule Size';
So in order to implement the solution for the issue at hand, either:
- set SGA_TARGET to a value less than or equal to the previous one, or:
- set _ksmg_granule_size to a higher value (in this case the value was set to 32MB). When using a text parameter file, add the following parameter:
_ksmg_granule_size=33554432
When using a server parameter file, issue:alter system set "_ksmg_granule_size"=33554432 scope=spfile;
In either case, restart the instance for the changes to take effect.
相關文章
- ORA-00064: object is too large to allocate on this O/SObject
- LOB(large object)Object
- insert:key too large to index…Index
- 今天遇到一個VERITAS NBU的BUG
- oracle 重設定sga_targetOracle
- [BUG反饋]關於設定選單的BUG
- 遇到ASM的兩個BUGASM
- Nginx 報錯413 Request Entity Too Large 上傳檔案過大Nginx
- 一個關於recyclerView的bugView
- 關於UIInterfaceOrientation的一個bugUI
- 程式設計師遇到Bug時的30個反應程式設計師
- Oracle關於nvl的一個BugOracle
- nodejs Error: request entity too large解決方案NodeJSError
- memory_target、sga_target、pga_target的設定
- Java程式碼解決ElasticSearch的Result window is too large問題JavaElasticsearch
- Mysql 報Row size too large 65535解決方法MySql
- Row size too large (> 8126)解決辦法
- 【AWR】Suggestions if Your SYSAUX Tablespace Grows Rapidly or Too LargeUXAPI
- gunzip時,提示file too large(問題已解決)
- system image file too large for device hardware configurationdev
- DB startup fail with ORA-00064 Errors with huge sga_target over 40Gig_886312.1AIError
- when tag object too many, performance very lowObjectORM
- ejb object too much ,how server working??ObjectServer
- node接收圖片報錯 PayloadTooLargeError: request entity too largeError
- Index column size too large. The maximum column size is 767 bytesIndex
- ES報錯Result window is too large問題處理薦
- mysql specified key was too long與Index column size too large. The maximum column size is 767 bytes.MySqlIndex
- 關於 MySQL 時區設定的一個常用 sql 命令MySql
- 關於許可權設定的一個小把戲
- 上傳報錯 Status Code: 413 Payload Too Large 請教!
- Index column size too large. The maximum column size is 767 bytes.Index
- Nginx出現413 Request Entity Too Large錯誤解決方法Nginx
- MySQL關於timestamp和mysqldump的一個“bug”MySql
- 一個關於臨時物件的BUG(下) (轉)物件
- 在專案中遇到的一些bug
- 常見軟體所遇到的Bug(一)-UIIssueUI
- 修改sga_target引起的ora-27100 bug嗎
- 將字串每一個單詞第一個字元設定為大寫字串字元