07.05.2020 12:24
Дмитрий IT
 
Начинаю администрировать магазины, 3 базы СМ+ (1 главная, две подчинённые), версия 1.41СП1, Oracle Database 11g Release 11.2.0.1.0 - 64bit Production

Всё это работает очень давно, ни разу не делали ни закрытия периода, ни обрезки. На форуме выяснил, что штатная обрезка СМ+ это зло и надо делать некое "обнуление": удаление всех документов, кроме карточек и контрагентов до некоего дня Х.

Но, попробовав на тестовой базе удалить старые документы, до закрытия периода, получил отказ.

Как тогда "обнулять" БД?

Заранее благодарен
07.05.2020 13:00
OlegON
 
Цитата:
Дмитрий IT 11.2.0.1.0
категорически не рекомендую. почему - писал уже не один десяток раз.
Цитата:
Дмитрий IT ни разу не делали ни закрытия периода, ни обрезки
закрытие периода надо делать, а обрезка-то зачем?
07.05.2020 13:39
Дмитрий IT
 
Цитата:
OlegON категорически не рекомендую. почему - писал уже не один десяток раз.

закрытие периода надо делать, а обрезка-то зачем?
размер базы близок к 90Гб. Карточки операторами открываются по 20 секунд.

база была запущена примерно в год выхода Oracle 11.2.0.1 , надо как-то её приводить в чувство...
07.05.2020 13:48
OlegON
 
90Гб и открывание карточек по 20 секунд напрямую вряд ли связаны. Убейте не влияющие на товародвижение и ненужные документы, обновите железо и Oracle. Резка базы тут совершенно ни к чему. У моих клиентов есть и околотерабайтные базы Супермага, и 10-терабайтные базы других назначений... 90Гб в наше время - копейки и не стоят того, чтобы рисковать информацией и ее связностью.
07.05.2020 15:09
DMaslov
 
Размер базы и размер данных - разное.

sql:
SQL код:
select  a.TABLESPACE_NAME,
  
a.GB "Size in GB",
  
nvl(b.GB0"Free space in GB",
  
nvl(round(((a.BYTES-b.BYTES)/a.BYTES)*100,2), 100percent_used
from   
  
(
    
select   TABLESPACE_NAME,
      
sum(BYTESBYTES
      
round(sum(BYTES)/1024/10242MB,
      
round(sum(BYTES)/1024/1024/10242GB 
    from   dba_data_files 
    group   by TABLESPACE_NAME
  
)
  
a,
  (
    
select   TABLESPACE_NAME,
      
sum(BYTESBYTES
      
round(sum(BYTES)/1024/10242MB,
      
round(sum(BYTES)/1024/1024/10242GB 
    from   dba_free_space 
    group   by TABLESPACE_NAME
  
)
  
b
where   a
.TABLESPACE_NAME=b.TABLESPACE_NAME (+)
order   by 1


Выборка части данных не зависит от общего объема.

Соберите статистику, смотрите, что конкретно тормозит, план запроса.
07.05.2020 16:09
Дмитрий IT
 
Спасибо! Буду пробовать обновлять Oracle, для начала, да и hyper-threading включен, возможно.
07.05.2020 21:00
Kryukov
 
Цитата:
Дмитрий IT Спасибо! Буду пробовать обновлять Oracle, для начала, да и hyper-threading включен, возможно.
маленькая реплика... почитал ваши вопросы и ваши планы...
не спишите(не делайте резких движений)... обратитесь за помощью к старшим товарищам, на начале вашего админского пути с СМ+ и тем более Oracle... и будет вам счастье
07.05.2020 21:19
OlegON
 
Как писал раньше небезызвестный Володя Петров:

Код:
!!!         Не забудьте сделать резервное копирование,      !!!
!!!         при выполнении любых операций,                  !!!
!!!         связанных с внесением изменений в базу данных   !!!
08.05.2020 11:18
Дмитрий IT
 
Собственно говоря, но ведь обновление Oracle Database 11g Release 11.2.0.1.0 до версии (предположим) 11.2.0.4.0 это в рамках и мажорной (11) и минорной (11.2.0) версий. Почитав про переход 11->12 понял, что там много чего может случиться, но тут случай попроще, IMHO.

Тем более с версии 1.36 СМ+ штатно на 11.2.0.4.0 работает.

Просто как можно трудоёмкость оценить такого обновления? За одну ночь можно успеть управиться?
08.05.2020 15:18
OlegON
 
Сделай образ сервака, закатай его в виртуалку и попробуй. Никто не знает, какие грабли у вас там разложены.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.