Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

5

积分

1

好友

16

主题
1#
发表于 2013-1-30 11:52:29 | 查看: 4404| 回复: 11
数据库环境:

服务器
单台,操作系统:suse11-64bit
内存:
             total       used       free     shared    buffers     cached
Mem:      12168760   11964648     204112          0      81228   11308232
-/+ buffers/cache:     575188   11593572
Swap:     16777208     101908   16675300

CPU:
2颗8核 2.4G至强

硬盘:
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/isw_babhfbdfji_Volume0_part2
                      7.9G  423M  7.1G   6% /
udev                   21G  260K   21G   1% /dev
/dev/mapper/isw_babhfbdfji_Volume0_part1
                      4.0G   96M  3.7G   3% /boot
/dev/mapper/vg00-lvol_home
                       20G  173M   19G   1% /home
/dev/mapper/vg00-lvol_opt
                      315G  289G   11G  97% /opt    --oracle所在
/dev/mapper/vg00-lvol_tmp
                       16G  175M   15G   2% /tmp
/dev/mapper/vg00-lvol_usr
                       50G  4.0G   43G   9% /usr
/dev/mapper/vg00-lvol_var
                       30G  343M   28G   2% /var

数据库:
单库,oracle 11.2.0.3-64bit

表空间:
Name            Type      Size (M)             Used (M)                            Used %
--------------- --------- -------------------- ----------------------------------- ----------
SYSAUX          PERMANENT       1,024.000            712.250/     1024.000           69.56%
UNDOTBS1        UNDO            2,948.000             88.250/     2948.000            2.99%
USERS           PERMANENT           5.000              1.000/        5.000           20.00%
SYSTEM          PERMANENT       1,024.000            783.938/     1024.000           76.56%
TS_CASE_DATA    PERMANENT     153,600.000          25212.625/   153600.000           16.41%  --用户表空间
TEMP            TEMPORARY       3,072.000           1740.000/     3072.000           56.64%

基表:case_infor 有1500万数据 约占10G空间
根据基表的case_id建立list分区,共3500个
新建分区表:case_infor_new

用insert into case_infor_new select * from case_infor;语句将基表数据导入到分区表

问题:
1、导入执行3分钟后报错:
ORA-01658: 无法为表空间 TS_CASE_DATA 中的段创建 INITIAL 区
查看表空间:
TS_CASE_DATA使用率为100%
2、将表drop掉,空间恢复为16%,重建时在分区后面加上以下语句:
tablespace ts_case_data pctfree 10 initrans 1 maxtrans 255 storage ( initial 1k next 100k minextents 1 maxextents unlimited )
并且将导入语句改用过程方式,过程如下:
Set serveroutput On;
Declare
v_Court Int;
Cursor v_Id Is
  Select Id From Tb_Org_Court;
Begin
For i In v_Id Loop
  v_Court := i.Id;
  Insert Into Tb_Case_Infor_New
   Select * From Tb_Case_Infor Where Court_Id = v_Court;
  Commit;
End Loop;
Commit;
Exception
When Others Then
  Rollback;
    dbms_output.put_line('err');
End;
/
在过程执行40分钟后依然报错,空间依然100%

请问:
1、为何空间会暴涨?
2、如果用其他方式导入(如在线重定义或交换方式)还会出现此现象吗?这个还没试

有需要的参数请回帖告知,谢谢。

2#
发表于 2013-1-30 12:50:55
1. insert /*+ APPEND */ into case_infor_new select * from case_infor;

试过吗?

2. 暴涨, 你确定是哪一个segment占用的?

重现该问题 并查以下信息


  1. ttitle -
  2.    center  'Database Freespace Summary'  skip 2

  3. comp sum of nfrags totsiz avasiz on report
  4. break on report

  5. set pages 999
  6. col tsname  format     a16 justify c heading 'Tablespace'
  7. col nfrags  format 999,990 justify c heading 'Free|Frags'
  8. col mxfrag  format 999,999 justify c heading 'Largest|Frag (MB)'
  9. col totsiz  format 999,999 justify c heading 'Total|(MB)'
  10. col avasiz  format 999,999 justify c heading 'Available|(MB)'
  11. col pctusd  format     990 justify c heading 'Pct|Used'

  12. select total.TABLESPACE_NAME tsname,
  13.        D nfrags,
  14.        C/1024/1024 mxfrag,
  15.        A/1024/1024 totsiz,
  16.        B/1024/1024 avasiz,
  17.        (1-nvl(B,0)/A)*100 pctusd
  18. from
  19.     (select sum(bytes) A,
  20.             tablespace_name
  21.             from dba_data_files
  22.             group by tablespace_name) TOTAL,
  23.     (select sum(bytes) B,
  24.             max(bytes) C,
  25.             count(bytes) D,
  26.             tablespace_name
  27.             from dba_free_space
  28.             group by tablespace_name) FREE
  29. where
  30.       total.TABLESPACE_NAME=free.TABLESPACE_NAME(+)
  31. /

  32. SELECT COUNT(*),sum(bytes) FROM DBA_EXTENTS WHERE SEGMENT_TYPE='TEMPORARY';
复制代码

回复 只看该作者 道具 举报

3#
发表于 2013-1-30 13:29:04
1、没试过
insert /*+ APPEND */ into case_infor_new select * from case_infor;

2、正在重现问题。。

回复 只看该作者 道具 举报

4#
发表于 2013-1-30 14:07:28
重现后查询结果:

SQL>

TSNAME               NFRAGS     MXFRAG     TOTSIZ     AVASIZ PCT
---------------- ---------- ---------- ---------- ---------- ---
SYSAUX                   16        304       1024    307.625 69.
                                                             958
                                                             496
                                                             093
                                                              75

UNDOTBS1                 23       1113       2948    2585.75 12.
                                                             287
                                                             991
                                                             858
                                                             887
                                                               4

TS_INDEX_STAT             2       2640       5120       3791 25.
                                                             957
                                                             031
                                                              25

TS_INDEX_EXEC             3       2244       5120  3395.8125 33.
                                                             675
                                                             537
                                                             109
                                                             375

USERS                     1          4          5          4  20
TS_EXEC_SIFA              2  2641.6875      10240  4944.6875 51.
                                                             712
                                                             036
                                                             132
                                                             812
                                                               5

TS_INDEX_CASE             4       3627      20480      11472 43.
                                                             984
                                                             375

SYSTEM                    2        238       1024   238.0625 76.
                                                             751
                                                             708
                                                             984
                                                             375

TS_EXEC_OTHER             3       2303      10240   4595.875 55.
                                                             118
                                                             408
                                                             203
                                                             125

TS_EXEC_FORCE             2  3470.9375      10240  5773.9375 43.
                                                             613
                                                             891
                                                             601
                                                             562
                                                               5

TS_STATICS                3       3968      10240      10239 0.0
                                                             097
                                                             656
                                                              25

TS_ZHIXING_DATA           3       3676      10240  5979.9375 41.
                                                             602
                                                             172
                                                             851
                                                             562
                                                               5

TS_CASE_DATA              7         25     153600    36.3125 99.
                                                             976
                                                             359
                                                             049
                                                             479
                                                               2

TS_EXEC_LOG               7       3968      20480  12733.625 37.
                                                             824
                                                             096
                                                             679
                                                             687
                                                               5

TS_INDEX_LOG              3       3968      10240       7654 25.
                                                             253
                                                             906
                                                              25

TS_PARA                   2       1533       2048   1533.375 25.
                                                             128
                                                             173
                                                             828
                                                             125


16 rows selected

  COUNT(*) SUM(BYTES)
---------- ----------
         0

SQL>

回复 只看该作者 道具 举报

5#
发表于 2013-1-30 15:11:48
用APPEND试了还是不行

insert /*+ APPEND */ into tb_case_infor_new select * from tb_case_infor

ORA-01658: 无法为表空间 TS_CASE_DATA 中的段创建 INITIAL 区

TS_CASE_DATA    PERMANENT     153,600.000         153564.188/   153600.000           99.98%

回复 只看该作者 道具 举报

6#
发表于 2013-1-30 16:04:31
把  case_infor 和 case_infor_new的DDL定义用  dbms_metadata.get_ddl 找出来并 贴出来

请用 code模式 贴!!!!!!!!!!!!!!!!!

回复 只看该作者 道具 举报

7#
发表于 2013-1-30 16:05:47

action plan 2:

alter system set deferred_segment_creation=false;

之后drop 你的case_infor_new  表 并 重新执行DDL!!!!!!!!!!!!!!

回复 只看该作者 道具 举报

8#
发表于 2013-1-30 17:27:36
Maclean Liu(刘相兵 发表于 2013-1-30 16:05
action plan 2:

alter system set deferred_segment_creation=false;

按照上面的操作
建表时出现:
ORA-01658: 无法为表空间 TS_CASE_DATA 中的段创建 INITIAL 区

表空间:
TS_CASE_DATA    PERMANENT     153,600.000         152830.500/   153600.000           99.50%

回复 只看该作者 道具 举报

9#
发表于 2013-1-30 17:30:39
和分区数目有关系  与INSERT无关, 这个表 就在这个表空间建不下!

回复 只看该作者 道具 举报

10#
发表于 2013-1-30 17:34:01

  1.   CREATE TABLE "ZHIXING"."TB_CASE_INFOR"
  2.    (        "ID" NUMBER(10,0) NOT NULL ENABLE,
  3.         "COURT_ID" NUMBER(6,0) DEFAULT 0 NOT NULL ENABLE,
  4.         "CASE_CODE" VARCHAR2(40) NOT NULL ENABLE,
  5.         "ROOT_ID" VARCHAR2(40),
  6.         "DEPART_ID" NUMBER(6,0),
  7.         "CASE_KIND_ID" NUMBER(6,0),
  8.         "CASE_SRC_ID" NUMBER(6,0),
  9.         "PARENT_COURT" VARCHAR2(80),
  10.         "PARENT_CASE_CODE" VARCHAR2(40),
  11.         "REG_DATE" DATE,
  12.         "EXEC_INCEPT_DATE" DATE,
  13.         "CAUSE_ID" NUMBER(9,0),
  14.         "GIST_ID" NUMBER(6,0),
  15.         "GIST_UNIT" VARCHAR2(80),
  16.         "GIST_CID" VARCHAR2(200),
  17.         "GIST_CONTENT" CLOB,
  18.         "GIST_DATE" DATE,
  19.         "GIST_TERM" VARCHAR2(80),
  20.         "FOREIGN_FACTOR_ID" NUMBER(6,0),
  21.         "KIND_CAUSE_ID" NUMBER(10,0),
  22.         "APPLY_MONEY" NUMBER(16,2) DEFAULT 0.00,
  23.         "APPLY_RES" CLOB,
  24.         "APPLY_ACTION" CLOB,
  25.         "APPLY_RIGHTS" CLOB,
  26.         "WILL_EXPENSE" NUMBER(16,2) DEFAULT 0.00 NOT NULL ENABLE,
  27.         "CASE_STATE_ID" NUMBER(6,0),
  28.         "DEFER_BEGIN_DATE" DATE,
  29.         "DEFER_END_DATE" DATE,
  30.         "DEFER_DAYS" NUMBER(6,0) DEFAULT 0 NOT NULL ENABLE,
  31.         "MATURITY_DATE" DATE NOT NULL ENABLE,
  32.         "DEFER_CAUSE_ID" NUMBER(6,0),
  33.         "AUTO_EXEC_MONEY" NUMBER(16,2) DEFAULT 0.00 NOT NULL ENABLE,
  34.         "EXECED_MONEY" NUMBER(16,2) DEFAULT 0.00 NOT NULL ENABLE,
  35.         "EXECED_RES" CLOB,
  36.         "EXECED_ACTION" CLOB,
  37.         "CREATER_ID" NUMBER(6,0) NOT NULL ENABLE,
  38.         "CREATE_TIME" DATE,
  39.         "STATE_END_DATE" DATE,
  40.         "STATE_UPDATE_TIME" DATE,
  41.         "LAST_UPDATE_TIME" DATE,
  42.         "REMARK" VARCHAR2(240),
  43.         "IS_DELETED" NUMBER(1,0) DEFAULT 0,
  44.         "EXECED_RIGHTS" CLOB,
  45.         "IS_REPORT" NUMBER(1,0) DEFAULT 1,
  46.          CONSTRAINT "PK_CASE_INFOR" PRIMARY KEY ("ID")
  47.   USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
  48.   STORAGE(INITIAL 67108864 NEXT 67108864 MINEXTENTS 1 MAXEXTENTS 2147483645
  49.   PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  50.   BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  51.   TABLESPACE "TS_INDEX_CASE"  ENABLE,
  52.          CONSTRAINT "FK_CASE_SRC_REF_PARA" FOREIGN KEY ("CASE_SRC_ID")
  53.           REFERENCES "ZHIXING"."TB_PARA_CODE" ("ID") ENABLE,
  54.          CONSTRAINT "FK_CASE_STATUE_REF_PARA" FOREIGN KEY ("CASE_STATE_ID")
  55.           REFERENCES "ZHIXING"."TB_PARA_CODE" ("ID") ENABLE,
  56.          CONSTRAINT "FK_CASEINFO_REF_KINDCAUSE" FOREIGN KEY ("KIND_CAUSE_ID")
  57.           REFERENCES "ZHIXING"."TB_PARA_CASE_KIND_CAUSE" ("ID") ENABLE,
  58.          CONSTRAINT "FK_CASE_CREATOR_REF_UNDERTAKER" FOREIGN KEY ("CREATER_ID")
  59.           REFERENCES "ZHIXING"."TB_ORG_UNDERTAKER" ("ID") ENABLE,
  60.          CONSTRAINT "FK_CASE_DEFER_REF_CAUSE" FOREIGN KEY ("DEFER_CAUSE_ID")
  61.           REFERENCES "ZHIXING"."TB_PARA_CAUSE" ("ID") ENABLE,
  62.          CONSTRAINT "FK_CASE_FOREIGN_REF_PARA" FOREIGN KEY ("FOREIGN_FACTOR_ID")
  63.           REFERENCES "ZHIXING"."TB_PARA_CODE" ("ID") ENABLE,
  64.          CONSTRAINT "FK_CASE_GIST_REF_PARA" FOREIGN KEY ("GIST_ID")
  65.           REFERENCES "ZHIXING"."TB_PARA_CODE" ("ID") ENABLE,
  66.          CONSTRAINT "FK_CASE_KIND_REF_CASEKIND" FOREIGN KEY ("CASE_KIND_ID")
  67.           REFERENCES "ZHIXING"."TB_PARA_CASE_KIND" ("ID") ENABLE,
  68.          CONSTRAINT "FK_CASE_KIND_REF_PARA" FOREIGN KEY ("CASE_KIND_ID")
  69.           REFERENCES "ZHIXING"."TB_PARA_CODE" ("ID") DISABLE,
  70.          CONSTRAINT "FK_CASE_REF_CAUSE" FOREIGN KEY ("CAUSE_ID")
  71.           REFERENCES "ZHIXING"."TB_PARA_CASE_CAUSE" ("ID") ENABLE,
  72.          CONSTRAINT "FK_CASE_REF_COURT" FOREIGN KEY ("COURT_ID")
  73.           REFERENCES "ZHIXING"."TB_ORG_COURT" ("ID") ENABLE,
  74.          CONSTRAINT "FK_CASE_REF_DEPART" FOREIGN KEY ("DEPART_ID")
  75.           REFERENCES "ZHIXING"."TB_ORG_DEPART" ("ID") ENABLE
  76.    ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
  77.   STORAGE(INITIAL 536870912 NEXT 536870912 MINEXTENTS 2
  78.   PCTINCREASE 0
  79.   BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  80.   TABLESPACE "TS_CASE_DATA"
  81. LOB ("GIST_CONTENT") STORE AS BASICFILE (
  82.   ENABLE STORAGE IN ROW CHUNK 8192 RETENTION
  83.   NOCACHE LOGGING
  84.   STORAGE(
  85.   BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT))
  86. LOB ("APPLY_RES") STORE AS BASICFILE (
  87.   ENABLE STORAGE IN ROW CHUNK 8192 RETENTION
  88.   NOCACHE LOGGING
  89.   STORAGE(
  90.   BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT))
  91. LOB ("APPLY_ACTION") STORE AS BASICFILE (
  92.   ENABLE STORAGE IN ROW CHUNK 8192 RETENTION
  93.   NOCACHE LOGGING
  94.   STORAGE(
  95.   BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT))
  96. LOB ("APPLY_RIGHTS") STORE AS BASICFILE (
  97.   ENABLE STORAGE IN ROW CHUNK 8192 RETENTION
  98.   NOCACHE LOGGING
  99.   STORAGE(
  100.   BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT))
  101. LOB ("EXECED_RES") STORE AS BASICFILE (
  102.   ENABLE STORAGE IN ROW CHUNK 8192 RETENTION
  103.   NOCACHE LOGGING
  104.   STORAGE(
  105.   BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT))
  106. LOB ("EXECED_ACTION") STORE AS BASICFILE (
  107.   ENABLE STORAGE IN ROW CHUNK 8192 RETENTION
  108.   NOCACHE LOGGING
  109.   STORAGE(
  110.   BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT))
  111. LOB ("EXECED_RIGHTS") STORE AS BASICFILE (
  112.   ENABLE STORAGE IN ROW CHUNK 8192 RETENTION
  113.   NOCACHE LOGGING
  114.   STORAGE(
  115.   BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT))
  116.   PARTITION BY RANGE ("REG_DATE") INTERVAL (NUMTOYMINTERVAL(12,'MONTH'))
  117. (PARTITION "P2006"  VALUES LESS THAN (TO_DATE(' 2007-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN')) SEGMENT CREATION IMMEDIATE
  118.   PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
  119. NOCOMPRESS LOGGING
  120.   STORAGE(INITIAL 1073741824 NEXT 536870912 MINEXTENTS 1 MAXEXTENTS 2147483645
  121.   PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  122.   BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  123.   TABLESPACE "TS_CASE_DATA"
  124. LOB ("GIST_CONTENT") STORE AS BASICFILE (
  125.   TABLESPACE "TS_CASE_DATA" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION
  126.   NOCACHE LOGGING
  127.   STORAGE(INITIAL 8388608 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  128.   PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  129.   BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT))
  130. LOB ("APPLY_RES") STORE AS BASICFILE (
  131.   TABLESPACE "TS_CASE_DATA" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION
  132.   NOCACHE LOGGING
  133.   STORAGE(INITIAL 8388608 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  134.   PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  135.   BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT))
  136. LOB ("APPLY_ACTION") STORE AS BASICFILE (
  137.   TABLESPACE "TS_CASE_DATA" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION
  138.   NOCACHE LOGGING
  139.   STORAGE(INITIAL 8388608 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  140.   PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  141.   BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT))
  142. LOB ("APPLY_RIGHTS") STORE AS BASICFILE (
  143.   TABLESPACE "TS_CASE_DATA" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION
  144.   NOCACHE LOGGING
  145.   STORAGE(INITIAL 8388608 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  146.   PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  147.   BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT))
  148. LOB ("EXECED_RES") STORE AS BASICFILE (
  149.   TABLESPACE "TS_CASE_DATA" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION
  150.   NOCACHE LOGGING
  151.   STORAGE(INITIAL 8388608 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  152.   PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  153.   BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT))
  154. LOB ("EXECED_ACTION") STORE AS BASICFILE (
  155.   TABLESPACE "TS_CASE_DATA" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION
  156.   NOCACHE LOGGING
  157.   STORAGE(INITIAL 8388608 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  158.   PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  159.   BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT))
  160. LOB ("EXECED_RIGHTS") STORE AS BASICFILE (
  161.   TABLESPACE "TS_CASE_DATA" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION
  162.   NOCACHE LOGGING
  163.   STORAGE(INITIAL 8388608 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  164.   PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  165.   BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)) )  ENABLE ROW MOVEMENT
复制代码
由于case_infor_new没建上,所以没有

回复 只看该作者 道具 举报

11#
发表于 2013-1-30 18:07:02
嗯 这么一看很清晰, 问题要么在 partition上 要么在LOb上!

回复 只看该作者 道具 举报

12#
发表于 2013-1-30 19:08:47
我将机器挂了存储,分了400G表空间

数据用APPEND方式导入,花了900秒,导入成功,总共占用了220G空间

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-5-17 19:25 , Processed in 0.058959 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569