Перенос БД на новый сервер

Всё по теме СУБД Oracle: установка, настройка, использование, решение проблем и т.д. и т.п. и др. и пр.
Ответить
oren87
Сообщения: 5
Зарегистрирован: Ср июн 14, 2023 2:42 pm

Перенос БД на новый сервер

Сообщение oren87 »

Всех приветствую. С оракл особо не работал раньше, но на новом месте работы приходится вникать.
Задача развернуть копию базы, сделанной RMAN на новом сервере. На данном сервере уже создавали какую-то тестовую БД, я удалил её вот таким способом:

SQL> shutdown immediate;
SQL>startup restrict mount
SQL>drop database;


Но при этом от неё осталось куча каталогов и файлов.

Перечитав множество информации в интернете сначала пробовал создать пустую БД - безуспешно.
Затем нашел инструкцию по дублированию БД https://zhidba.ru/index.php/stati/oracl ... ubl-rman-1. Исправив кучу ошибок в процессе запуска (в основном редактировал файл initCID.ora и spfile), все таки запустил дублирование. Пришел утром попытался запустить БД, получил ошибку:

ORA-19838: cannot use this control file to mount or open database

Вновь попытался создать пустую БД, взяв файл initCID.ora с рабочей БД, при попытке запуска получаю ошибки:

SQL> startup nomount;
ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
ORA-16032: parameter LOG_ARCHIVE_DEST_1 destination string cannot be translated
ORA-07286: sksagdi: cannot obtain device information.
Linux-x86_64 Error: 2: No such file or directory


Вопросы:
1. Нужно ли создавать пустую БД для разворачивания в неё дубликата рабочей БД?
2. Можно ли создать пустую БД используя файл init.ora от рабочей БД?
Аватара пользователя
SQL*Plus
Сообщения: 208
Зарегистрирован: Ср апр 20, 2022 1:09 pm

Re: Перенос БД на новый сервер

Сообщение SQL*Plus »

ORA-16032: parameter LOG_ARCHIVE_DEST_1 destination string cannot be translated

Указывает на место, куда следует записывать (передавать) файлы архивных журналов (archive logs).
Предполагаю, что это место с данного сервера недоступно.
Исправьте на доступное место.
Аватара пользователя
Valery Yourinsky
Сообщения: 42
Зарегистрирован: Ср май 18, 2022 2:30 pm

Re: Перенос БД на новый сервер

Сообщение Valery Yourinsky »

oren87 писал(а): Ср июн 14, 2023 2:47 pm Вновь попытался создать пустую БД, взяв файл initCID.ora с рабочей БД, при попытке запуска получаю ошибки:

SQL> startup nomount;
ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
. . .
Чтобы быть уверенным, что вы используете нужный файл инициализации (initCID.ora),
укажите его явно параметром PFILE

Например:
startup nomount PFILE=/app/oracle/CID/initCID.ora;
oren87
Сообщения: 5
Зарегистрирован: Ср июн 14, 2023 2:42 pm

Re: Перенос БД на новый сервер

Сообщение oren87 »

Вообщем докопаться до истины не удалось, руководство подключило предыдущего админа, он восстановил бэкап с помощью скрипта. При этом spfile вообще удалил.
oren87
Сообщения: 5
Зарегистрирован: Ср июн 14, 2023 2:42 pm

Re: Перенос БД на новый сервер

Сообщение oren87 »

SQL> SELECT DECODE(value, NULL, 'PFILE', 'SPFILE') "Init File Type"
FROM sys.v_$parameter WHERE name = 'spfile'; 2

Init File Type
--------------------------------
PFILE

Как я понял используется PFILE, а PFILE - это и есть initCID.ora?
oren87
Сообщения: 5
Зарегистрирован: Ср июн 14, 2023 2:42 pm

Re: Перенос БД на новый сервер

Сообщение oren87 »

Сам нашел ответ.

Oracle ищет подходящий файл параметров в следующем порядке:

Пытается использовать файл spfile${ORACLE_SID}.ora в директории $ORACLE_HOME/dbs (Unix) или ORACLE_HOME/database (Windows)
Пытается использовать файл spfile.ora в директории $ORACLE_HOME/dbs (Unix) или ORACLE_HOME/database (Windows)
Пытается использовать файл init${ORACLE_SID}.ora в директории $ORACLE_HOME/dbs (Unix) or ORACLE_HOME/database (Windows)
Аватара пользователя
SQL*Plus
Сообщения: 208
Зарегистрирован: Ср апр 20, 2022 1:09 pm

Re: Перенос БД на новый сервер

Сообщение SQL*Plus »

oren87 писал(а): Чт июн 15, 2023 12:29 pm Вообщем докопаться до истины не удалось, руководство подключило предыдущего админа, он восстановил бэкап с помощью скрипта. При этом spfile вообще удалил.
Решение с применением "предыдущего админа" было правильным.
Надеюсь, что вы переняли у него этот скрипт и постепенно тоже научитесь администрированию Oracle Database.

SPFILE - это Server Parameters File - файл на сервере, в котором хранятся параметры экземпляра (instance) и базы данных.
При запуске без указания фразы PFILE параметры считываются из SPFILE, если он есть и сервер знает, где его искать.
Если в SPFILE что-то нужно изменить, используют команду
CREATE PFILE = 'спецификация для pfile' FROM SPFILE = 'спецификация для spfile';
Затем исправляют параметры в полученном PFILE.
. . .
Аватара пользователя
SQL*Plus
Сообщения: 208
Зарегистрирован: Ср апр 20, 2022 1:09 pm

Re: Перенос БД на новый сервер

Сообщение SQL*Plus »

oren87 писал(а): Чт июн 15, 2023 12:33 pm Init File Type
--------------------------------
PFILE

Как я понял используется PFILE, а PFILE - это и есть initCID.ora?
PFILE - это тот файл, который вы укажете при старте экземпляра во фразе PFILE или он найдется по приведенному вами алгоритму.
oren87
Сообщения: 5
Зарегистрирован: Ср июн 14, 2023 2:42 pm

Re: Перенос БД на новый сервер

Сообщение oren87 »

Спасибо за разъяснения. На прямую к сожалению с "предыдущим админом" не общаюсь, начальник отдела в администрировании БД Oracle не далеко от меня ушел, поэтому буду осваивать, с Sun серверами разобрался и тут потихоньку разберусь.
Аватара пользователя
SQL*Plus
Сообщения: 208
Зарегистрирован: Ср апр 20, 2022 1:09 pm

Re: Перенос БД на новый сервер

Сообщение SQL*Plus »

Можем предложить техническую поддержку и обслуживание ваших баз данных.
Ответить