Translate

Показаны сообщения с ярлыком ASM. Показать все сообщения
Показаны сообщения с ярлыком ASM. Показать все сообщения

пятница, 3 июля 2015 г.

ASMCMD - курьезы

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

ASMCMD [+data/rdbdevgg/archivelog/2015_04_30] > ls -l
Type        Redund  Striped  Time             Sys  Name
ARCHIVELOG  UNPROT  COARSE   APR 30 14:00:00  Y    thread_1_seq_22894.2939.878394477
ARCHIVELOG  UNPROT  COARSE   APR 30 14:00:00  Y    thread_1_seq_22895.4085.878394517
ARCHIVELOG  UNPROT  COARSE   APR 30 14:00:00  Y    thread_1_seq_22896.2938.878394563
ARCHIVELOG  UNPROT  COARSE   APR 30 14:00:00  Y    thread_1_seq_22897.3314.878394599
ASMCMD [+data/rdbdevgg/archivelog/2015_04_30] > rm thread_1_seq_22894.2939.878394477
....
ASMCMD [+data/rdbdevgg/archivelog/2015_04_30] > rm thread_1_seq_22897.3314.878394599
ASMCMD [+data/rdbdevgg/archivelog/2015_04_30] > ls -l
ASMCMD-8002: entry '2015_04_30' does not exist in directory '+data/rdbdevgg/archivelog/'
ASMCMD [+data/rdbdevgg/archivelog/2015_04_30] > cd ..
ASMCMD-8002: entry '2015_04_30' does not exist in directory '+data/rdbdevgg/archivelog/'
ASMCMD [+data/rdbdevgg/archivelog/2015_04_30] > pwd
+data/rdbdevgg/archivelog/2015_04_30
ASMCMD [+data/rdbdevgg/archivelog/2015_04_30] > cd +data/rdbdevgg/archivelog/

Вышел на уровень выше.


четверг, 2 июля 2015 г.

Копирование файлов между ASM инстансами

При работе с GoldenGate в режиме Downstream возникла необходимость в копировании archivelog между двумя инстансами ASM.
На source ASM нужно выполнить команду:
ASMCMD [+] >cp +DATA/arm4dev/ARCHIVELOG/2014_09_30/thread_1_seq_5689.451.859666035  sys@dev-rdb.+ASM:+data/DEV_RDB/archivelog/2014_09_30/thread_1_seq_5689.451
Где:
dev-rdb - host dest-сервера БД из файла /etc/hosts
+ASM - имя ASM-инстанса на dest-сервере БД
+data/DEV_RDB/archivelog/2014_09_30/thread_1_seq_5689.451 - путь и имя файла, суффикс incarnation необходимо стирать.

На dest ASM файлы копируются в каталог +DATA/ASM/ARCHIVELOG/
Т.е., если выполнить команду в каталоге с именем дня когда выполняется копирование:
ASMCMD [+data/dev_rdb/ARCHIVELOG/2014_10_03] > ls -ls
Type Redund Striped Time Sys Block_Size Blocks Bytes Space Name
ARCHIVELOG UNPROT COARSE OCT 03 11:00:00 Y 512 471565 241441280 243269632 none => thread_2_seq_8340.601.859982211
ARCHIVELOG UNPROT COARSE OCT 03 13:00:00 Y 512 353388 180934656 182452224 none => thread_2_seq_8347.577.859984811
N thread_2_seq_8348.521 => +DATA/ASM/ARCHIVELOG/thread_2_seq_8348.521.355.859988579
то можно увидеть ссылку на истинное положение файла.

Затем этот скопированный файл, можно зарегистрировать для экстрактора на dest БД:
SQL> alter database register or replace logical logfile '+DATA/ASM/ARCHIVELOG/thread_1_seq_5689.451.454.859914049' FOR 'OGG$CAP_XO'