ORA-09745: smscre: vm_allocate error, unable to create shared memory.
Cause: Error in system call vm_allocate. Failed to create SGA as a single shared memory segment.
Action: Check result code returned in sercerrno. Verify that the SGA attach address is valid.
ORA-09745的详细说明是:当从操作系统中创建一个共享内存区失败时可能会收到此错误消息。共享内存是数据库用来存储共享字段的内存结构。
常见案例是可能导致ORA-09745错误的操作系统等配置上的参数被设置为不正确的值。这可能会影响数据库的共享内存的大小,也可能会影响可用到操作系统MEM内存(RAM)共享内存中的总大小。
1.确保系统共享内存设置是正确的,允许Oracle使用足够的内存。
2.检查普通共享内存总量得到操作系统上的限制,这取决于OS版本和服务器实际机器硬件配置。
3.如果服务器具有多个CPU,应确保每个CPU上的内存总数大于OS上的共享内存总量限制。
4.重新审查特定的参数:
(a)pgs_smem_target (shared_memory_target)
(b)PGA_AGGREGATE_TARGET
(c)MEMORY_TARGET
(d)_smm_max_size
(e)_smm_px_max_size
(f)LOCK_SGA
(g)_db_block_hash_buckets
5.如果上述参数得到了正确定义,但数据库仍然受到内存限制,可能需要扩大主机内存总量以进一步增大内存分配。
6.重新启动数据库以检查错误是否仍然存在,存在的话再继续排查。