powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Проблема с контрольником бывшего праймери
17 сообщений из 17, страница 1 из 1
Проблема с контрольником бывшего праймери
    #39342312
micis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеем праймери+3 стендбая (все 12.1.0.2.0).
Недавно сделали плановый switchover без ошибок и проблем (базы ролями поменялись, накат логов пошёл на старый праймери).

После этого начались проблемы:
Если сделать контрольник с базы бывшего праймери командой
Код: plsql
1.
RMAN> backup current controlfile for standby format '/oradata/%d_control.bak';

то при разворачивании новой тестовой базы с этим контролом не применяется опция db_file_name_convert из инит-файла.
Но если сделать контрольник с любого другого хоста (новый праймери или другие стендбаи), то db_file_name_convert применяется как и надо.

При чём, и с того проблемного хоста ДО переключения switchover всё работало.

Что надо посмотреть/исправить?
...
Рейтинг: 0 / 0
Проблема с контрольником бывшего праймери
    #39342333
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю как 12, но до этого настройка DB_FILE_NAME_CONVERT применялась ТОЛЬКО при команде DUPLICATE (в том числе и при создании стендбая). При обычниых командах RECOVER/RESTORE оно игнорируется
...
Рейтинг: 0 / 0
Проблема с контрольником бывшего праймери
    #39342350
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
micis,

1) Покаж значение DB_FILE_NAME_CONVERT какое пытаешься используешь
2) Посмотри какие конкретно пути прописаны в этом control
Код: plsql
1.
strings -a *_control.bak | grep oradata
...
Рейтинг: 0 / 0
Проблема с контрольником бывшего праймери
    #39342388
Q.Tarantino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав ЛюбомудровНе знаю как 12, но до этого настройка DB_FILE_NAME_CONVERT применялась ТОЛЬКО при команде DUPLICATE (в том числе и при создании стендбая). При обычниых командах RECOVER/RESTORE оно игнорируется
если ресторить БД как стендбай - то работает.
...
Рейтинг: 0 / 0
Проблема с контрольником бывшего праймери
    #39342482
micis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Q.Tarantinoесли ресторить БД как стендбай - то работает.Да, именно так и делаем обычно тестовые БД. Т.к. бекапы уже есть, вот с них и разворачиваем (да и нагрузку лишнюю не создаём):
- монтируем на тестовом сервере nfs-шару с бекапом (там же лежит и контрольник для стендбая)
- стартуем инстанс, восстанавливаем контрольник (инит-файлы уже готовы от предыдущей тестовой базы), монтируем
- в rman-е делаем CATALOG START WITH '/mnt/backups/...', затем restore + recover
- ну и затем активируем стендбай базу.


Vadim Lejnin,
Код: plsql
1.
2.
3.
4.
5.
SQL> select value from v$parameter where name='db_file_name_convert';

VALUE
----------------------------------------------------------------------------------------------------------------------------------------------------------
/oradata/crm03, /oradata/dbtest


Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
$ strings -a crm03_control.bak | grep oradata
/oradata/crm03/T_USR36.dbf
/oradata/crm03/T_AUD11.dbf
/oradata/crm03/T_USR35.dbf
/oradata/crm03/I_USR37.dbf
/oradata/crm03/I_USR36.dbf
/oradata/crm03/I_USR35.dbf
/oradata/crm03/T_USR34.dbf
/oradata/crm03/T_USR33.dbf
/oradata/crm03/T_AUD10.dbf
/oradata/crm03/I_AUD04.dbf
...


Проверял уже пути на 10 раз. Не в них дело, видимо.
...
Рейтинг: 0 / 0
Проблема с контрольником бывшего праймери
    #39342508
Q.Tarantino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
micisмонтируем
не уверен, но все же... монтируете через 'alter database mount standby database'?
...
Рейтинг: 0 / 0
Проблема с контрольником бывшего праймери
    #39343059
micis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Q.Tarantinoне уверен, но все же... монтируете через 'alter database mount standby database'?Нет, просто mount. Но проверил сейчас и с данной командой - тот же результат. Да и документация говорит о том же:
The keywords STANDBY DATABASE are optional, because Oracle Database determines automatically whether the database to be mounted is a primary or standby database
Проверил уже все шаги по этой инструкции Creating a Physical Standby Database

При чём, если взять контрольник с "нормального" стендбая, восстановить на тесте и смонтировать БД, то
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
RMAN> select name from v$datafile where file#=1;



NAME                                                                            
--------------------------------------------------------------------------------

/oradata/dbtest/system01.dbf

показывает сконвертированный путь, хотя в контрольнике исходные пути
Код: plsql
1.
2.
3.
$ strings -a control01.ctl | grep oradata | grep system01.dbf 
/oradata/crm03/system01.dbf
/oradata/crm03/system01.dbf



Куда ещё смотреть?
...
Рейтинг: 0 / 0
Проблема с контрольником бывшего праймери
    #39348120
micis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробовал на тестовом стенде повторить проблему - всё аналогично проду.

Видимо придётся переходить на команду DUPLICATE (архивлоги не бекапятся у нас, поэтому DUPLICATE идёт без опции DORECOVER):
Код: plsql
1.
2.
3.
$ rman CONNECT AUXILIARY /
RMAN> DUPLICATE DATABASE FOR STANDBY BACKUP LOCATION '/mnt/backups/' NOFILENAMECHECK;
RMAN> RECOVER CLONE DATABASE UNTIL SCN ...;

Только опять же, теперь не переименовываются автоматом редологи (может из-за отсутствия DORECOVER?). Но их проще пересоздать...
...
Рейтинг: 0 / 0
Проблема с контрольником бывшего праймери
    #39348758
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А для логов нужно LOG_FILE_NAME_CONVERT
...
Рейтинг: 0 / 0
Проблема с контрольником бывшего праймери
    #39348794
micis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вячеслав ЛюбомудровА для логов нужно LOG_FILE_NAME_CONVERTТак в том-то и дело, что стоял этот параметр. Да и сейчас задан, автоматом перейдя в spfile.
...
Рейтинг: 0 / 0
Проблема с контрольником бывшего праймери
    #39348806
Q.Tarantino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
micis
Код: plsql
1.
NOFILENAMECHECK


если файлы переименовываются, зачем тут это?
...
Рейтинг: 0 / 0
Проблема с контрольником бывшего праймери
    #39348808
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А он сначала проверяется
...
Рейтинг: 0 / 0
Проблема с контрольником бывшего праймери
    #39348810
Q.Tarantino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав ЛюбомудровА он сначала проверяется
расшифруй?
я когда создавал тестовые БД по другим путям всегда убирал данный параметр - сразу видно если что-то забыл прописать в CONVERT.
...
Рейтинг: 0 / 0
Проблема с контрольником бывшего праймери
    #39348815
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забей, я прогнал
...
Рейтинг: 0 / 0
Проблема с контрольником бывшего праймери
    #39349544
micis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Q.Tarantinoесли файлы переименовываются, зачем тут это?А иначе получаю ошибку RMAN-05001. У меня все базы на одном хосте.
Хотя рман пишет, что конфликт с именем уже по сконвертированному пути:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 11/17/2016 17:04:41
RMAN-05501: aborting duplication of target database
RMAN-05001: auxiliary file name /oradata/test/test_convert_filename.dbf conflicts with a file used by the target database
RMAN-05001: auxiliary file name /oradata/test/users01.dbf conflicts with a file used by the target database
RMAN-05001: auxiliary file name /oradata/test/undo01.dbf conflicts with a file used by the target database
RMAN-05001: auxiliary file name /oradata/test/sysaux01.dbf conflicts with a file used by the target database
RMAN-05001: auxiliary file name /oradata/test/system01.dbf conflicts with a file used by the target database

А на самом деле этих файлов ещё нет. Он смотрит в /oradata/prod, где лежит исходная база.
...
Рейтинг: 0 / 0
Проблема с контрольником бывшего праймери
    #39349653
micis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А сейчас вылезло вообще не пойми что:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
$ rlwrap rman auxiliary /

Recovery Manager: Release 12.1.0.2.0 - Production on Fri Nov 18 16:20:22 2016

Copyright (c) 1982, 2014, Oracle and/or its affiliates.  All rights reserved.

connected to auxiliary database: PROD (not mounted)

RMAN> DUPLICATE DATABASE FOR STANDBY BACKUP LOCATION '/oradata/test/backup' NOFILENAMECHECK dorecover;

Starting Duplicate Db at 18.11.2016 16:20:53

contents of Memory Script:
{
   restore clone standby controlfile from  '/oradata/test/backup/PROD_43_928235945_1brl7gd9_1_1';
}
executing Memory Script

Starting restore at 18.11.2016 16:20:53
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=162 device type=DISK

channel ORA_AUX_DISK_1: restoring control file
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01
output file name=/oradata/test/control1.ctl
Finished restore at 18.11.2016 16:20:56

contents of Memory Script:
{
   sql clone 'alter database mount standby database';
}
executing Memory Script

sql statement: alter database mount standby database
released channel: ORA_AUX_DISK_1
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=162 device type=DISK
allocated channel: ORA_AUX_DISK_2
channel ORA_AUX_DISK_2: SID=475 device type=DISK

contents of Memory Script:
{
   set until scn  2196101;
   set newname for tempfile  1 to 
 "/oradata/test/temp01.dbf";
   switch clone tempfile all;
   set newname for datafile  1 to 
 "/oradata/test/system01.dbf";
   set newname for datafile  2 to 
 "/oradata/test/sysaux01.dbf";
   set newname for datafile  3 to 
 "/oradata/test/undo01.dbf";
   set newname for datafile  4 to 
 "/oradata/test/users01.dbf";
   set newname for datafile  5 to 
 "/oradata/test/test_convert_filename.dbf";
   restore
   clone database
   ;
}
executing Memory Script

executing command: SET until clause

executing command: SET NEWNAME

renamed tempfile 1 to /oradata/test/temp01.dbf in control file

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

Starting restore at 18.11.2016 16:21:04
using channel ORA_AUX_DISK_1
using channel ORA_AUX_DISK_2

creating datafile file number=1 name=/oradata/test/system01.dbf
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 11/18/2016 16:21:05
RMAN-05501: aborting duplication of target database
RMAN-03015: error occurred in stored script Memory Script
RMAN-06136: ORACLE error from auxiliary database: ORA-01180: can not create datafile 1
ORA-01110: data file 1: '/oradata/prod/system01.dbf'


После переименования датафайлов, рман пытается восстановить в старый каталог!
...
Рейтинг: 0 / 0
Проблема с контрольником бывшего праймери
    #39349922
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, восстановиться он пытается в новый, а в последней строчке он тебе пишет информацию из контрола (там, естественно, путь старый)
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Проблема с контрольником бывшего праймери
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]