oracle10g 报错为ORA-04031 无法分配 796 字节的共享内存 (shared pool,unknown object,sga heap(1,1),library cache)

来源:互联网 发布:做股票网络销售怎么样 编辑:程序博客网 时间:2024/05/22 13:02
Import started on 2013/6/4 11:05:03
E:\oracle\product\10.2.0\client_1\bin\imp.exe log=C:\Users\ADMINI~1\AppData\Local\Temp\plsimp.log file=C:\Users\ADMINI~1\Desktop\orm-2013-06-04.dmp userid=oprisk/oprisk@ORCL buffer=30720 commit=no full=yes grants=yes ignore=yes indexes=yes rows=yes show=no constraints=yes


连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options


经由常规路径由 EXPORT:V10.02.01 创建的导出文件
已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
. 正在将 OPRISK 的对象导入到 OPRISK
. 正在将 OPRISK 的对象导入到 OPRISK
. . 正在导入表              "JBPM4_DEPLOYMENT"导入了          82 行
. . 正在导入表              "JBPM4_DEPLOYPROP"导入了         328 行
. . 正在导入表       "VPRISK_CP_OUTER_CONTENT"导入了          14 行
. . 正在导入表      "VPRISK_CP_UNION_INNER_MP"导入了          10 行
. . 正在导入表      "VPRISK_CP_UNION_OUTER_MP"导入了           4 行
. . 正在导入表       "VPRISK_DET_BASE_MESSAGE"导入了           3 行


. . 正在导入表        "VPRISK_ICT_PROJECT_QST"导入了           4 行
. . 正在导入表             "VPRISK_ICT_REPORT"导入了           2 行
. . 正在导入表             "VPRISK_ICT_RESULT"导入了           3 行
. . 正在导入表             "VPRISK_IC_ANSWERS"导入了         156 行
. . 正在导入表          "VPRISK_IC_CONTENT_MP"导入了           0 行
. . 正在导入表    "VPRISK_IC_EVALUATE_BUSI_MP"导入了           0 行


. . 正在导入表     "VPRISK_KRI_CONTROL_DIC_MP"导入了         422 行
IMP-00017: 由于 ORACLE 错误 4031, 以下语句失败:
 "CREATE TABLE "VPRISK_KRI_CONTROL_DIC_MP_HI" ("MAPPINGID" VARCHAR2(32) NOT N"
 "ULL ENABLE, "KRIID" VARCHAR2(32), "CONTROL_ID" VARCHAR2(32), "DELFLAG" CHAR"
 "(1) NOT NULL ENABLE)  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE"
 "(INITIAL 65536 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPAC"
 "E "ORM" LOGGING NOCOMPRESS"
IMP-00003: 遇到 ORACLE 错误 4031
ORA-04031: 无法分配 796 字节的共享内存 ("shared pool","unknown object","sga heap(1,1)","library cache")
. . 正在导入表          "VPRISK_KRI_COUNT_LOG"导入了           0 行
IMP-00017: 由于 ORACLE 错误 4031, 以下语句失败:
 "DECLARE  SREC DBMS_STATS.STATREC; BEGIN SREC.MINVAL := NULL; SREC.MAXVAL :="
 " NULL; SREC.EAVS := 0; SREC.CHVALS := NULL; SREC.NOVALS := DBMS_STATS.NUMAR"
 "RAY(0,0); SREC.BKVALS := DBMS_STATS.NUMARRAY(0,1); SREC.EPC := 2; DBMS_STAT"
 "S.SET_COLUMN_STATS(NULL,'"VPRISK_KRI_COUNT_LOG"','"ID"', NULL ,NULL,NULL,0,"
 "0,0,srec,0,6); END;"


错误原因:
  共享内存太小,分配给共享池的内存不足以满足用户请求,或者存在一定碎片,没有有效的利用保留区,造成无法分配合适的共享区。
  一个oracle例程的系统全局区域(sga)包含几个内存区域(包括缓冲高速缓存、共享池、java 池、大型池和重做日志缓冲)
  sga=db_cache+shared_pool+java_pool+large_pool
  处理方法:
  手动调整sga的大小,然后重新分配四大内存区域的大小。主要增加共享内存和缓冲高速缓存。
  sql> show sga;  //查看sga的具体大小信息。
  sql>show parameter sga_max_size //查看sga最大值
  sql> show parameter shared_pool //查看共享内存
  sql>show parameter db_cache    //查看数据缓存
  sql> alter system set sga_max_size = 500m scope=spfile;//修改sga最大值
  sql> alter system set shared_pool_size =200m scope=spfile;  //修改共享内存
  sql> alter system set db_cache_size =250m scope=spfile;    //修改数据缓存


进入我就不用详细说明了。















原创粉丝点击