powered by simpleCommunicator - 2.0.28     © 2024 Programmizd 02
Map
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Клонирование базы с Windows на Linux
23 сообщений из 23, страница 1 из 1
Клонирование базы с Windows на Linux
    #35157167
AlexanderFloyd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возможно ли произвести дублирование базы работающей в среде OS MS Windows, на Linux с помощью rman'а. Поэкспериментировав некоторое время я так и не продвинулся дальше начала процесса восстановления датафайлов.
А проблема вот в чем, не смотря на параметры db_file_name_convert и log_file_name_convert файлы восстанавливаются по виндовскому пути.
Выдержка из лога RMAN'а:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
.....................
   set newname for datafile   42  to
 "/u02/oracle/oradata/CPBASE/OBSOLETE.DBF";
   set newname for datafile   43  to
 "/u02/oracle/oradata/CPBASE/DOC_COMMON.DBF";
   restore
   check readonly
   clone database
   ;
.....................

restoring datafile  00042  to C:\U02\ORACLE\ORADATA\CPBASE\OBSOLETE.DBF
restoring datafile  00043  to C:\U02\ORACLE\ORADATA\CPBASE\DOC_COMMON.DBF
released channel: ch1
released channel: ch2
......................

RMAN- 03002 : failure of Duplicate Db command at  02 / 27 / 2008   09 : 53 : 41 
RMAN- 03015 : error occurred in stored script Memory Script
ORA- 07217 : sltln: environment variable cannot be evaluated.

Относительно ошибки ORA-07217 параметры среды ORACLE_SID и ORACLE_PATH корректны.
...
Рейтинг: 0 / 0
Клонирование базы с Windows на Linux
    #35157402
badm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Версия базы какая?

-------------------------------------

Все хрустальные мечты детства разбились о чугунную жопу действительности!
...
Рейтинг: 0 / 0
Клонирование базы с Windows на Linux
    #35157507
AlexanderFloyd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На Win 10.2.0.3, Linux 10.2.0.1

Есть подозрение что формат полного имени файла зависит от некой переменной окружения, т.к.
и set_newname, и db_file_name_convert путь к файлам то переименовывают, но восстановление начинается по вин-образному пути. Отсюда, похоже, и ошибка ORA-07217

restoring datafile 00043 to C:\U02\ORACLE\ORADATA\CPBASE\DOC_COMMON.DBF
...
Рейтинг: 0 / 0
Клонирование базы с Windows на Linux
    #35157674
Bambino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlexanderFloydВозможно ли произвести дублирование базы работающей в среде OS MS Windows, на Linux с помощью rman'а. Поэкспериментировав некоторое время я так и не продвинулся дальше начала процесса восстановления датафайлов.
А проблема вот в чем, не смотря на параметры db_file_name_convert и log_file_name_convert файлы восстанавливаются по виндовскому пути.
Выдержка из лога RMAN'а:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
.....................
   set newname for datafile   42  to
 "/u02/oracle/oradata/CPBASE/OBSOLETE.DBF";
   set newname for datafile   43  to
 "/u02/oracle/oradata/CPBASE/DOC_COMMON.DBF";

switch datafile all;

   restore
   check readonly
   clone database
   ;
.....................


Относительно ошибки ORA-07217 параметры среды ORACLE_SID и ORACLE_PATH корректны.
...
Рейтинг: 0 / 0
Клонирование базы с Windows на Linux
    #35157737
AlexanderFloyd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Bambino AlexanderFloydВозможно ли произвести дублирование базы работающей в среде OS MS Windows, на Linux с помощью rman'а. Поэкспериментировав некоторое время я так и не продвинулся дальше начала процесса восстановления датафайлов.
А проблема вот в чем, не смотря на параметры db_file_name_convert и log_file_name_convert файлы восстанавливаются по виндовскому пути.
Выдержка из лога RMAN'а:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
.....................
   set newname for datafile   42  to
 "/u02/oracle/oradata/CPBASE/OBSOLETE.DBF";
   set newname for datafile   43  to
 "/u02/oracle/oradata/CPBASE/DOC_COMMON.DBF";

switch datafile all;

   restore
   check readonly
   clone database
   ;
.....................


Относительно ошибки ORA-07217 параметры среды ORACLE_SID и ORACLE_PATH корректны.

До переключения датафайлов дело не доходит, процесс прерывается при восстановлении (restore).
...
Рейтинг: 0 / 0
Клонирование базы с Windows на Linux
    #35158103
Bambino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlexanderFloyd Bambino AlexanderFloydВозможно ли произвести дублирование базы работающей в среде OS MS Windows, на Linux с помощью rman'а. Поэкспериментировав некоторое время я так и не продвинулся дальше начала процесса восстановления датафайлов.
А проблема вот в чем, не смотря на параметры db_file_name_convert и log_file_name_convert файлы восстанавливаются по виндовскому пути.
Выдержка из лога RMAN'а:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
.....................
   set newname for datafile   42  to
 "/u02/oracle/oradata/CPBASE/OBSOLETE.DBF";
   set newname for datafile   43  to
 "/u02/oracle/oradata/CPBASE/DOC_COMMON.DBF";

switch datafile all;

   restore
   check readonly
   clone database
   ;
.....................


Относительно ошибки ORA-07217 параметры среды ORACLE_SID и ORACLE_PATH корректны.

До переключения датафайлов дело не доходит, процесс прерывается при восстановлении (restore).

Switch надо делать до restore
...
Рейтинг: 0 / 0
Клонирование базы с Windows на Linux
    #35158128
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bambino
Switch надо делать до restore

А что делает switch datafile all ?
...
Рейтинг: 0 / 0
Клонирование базы с Windows на Linux
    #35158153
AlexanderFloyd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Bambino

Switch надо делать до restore

Хм, а на что он будет переключаться, если файлы еще не восстановлены !?
...
Рейтинг: 0 / 0
Клонирование базы с Windows на Linux
    #35158155
Bambino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tru55 Bambino
Switch надо делать до restore

А что делает switch datafile all ?

Это "поточное" выполнение команды
alter database rename file....
После этого они в контролфайле будут уже смотреть на новые каталоги и rman их туда заресторит
...
Рейтинг: 0 / 0
Клонирование базы с Windows на Linux
    #35158165
AlexanderFloyd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlexanderFloyd Bambino

Switch надо делать до restore

Хм, а на что он будет переключаться, если файлы еще не восстановлены !?

PS
В первом топике не сам скрипт, а вырезки из лога RMAN'а.
...
Рейтинг: 0 / 0
Клонирование базы с Windows на Linux
    #35158175
AlexanderFloyd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Bambino tru55 Bambino
Switch надо делать до restore

А что делает switch datafile all ?

Это "поточное" выполнение команды
alter database rename file....
После этого они в контролфайле будут уже смотреть на новые каталоги и rman их туда заресторит

Блин, сча попробую
...
Рейтинг: 0 / 0
Клонирование базы с Windows на Linux
    #35158176
Bambino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlexanderFloyd AlexanderFloyd Bambino

Switch надо делать до restore

Хм, а на что он будет переключаться, если файлы еще не восстановлены !?

PS
В первом топике не сам скрипт, а вырезки из лога RMAN'а.
Упс.. точно. но сути дела не менят

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
run{
set newname for datafile  1  to .....
set newname for datafile  2  to ...
......
switch datafile all;
restore database;
recover database;
}
...
Рейтинг: 0 / 0
Клонирование базы с Windows на Linux
    #35158185
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bambino tru55 Bambino
Switch надо делать до restore

А что делает switch datafile all ?

Это "поточное" выполнение команды
alter database rename file....
После этого они в контролфайле будут уже смотреть на новые каталоги и rman их туда заресторит

Хорошо.
А что делает set newname ?
...
Рейтинг: 0 / 0
Клонирование базы с Windows на Linux
    #35158213
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bambino AlexanderFloyd AlexanderFloyd Bambino

Switch надо делать до restore

Хм, а на что он будет переключаться, если файлы еще не восстановлены !?

PS
В первом топике не сам скрипт, а вырезки из лога RMAN'а.
Упс.. точно. но сути дела не менят

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
run{
set newname for datafile  1  to .....
set newname for datafile  2  to ...
......
switch datafile all;
restore database;
recover database;
}


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Oracle9i Recovery Manager User’s Guide

Restoring Datafiles to a New Location

RUN
{
SQL 'ALTER TABLESPACE users OFFLINE IMMEDIATE';
SQL 'ALTER TABLESPACE tools OFFLINE IMMEDIATE';
# restore the datafile to a new location
SET NEWNAME FOR DATAFILE '?/oradata/trgt/users01.dbf' TO '/tmp/users01.dbf';
SET NEWNAME FOR DATAFILE '?/oradata/trgt/tools01.dbf' TO '/tmp/tools01.dbf';
RESTORE TABLESPACE users, tools;
SWITCH DATAFILE ALL; # point control file to new filenames
RECOVER TABLESPACE users, tools;
}
...
Рейтинг: 0 / 0
Клонирование базы с Windows на Linux
    #35158258
AlexanderFloyd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Bambino AlexanderFloyd AlexanderFloyd Bambino

Switch надо делать до restore

Хм, а на что он будет переключаться, если файлы еще не восстановлены !?

PS
В первом топике не сам скрипт, а вырезки из лога RMAN'а.
Упс.. точно. но сути дела не менят

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
run{
set newname for datafile  1  to .....
set newname for datafile  2  to ...
......
switch datafile all;
restore database;
recover database;
}



Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
...........................

executing command: SET NEWNAME

released channel: ch1
released channel: ch2
released channel: ch3
released channel: ch4
released channel: ch5
RMAN- 00571 : ===========================================================
RMAN- 00569 : =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN- 00571 : ===========================================================
RMAN- 03002 : failure of switch command at  02 / 27 / 2008   15 : 37 : 03 
RMAN- 20230 : datafile copy not found in the recovery catalog
RMAN- 06015 : error while looking up datafile copy name: C:\U02\ORACLE\ORADATA\CPBASELI\SYSTEM

Recovery Manager complete.

Ну собственно, вполне ожидаемый результат.
...
Рейтинг: 0 / 0
Клонирование базы с Windows на Linux
    #35158269
Bambino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlexanderFloyd Bambino AlexanderFloyd AlexanderFloyd Bambino

Switch надо делать до restore

Хм, а на что он будет переключаться, если файлы еще не восстановлены !?

PS
В первом топике не сам скрипт, а вырезки из лога RMAN'а.
Упс.. точно. но сути дела не менят

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
run{
set newname for datafile  1  to .....
set newname for datafile  2  to ...
......
switch datafile all;
restore database;
recover database;
}



Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
...........................

executing command: SET NEWNAME

released channel: ch1
released channel: ch2
released channel: ch3
released channel: ch4
released channel: ch5
RMAN- 00571 : ===========================================================
RMAN- 00569 : =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN- 00571 : ===========================================================
RMAN- 03002 : failure of switch command at  02 / 27 / 2008   15 : 37 : 03 
RMAN- 20230 : datafile copy not found in the recovery catalog
RMAN- 06015 : error while looking up datafile copy name: C:\U02\ORACLE\ORADATA\CPBASELI\SYSTEM

Recovery Manager complete.

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

Блин, ну конечно я осел...
...
Рейтинг: 0 / 0
Клонирование базы с Windows на Linux
    #35158347
Bambino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Но я все-таки помогу товарищу перенести базу. А делать надо вот как...
Модератор: Текст документа удален.
Cross-Platform Migration Using Rman Convert Database on Destination Host ( Windows 32-bit to Linux 32-bit )
...
Рейтинг: 0 / 0
Клонирование базы с Windows на Linux
    #35158371
AlexanderFloyd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BambinoНо я все-таки помогу товарищу перенести базу. А делать надо вот как...

Спасибо тебе Bambino , респект и уважуха !!! :)
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Клонирование базы с Windows на Linux
    #40138664
dayas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прямо моя задача,
НО
1.Нельзя останавливать базу. То есть, бэкап надо сделать на горячую. Неважно, если данные будут не полностью актуальные на последнюю дату.
2.База на Windows должна остаться рабочей. А насколько я понимаю после CONVERT её нельзя будет заново включить на том же самом месте.

План такой:
1.Уже сделал промежуточный сервер. Установил туда такую же версию Oracle 12, как на основном сервере.
2.Теперь надо как-то сделать горячий бэкап, который я разверну на промежуточном сервере.
3.А вот на промежуточном сервере я уже остановлю базу и сделают CONVERT и перенесу базу на Linux.

Зачем такая заморочка? Потренироваться в переносе. И вообще вспомнить Oracle. Админил его в 2001-2009, потом был перерыв.
Когда дело дойдёт до реального переноса базы, то конечно остановлю основную базу, сделаю холодный бэкап и CONVERT.
Но сейчас без остановки и через промежуточный сервер.

Пока что вопрос по пункту 2. Сделать горячий бэкап. Хватит двух команд:
RMAN> backup current controlfile;
RMAN> backup database;
или ещё что-то нужно?

Если что ARCHIVELOG включён.
...
Рейтинг: 0 / 0
Клонирование базы с Windows на Linux
    #40138665
Фотография SeaGate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dayas [игнорируется] 

Primary может быть на Windows, standby на Linux:
Data Guard Support for Heterogeneous Primary and Physical Standbys in Same Data Guard Configuration (Doc ID 413484.1)
Развертывать standby, например, через active database duplication (тут primary - Linux, standby - Windows): Using Active Database Duplication to Create Cross Platform Data Guard Setup (Windows/Linux) (Doc ID 881421.1)
Нужно только аккуратно прописать db_file_name_convert, log_file_name_convert, настроить удаление архивных логов на standby.
Standby можно будет для тестов открыть в snapshot standby. В момент финального переключения, просто выполнить switchover. Тем самым, при необходимости можно будет переключиться обратно.
Convert здесь не нужен.
...
Рейтинг: 0 / 0
Клонирование базы с Windows на Linux
    #40138666
Фотография SeaGate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dayas [игнорируется] 
dayas 
[игнорируется]
Oracle 12
Oracle 12 встречается в двух видах сейчас: 12.1.0.2 (12.1), 12.2.0.1 (12.2)
Если 12.2, то можно через dbca -createDuplicateDB попробовать создать standby. Между Linux это всё без проблем работает (примеры в интернете). Между Windows и Linux не проверял, но стоит попробовать.
...
Рейтинг: 0 / 0
Клонирование базы с Windows на Linux
    #40138672
dayas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeaGate [игнорируется] 

К сожалению, 12.1, и к тому же standby - это немного другое. Я вспомнил, что настраивал standby примерно в 2013.

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

НО появилась ещё одна проблема.
На исходном сервере нет места под бэкап. Трогать сервер, как я уже говорил, нельзя.
А сетевой диск не даёт задать. Или я что-то не так делаю? Через location тоже пробовал.
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
SQL> alter system set db_recovery_file_dest='H:\oracle';
alter system set db_recovery_file_dest='H:\oracle'
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-01261: Parameter db_recovery_file_dest destination string cannot be translated
ORA-01263: Name given for file destination directory is invalid
OSD-04018: Unable to access the specified directory or device.
O/S-Error: (OS 3) ┐┐┐┐┐┐┐┐ ┐┐┐┐┐┐┐┐┐┐ ┐┐┐.
Что можно придумать?
...
Рейтинг: 0 / 0
Клонирование базы с Windows на Linux
    #40138673
Фотография SeaGate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dayas [игнорируется] 
dayas 
[игнорируется]
К сожалению, 12.1, и к тому же standby - это немного другое
Standby это именно то, что я имел в виду в моем комментарии.
dbca -createDuplicateDB
См параметр `-createAsStandby` этой команды.
dayas 
[игнорируется]
Что можно придумать?
Делать active duplicate как я писал ранее.
Using Active Database Duplication to Create Cross Platform Data Guard Setup (Windows/Linux) (Doc ID 881421.1)
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Клонирование базы с Windows на Linux
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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