[20191219]shared_pool_size设置跃变.txt --//别人的系统,增加processes数量,重启出现类似错误: ORA-00371: not enough shared pool memory, should be atleast 1087664611 bytes --//自己在测试环境演示看看: 1.环境: --//为了重复测试建立pfle: SYS@book> create pfile='/tmp/@.ora' from spfile ; File created. 2.检查/tmp/book.ora内容: $ cat /tmp/book.ora book.__db_cache_size=314572800 book.__java_pool_size=37748736 book.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment book.__shared_pool_size=268435456 *._cursor_bind_capture_area_size=2001 *._dbms_sql_security_level=384 *.aq_tm_processes=0 *.audit_file_dest='/u01/app/oracle/admin/book/adump' *.audit_sys_operations=TRUE *.audit_syslog_level='Local0.info' *.audit_trail='DB','EXTENDED' *.compatible='11.2.0.4.0' *.control_files='/mnt/ramdisk/book/control01.ctl','/mnt/ramdisk/book/control02.ctl'#Restore Controlfile *.db_block_size=8192 #*.db_cache_size=427819008 *.db_cache_size=432013312 *.db_file_name_convert='/mnt/ramdisk/book','/mnt/ramdisk/book' *.db_name='book' *.db_recovery_file_dest='/u01/app/oracle/fast_recovery_area' *.db_recovery_file_dest_size=64424509440 *.db_unique_name='book' *.diagnostic_dest='/u01/app/oracle' *.dispatchers='(PROTOCOL=TCP) (SERVICE=book,bookXDB)' *.fal_client='book' *.fal_server='bookdg' *.filesystemio_options='NONE' *.java_pool_size=12582912 *.job_queue_processes=200 *.large_pool_size=12582912 *.log_archive_config='DG_CONFIG=(book,bookdg)' *.log_archive_dest_1='LOCATION=/u01/app/oracle/archivelog/book/ MANDATORY VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=book' *.log_archive_dest_2='SERVICE=bookdg LGWR ASYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=bookdg' *.log_archive_dest_state_2='DEFER' *.log_archive_max_processes=2 *.log_checkpoints_to_alert=TRUE *.log_file_name_convert='/mnt/ramdisk/book','/mnt/ramdisk/book' *.max_shared_servers=1 #*.memory_max_target=0 #*.memory_target=0 *.open_cursors=300 *.open_links_per_instance=1 *.pga_aggregate_target=4294967296 #*.processes=50 *.processes=2241 *.remote_login_passwordfile='EXCLUSIVE' *.service_names='BOOK','BOOKSHARE' *.sga_max_size=600M *.sga_target=0M #*.shared_pool_size=180355072 *.shared_pool_size=456M #*.shared_pool_size=1087664611 *.standby_file_management='auto' *.streams_pool_size=0 *.undo_tablespace='UNDOTBS1' *.use_large_pages='only' --//注意*.processes=2241. 3.测试: SYS@book> startup pfile='/tmp/@.ora'; ORACLE instance started. Total System Global Area 947920896 bytes Fixed Size 2258760 bytes Variable Size 503318712 bytes Database Buffers 432013312 bytes Redo Buffers 10330112 bytes Database mounted. Database opened. --//可以发现启动正常!! SYS@book> select * from v$sgainfo; NAME BYTES RES ---------------------------------------- ---------- --- Fixed SGA Size 2258760 No Redo Buffers 10330112 No Buffer Cache Size 432013312 Yes Shared Pool Size 478150656 Yes Large Pool Size 12582912 Yes Java Pool Size 12582912 Yes Streams Pool Size 0 Yes Shared IO Pool Size 0 Yes Granule Size 4194304 No Maximum SGA Size 947920896 No Startup overhead in Shared Pool 453423256 No Free SGA Memory Available 0 12 rows selected. --//Shared Pool Size=478150656 ,478150656 /1024/1024 = 456M --//如果我修改*.processes=2242. SYS@book> startup pfile='/tmp/@.ora'; ORA-00371: not enough shared pool memory, should be atleast 1087664611 bytes --//真心不知道1087664611如何计算的.后面竟然还是奇数. $ oerr ora 00371 00371, 00000, "not enough shared pool memory, should be atleast %s bytes" // *Cause: Init.ora parameter shared_pool_size is too small // *Action: Increase the parameter value --//1087664611/1024/1024 = 1037.27M. --//仅仅增加1个processes,Shared Pool Size大小就从456M需求跃变到1038M. 4.实际上这个问题解决很简单设置: --//修改参数配置: *.shared_pool_size=1087664611 SYS@book> startup pfile='/tmp/@.ora'; ORACLE instance started. Total System Global Area 1603485696 bytes Fixed Size 2253624 bytes Variable Size 1157631176 bytes Database Buffers 436207616 bytes Redo Buffers 7393280 bytes Database mounted. Database opened. SYS@book> select * from v$sgainfo; NAME BYTES RES ---------------------------------------- ---------- --- Fixed SGA Size 2253624 No Redo Buffers 7393280 No Buffer Cache Size 436207616 Yes Shared Pool Size 1090519040 Yes Large Pool Size 33554432 Yes Java Pool Size 33554432 Yes Streams Pool Size 0 Yes Shared IO Pool Size 0 Yes Granule Size 16777216 No Maximum SGA Size 1603485696 No Startup overhead in Shared Pool 507309824 No Free SGA Memory Available 0 12 rows selected. --//1090519040/1024/1024 = 1040 $ ipcs -m ------ Shared Memory Segments -------- key shmid owner perms bytes nattch status 0x00000000 450887680 oracle 640 16777216 23 0x00000000 450920449 oracle 640 1593835520 23 0xe8a8ec10 450953218 oracle 640 2097152 23 SYS@book> show parameter processes NAME TYPE VALUE ------------------------- ------- --------- aq_tm_processes integer 0 db_writer_processes integer 3 gcs_server_processes integer 0 global_txn_processes integer 1 job_queue_processes integer 200 log_archive_max_processes integer 2 processes integer 2242 5.总结: --//实际上这个问题解决很简单,可以做1个假设,假设dba修改processes参数,由于各种原因没有及时重启数据库,等到下次重启时也许问 --//题出现,这个时候留给dba的解决问题的时间窗口可能很短.如果在这个问题纠缠,会很不好理解为什么出现shared_pool_size设置这种 --//跃变.
[20191219]shared_pool_size设置跃变.txt
来源:这里教程网
时间:2026-03-03 14:43:47
作者:
编辑推荐:
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 北京活动预告丨来ACOUG 年会过个温暖的冬天吧!
北京活动预告丨来ACOUG 年会过个温暖的冬天吧!
26-03-03 - RAC环境单节点启动数据库报ORA-29702
RAC环境单节点启动数据库报ORA-29702
26-03-03 - Oracle 19c和20c新特性最全解密
Oracle 19c和20c新特性最全解密
26-03-03 - 手机APP为什么要获取这3个权限?能不能随意授权呢?看完就知道了
手机APP为什么要获取这3个权限?能不能随意授权呢?看完就知道了
26-03-03 - Serverless 实战 —— 函数计算 + Typescript 实践
- 分布式事务 GTS 的价值和原理浅析
分布式事务 GTS 的价值和原理浅析
26-03-03 - 从零开始入门 | Kubernetes 中的服务发现与负载均衡
从零开始入门 | Kubernetes 中的服务发现与负载均衡
26-03-03 - 原来华为手机不亮屏也能看时间,点击这个按钮,30秒即可开启
原来华为手机不亮屏也能看时间,点击这个按钮,30秒即可开启
26-03-03 - 阿里云视频云正式支持AV1编码格式 为视频编码服务降本提效
阿里云视频云正式支持AV1编码格式 为视频编码服务降本提效
26-03-03 - 等保2.0正式实施,阿里云发布全国首个《阿里公共云用户等保2.0合规能力白皮书》
