报错
ORA-04031: 无法分配 40 字节的共享内存 ("shared pool","CREATE TABLE VTZ13IQTWWZ18KK...","TCHK^e208f2e","chedef : qcuatc")
解决思路
解析
share_pool_size(共享池)的作用:
1、sql共享缓冲池
2、该参数是库高速缓存和数据字典的高速缓存
查看SHARED_POOL大小
SHOW PARAMETERS SHARED_POOL_SIZE
更改SHARED_POOL大小
alter system set SHARED_POOL_SIZE='50M' SCOPE=both;
#上面这句话必须在sys用户下或是用dba的身份登录的用户下执行
若出现问题ORA-32001
ORA-32001: 已请求写入 SPFILE, 但是在启动时未指定 SPFILE
显示spfile是未启动状态
首先确定数据库是以spfile启动的还是pfile启动
用show parameter spfile查看如果values对应有值,表示是spfile启动的。否则就是pfile启动的。
show parameter spfile
NAME TYPE VALUE
------------------------------------ -----------------------------------------
spfile string
值为空,表示数据库以pfile启动有值,且值为地址,表示数据库为spfile启动
要动态修改一定要用spfile启动。如果现在是用pfile启动,可以这样切换成spfile启动:
create spfile from pfile;
shutdown immediate;
startup;