12:57 четверг 22 августа 2024 г. завершился вебинар
"Инструменты миграции. Ora2PG - когда инструмент не работает и что делать?!"
Здесь вы найдете Запись и материалы вебинара
"Инструменты миграции. Ora2PG - когда инструмент не работает и что делать?!"
Здесь вы найдете Запись и материалы вебинара
Перенос БД на новый сервер
Перенос БД на новый сервер
Всех приветствую. С оракл особо не работал раньше, но на новом месте работы приходится вникать.
Задача развернуть копию базы, сделанной 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 от рабочей БД?
Задача развернуть копию базы, сделанной 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 от рабочей БД?
Re: Перенос БД на новый сервер
ORA-16032: parameter LOG_ARCHIVE_DEST_1 destination string cannot be translated
Указывает на место, куда следует записывать (передавать) файлы архивных журналов (archive logs).
Предполагаю, что это место с данного сервера недоступно.
Исправьте на доступное место.
Указывает на место, куда следует записывать (передавать) файлы архивных журналов (archive logs).
Предполагаю, что это место с данного сервера недоступно.
Исправьте на доступное место.
- Valery Yourinsky
- Сообщения: 81
- Зарегистрирован: Ср май 18, 2022 2:30 pm
Re: Перенос БД на новый сервер
Чтобы быть уверенным, что вы используете нужный файл инициализации (initCID.ora),
укажите его явно параметром PFILE
Например:
startup nomount PFILE=/app/oracle/CID/initCID.ora;
Re: Перенос БД на новый сервер
Вообщем докопаться до истины не удалось, руководство подключило предыдущего админа, он восстановил бэкап с помощью скрипта. При этом spfile вообще удалил.
Re: Перенос БД на новый сервер
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?
FROM sys.v_$parameter WHERE name = 'spfile'; 2
Init File Type
--------------------------------
PFILE
Как я понял используется PFILE, а PFILE - это и есть initCID.ora?
Re: Перенос БД на новый сервер
Сам нашел ответ.
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)
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)
Re: Перенос БД на новый сервер
Решение с применением "предыдущего админа" было правильным.
Надеюсь, что вы переняли у него этот скрипт и постепенно тоже научитесь администрированию Oracle Database.
SPFILE - это Server Parameters File - файл на сервере, в котором хранятся параметры экземпляра (instance) и базы данных.
При запуске без указания фразы PFILE параметры считываются из SPFILE, если он есть и сервер знает, где его искать.
Если в SPFILE что-то нужно изменить, используют команду
CREATE PFILE = 'спецификация для pfile' FROM SPFILE = 'спецификация для spfile';
Затем исправляют параметры в полученном PFILE.
. . .
Re: Перенос БД на новый сервер
Спасибо за разъяснения. На прямую к сожалению с "предыдущим админом" не общаюсь, начальник отдела в администрировании БД Oracle не далеко от меня ушел, поэтому буду осваивать, с Sun серверами разобрался и тут потихоньку разберусь.
Re: Перенос БД на новый сервер
Можем предложить техническую поддержку и обслуживание ваших баз данных.