Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 ORA-01688 где ошибка?  [new]
Alexus12
Member

Откуда:
Сообщений: 2868
есть таблица
CREATE TABLE mrk
    (f_view_date                    DATE NOT NULL,
    f_agr_id                       NUMBER(9,0) NOT NULL,
    f_agr_num                      VARCHAR2(10) NOT NULL,
    f_customer_number              NUMBER(9,0) NOT NULL,
    f_product_id                   NUMBER(9,0) NOT NULL,
    f_open_date                    DATE,
    f_close_date                   DATE,
    f_payment_day                  NUMBER(9,0),
    f_planned_close_date           DATE,
    f_risk_class                   NUMBER(9,0),
    f_insurance                    NUMBER(9,0),
    f_master                       NUMBER(9,0),
    f_credit_limit                 NUMBER(15,2),
    f_card_cr_gen_del              NUMBER(15,2),
    f_card_cr_due                  NUMBER(15,2),
    f_card_cr_over_due             NUMBER(15,2),
    f_card_debet_debt              NUMBER(15,2),
    f_card_cr_pct                  NUMBER(15,2),
    f_card_ov_due_pct              NUMBER(15,2),
    f_card_pct_cr_ov_due           NUMBER(15,2),
    f_card_debt_pen                NUMBER(15,2),
    f_card_due_com                 NUMBER(15,2),
    f_card_on_call_dep             NUMBER(15,2),
    f_card_no_used_limit           NUMBER(15,2),
    f_insurance_payment            NUMBER(15,2),
    f_due                          NUMBER(15,2),
    f_payment                      NUMBER(15,2),
    f_credit                       NUMBER(15,2))
  PCTFREE     10
  PCTUSED     40
  INITRANS    1
  MAXTRANS    255
  TABLESPACE  users
  STORAGE   (
    INITIAL     1048576
    NEXT        31457280
    PCTINCREASE 0
    MINEXTENTS  1
    MAXEXTENTS  100000
    BUFFER_POOL DEFAULT
  )
  PARTITION BY RANGE (F_VIEW_DATE)
  (
  PARTITION p200700 VALUES LESS THAN (TO_DATE(' 2007-01-25 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
  PARTITION p200701 VALUES LESS THAN (TO_DATE(' 2007-02-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
  PARTITION p200702 VALUES LESS THAN (TO_DATE(' 2007-03-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
  PARTITION p200703 VALUES LESS THAN (TO_DATE(' 2007-04-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
  PARTITION p200704 VALUES LESS THAN (TO_DATE(' 2007-05-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
  PARTITION p200705 VALUES LESS THAN (TO_DATE(' 2007-06-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
  PARTITION p200706 VALUES LESS THAN (TO_DATE(' 2007-07-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
  PARTITION p200707 VALUES LESS THAN (TO_DATE(' 2007-08-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
  PARTITION p200708 VALUES LESS THAN (TO_DATE(' 2007-09-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
  PARTITION p200709 VALUES LESS THAN (TO_DATE(' 2007-10-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
  PARTITION p200710 VALUES LESS THAN (TO_DATE(' 2007-11-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
  PARTITION p200711 VALUES LESS THAN (TO_DATE(' 2007-12-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
  PARTITION p200712 VALUES LESS THAN (TO_DATE(' 2008-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
  PARTITION p200801 VALUES LESS THAN (TO_DATE(' 2008-02-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
  PARTITION prest VALUES LESS THAN (MAXVALUE)
  )
сегодня первый день должна была пойти заливка в партицию p200702
вместо этого получаем ошибку

ORA-01688: unable to extend table MRK partition P200702 by 153600 in tablespace USERS

при этом в TABLESPACE users свободно > 600 mb

с партицией p200701 все было ок
в чем проблема?
где посмотреть кол-во экстентов?
оно ИТОГО для всех партиций не больше MAXEXTENTS 100000 или для каждой партиции?
спаибо!
5 фев 07, 11:55    [3738639]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01688 где ошибка?  [new]
Alexus12
Member

Откуда:
Сообщений: 2868
ответ себе:

--свободное место место и максимальный возможный экстент:

SELECT Total.name "Tablespace Name",
       nvl(Free_space, 0) Free_space, maxfreeblock,
       nvl(total_space-Free_space, 0) Used_space, 
       total_space
FROM
  (select tablespace_name, max(bytes)/1024/1024 as maxfreeblock,sum(bytes/1024/1024) Free_Space
     from sys.dba_free_space
    group by tablespace_name
  ) Free,
  (select b.name,  sum(bytes/1024/1024) TOTAL_SPACE
     from sys.v_$datafile a, sys.v_$tablespace B
    where a.ts# = b.ts#
    group by b.name
  ) Total
WHERE Free.Tablespace_name(+) = Total.name
ORDER BY Total.name


--таблицы, у которых next_extent не поместится в свободное место (фрагментация!)
select a.owner||'.'||a.segment_name "Sname", 
       a.segment_type               "Stype",
       a.bytes/1024/1024            "Size",
       a.next_extent/1024/1024 "Next", 
       a.tablespace_name "TName"
  from sys.dba_segments a
 where a.tablespace_name ='USERS'  --not like 'T%MP%'   -- Exclude TEMP tablespaces
   and next_extent * 1 > (                  -- Cannot extend 1x, can change to 2x...
                           select max(b.bytes)
                             from dba_free_space b
                            where a.tablespace_name = b.tablespace_name)
order by 3 desc
5 фев 07, 12:42    [3738951]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01688 где ошибка?  [new]
badm
Member

Откуда: Kazan
Сообщений: 984
База ругается на табличные экстэнты, они наверно у вас маленького размера и таблица исчерпала максимально допустимого размера.
Выход: создать новую таблицу с большим размером экстента!
5 фев 07, 13:43    [3739342]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01688 где ошибка?  [new]
badm
Member

Откуда: Kazan
Сообщений: 984
там ошибся насчет РАЗМЕРА, конечно максимальное колличество экстэнтов присвоено уже таблице, вот база и ругается
5 фев 07, 13:45    [3739358]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01688 где ошибка?  [new]
Elic
Member

Откуда:
Сообщений: 29980
badm
конечно максимальное колличество экстэнтов присвоено уже таблице, вот база и ругается
RTFM ORA-01684 (FAQ)
5 фев 07, 13:59    [3739468]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить