вторник, 26 июля 2016 г.

Где CRL-файл?

Актуально для "Центра Сертификации" на MS Windows Server 2003 Enterprise Edition".
При выполнении действия "Опубликовать" ("Publish") над узлом "Отозванные сертификаты" ("Revoked Certificates") файл (.crl) создается здесь:
%WINDIR%\system32\certsrv\CertEnroll\<CA_name>.crl

понедельник, 25 июля 2016 г.

*.tar.gz

tar xvfz *.tar.gz

Используемые в команде ключи

x - позволяет вам извлекать файлы из архива.
v - делает вывод tar подробным. Это означает, что на экран будут выведены все найденные в архиве файлы. Если эта опция опущена, информация, выводимая в процессе обработки, будет ограничена.
f - является обязательной опцией. Без неё tar пытается использовать магнитную ленту вместо файла архива.
z - позволяет вам обрабатывать архив, сжатый gzip'ом (с расширением .gz). Если вы забудете указать эту опцию, tar выдаст ошибку. И наоборот, эта опция не должна использоваться для несжатых архивов.

Список обновлений ОС Windows и других программ

На странице консоли "appwiz.cpl" (пункт "Просмотр установленных обновлений") виден список всех обновлений и ПО от Microsoft, в том числе, и обновления для MS Office.
Появилась задача - получить этот список в текстовом виде.

Оказалось, что "wmic" может получить список только самой ОС
wmic qfe list full
но не другого ПО, а значит он не покажет обновления MS Office.

В связи с этим познакомился с MS PowerShell (поэтому способ ограничен версией MS Windows = по-умолчанию "MS PowerShell" установлен на ОС Windows 7 и выше, а на Windows XP его нужно дополнительно устанавливать)
способ подглядел здесь.

list_winupdates.ps1:
«
$wu = new-object -com “Microsoft.Update.Searcher”
$totalupdates = $wu.GetTotalHistoryCount()
$wu.QueryHistory(0,$totalupdates)| Export-CSV -delimiter "|" .\list_winupdates_result.csv -Encoding UTF8
# по окончанию можно открыть файл с результатами: "ii .\list_winupdates_result.csv"
».

Правой кнопкой по скрипту и "Выполнить с помощью PowerShell". По окончанию выполнения скрипта в папке, рядом со скриптом, появится файл "list_winupdates_result.csv".

xcopy - подавление запроса типа назначения

"xcopy" выдает запрос о типе назначения:
«
Что означает <file>:
имя файла или каталога
(F = файл, D = каталог)?
».

Как его подавить, если "xcopy /I" не помогает?

Решение, если тип назначения - это файл (имитируем нажатие клавиши "f"):
echo f|xcopy ...

Решение, если тип назначения - это директория (имитируем нажатие клавиши "d"):
echo d|xcopy ...

Восстановление DOCATTACHEX

select
 ff.FOLDER||'atch#'||dae.ID "Файлы в хранилище"
,'insert into FileFolder(FILE_NAME,FOLDER,DEVICE_NAME,STORAGE_NAME) values('
 ||''''||ff.FILE_NAME||''','
 ||''''||ff.FOLDER||''','
 ||''''||ff.DEVICE_NAME||''','
 ||''''||ff.STORAGE_NAME||''');' "SQL для тестовой БД"
,'echo F|xcopy /Y '||replace(ff.FOLDER,'/','\')||'atch#'||trim(dae.ID)||' mydest\'||replace(ff.FOLDER,'/','\')||'atch#'||dae.ID "win_bat_copy" /*Строки этого столбца нужно копировать в BAT-файл для Windows - он скопирует в mydest нужные файлики-вложения*/
from DOCATTACHEX dae join filefolder ff on ff.FILE_NAME=trim(dae.ID) where dae.DOCUMENT_ID in (
select
 del.DOCUMENT_ID
from DOCEVERRLOG del
join document d on d.id = del.DOCUMENT_ID
where del.EVENT_MSG like '%AZK-9038. Ошибка удаленного вызова задания%'
and to_date(del.EVENT_BEGIN, 'DD.MM.YY') = to_date('06.07.16', 'DD.MM.YY')
);

понедельник, 18 июля 2016 г.

среда, 6 июля 2016 г.

Рестор дампа из нескольких файлов

Впервые пришлось ресторить дамп, который расположен в двух файлах, а не в одном. Такой дамп нужно ресторить, перечислив названия его файлов через запятую в параметре "DUMPFILE" (спасибо Снытко А.), пример:
impdp scott/tiger DIRECTORY=data_pump_dir DUMPFILE=demo01.dmp,demo02.dmp,demo03.dmp logfile=log01.log SCHEMAS=SCOTT

Правда были свои нюансы:
почти сразу стала появляться ошибка:
ORA-00959: tablespace 'AZK2016' does not exist
Т.к. на моем сервере только "USERS", поэтому в строку команды рестора я добавил
REMAP_TABLESPACE=AZK2016:USERS

После этого рестор закончился, но с двумя ошибками, не создались 2 таблицы:

ORA-39083: Object type TABLE:"NEWBASE"."USERCERT" failed to create with error:
ORA-01847: day of month must be between 1 and last day of month
...
ORA-39083: Object type TABLE:"NEWBASE"."NOTIFYMSG" failed to create with error:
ORA-01861: literal does not match format string

Все из-за разности параметров
NLS_LANG
NLS_DATE_FORMAT
между сервером БД откуда дамп пришел и моим сервером. Стоило их уравнять и рестор выполнился успешно.

Дополнение:
Согласно описания параметра DUMPFILE вместо записи
impdp scott/tiger DIRECTORY=data_pump_dir DUMPFILE=demo01.dmp,demo02.dmp,demo03.dmp logfile=log01.log SCHEMAS=SCOTT
можно использовать переменную "%U", диапазон значений которой варьируется от 01 до 99:
impdp scott/tiger DIRECTORY=data_pump_dir DUMPFILE=demo%U.dmp logfile=log01.log SCHEMAS=SCOTT

Архив