Вот что уменя получилось используя инфу с сайта авевы:
Я тут посмотрел что есть у Авевы на русском сайте, в итоге получил вот такое:
- Локальные папки на сервере, куда будем отчет формировать
!folders[1]='d:\log\night\database\'
!folders[1]='d:\log\night\piping\'
do !x from 1 to !folders.Size(
!fo = object file(‘$!folders[$!x]‘)
if (!fo.Exists().Not()) then
!comm = |SYSCOM ‘MKDIR $!folders[$!x]‘|
$!comm
endif
enddo
–Блок 1. EXPUNGE ALL CLAMILISTS/USERS BEFORE
–(УБРАТЬ ИЗ ПРОЕКТА ВСЕХ ПОЛЬЗОВАТЕЛЕЙ ПЕРЕД ПРОДОЛЖЕНИЕМ)
–Переходим в модуль Admin
ADMIN
–выполняем команду удаления
EXPUNGE
–проходим по всем базам данных и удаляем из клеймлистов
VAR !DBS COLLECT ALL DB
do!x from 1 to !DBS.Size()
!DBNA = !DBS[!X].Dbref().Name.After(‘/*’)
EXPUNGE DB $!DBNA
HANDLE (1,271)(1,273)
–если база не-MULTIWRITE или FOREIGN
ENDHANDLE
ENDDO
–Блок 2. CHECK DATABASES
–ПРОВЕРКА БАЗ ДАННЫХ
-собираем все базы и конструируем лог-файл
VAR !DBS COLL ALL DB
!outputLOG = object array()
!outputLOGFILE = object file(‘$!folders[1]‘ + ‘!TotalLOG-DB.log’)
ALPHA LOG/$!nfile OVER
!dbN = !DBS[!x].DbRef().Name.After(‘/*’)
–выполняем команду причем результаты будут записаны в спец.файл (первый лог)
CHECK DB $!dbN
ALPHA LOG END
–проверяем получившийся лог-файл
–на предмет нахождения фатальных ошибок
!logfile = object file(!nfile)
!logfileRead = !logfile.ReadFile()
if (!logfileRead[!logfileRead.Size() - 1].Matchwild(‘*Database has no structural errors*’).Not()) then
!outputLOG.Append(‘DBS $!dbName : обнаружены несоответствия.. Необходима проверка…’)
endif
do !y from 1 to !logfileRead.Size()
if (!logfileRead[!y].Matchwild(‘*invalid*’) OR !logfileRead[!y].Matchwild(‘*unknown*’)) then
!outputLOG.Append(‘DBS $!dbName : обнаружены несоответствия.. Необходима проверка…’)
SKIP
endif
enddo
enddo
–выводим результыта проверки первого лог-файла во второй лог файл
!outputLOGFILE.WriteFile(‘OVERWRITE’,!outputLOG)
–Блок 3. Подшивка сессий
–Не использовать если в проекте используется механизм работы с сессиями
–для анализа изменений, возврата, контроля работы пользователей или Global
–использовать только при необходимости уменьшения физического
–объема данных проекта на жестком диске)
ADMIN
VAR !DBS COLL ALL DB
do !x from 1 to !DBS.Size()
skip if (!DBS[!x].DbRef().Fore EQ ‘FOREIGN’)
!mergewhere = !DBS[!x].DbRef().Name.After(‘/*’)
MERGE CHAN $!mergewhere
HANDLE (1,18)(1,293)
–FOR FOREIGN
ENDHANDLE
enddo
finish
После всего этого планирую запускать архивацию батником.
Вот что уменя получилось используя инфу с сайта авевы:
Я тут посмотрел что есть у Авевы на русском сайте, в итоге получил вот такое:
- Локальные папки на сервере, куда будем отчет формировать
!folders[1]='d:\log\night\database\'
!folders[1]='d:\log\night\piping\'
do !x from 1 to !folders.Size(
!fo = object file(‘$!folders[$!x]‘)
if (!fo.Exists().Not()) then
!comm = |SYSCOM ‘MKDIR $!folders[$!x]‘|
$!comm
endif
enddo
–Блок 1. EXPUNGE ALL CLAMILISTS/USERS BEFORE
–(УБРАТЬ ИЗ ПРОЕКТА ВСЕХ ПОЛЬЗОВАТЕЛЕЙ ПЕРЕД ПРОДОЛЖЕНИЕМ)
–Переходим в модуль Admin
ADMIN
–выполняем команду удаления
EXPUNGE
–проходим по всем базам данных и удаляем из клеймлистов
VAR !DBS COLLECT ALL DB
do!x from 1 to !DBS.Size()
!DBNA = !DBS[!X].Dbref().Name.After(‘/*’)
EXPUNGE DB $!DBNA
HANDLE (1,271)(1,273)
–если база не-MULTIWRITE или FOREIGN
ENDHANDLE
ENDDO
–Блок 2. CHECK DATABASES
–ПРОВЕРКА БАЗ ДАННЫХ
-собираем все базы и конструируем лог-файл
VAR !DBS COLL ALL DB
!outputLOG = object array()
!outputLOGFILE = object file(‘$!folders[1]‘ + ‘!TotalLOG-DB.log’)
ALPHA LOG/$!nfile OVER
!dbN = !DBS[!x].DbRef().Name.After(‘/*’)
–выполняем команду причем результаты будут записаны в спец.файл (первый лог)
CHECK DB $!dbN
ALPHA LOG END
–проверяем получившийся лог-файл
–на предмет нахождения фатальных ошибок
!logfile = object file(!nfile)
!logfileRead = !logfile.ReadFile()
if (!logfileRead[!logfileRead.Size() - 1].Matchwild(‘*Database has no structural errors*’).Not()) then
!outputLOG.Append(‘DBS $!dbName : обнаружены несоответствия.. Необходима проверка…’)
endif
do !y from 1 to !logfileRead.Size()
if (!logfileRead[!y].Matchwild(‘*invalid*’) OR !logfileRead[!y].Matchwild(‘*unknown*’)) then
!outputLOG.Append(‘DBS $!dbName : обнаружены несоответствия.. Необходима проверка…’)
SKIP
endif
enddo
enddo
–выводим результыта проверки первого лог-файла во второй лог файл
!outputLOGFILE.WriteFile(‘OVERWRITE’,!outputLOG)
–Блок 3. Подшивка сессий
–Не использовать если в проекте используется механизм работы с сессиями
–для анализа изменений, возврата, контроля работы пользователей или Global
–использовать только при необходимости уменьшения физического
–объема данных проекта на жестком диске)
ADMIN
VAR !DBS COLL ALL DB
do !x from 1 to !DBS.Size()
skip if (!DBS[!x].DbRef().Fore EQ ‘FOREIGN’)
!mergewhere = !DBS[!x].DbRef().Name.After(‘/*’)
MERGE CHAN $!mergewhere
HANDLE (1,18)(1,293)
–FOR FOREIGN
ENDHANDLE
enddo
finish
После всего этого планирую запускать архивацию батником.