Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Oracle > Что значит startup nomount?


Автор: Gunslinger 25.3.2009, 10:29
Привет!
В скрипте создания базы есть код:
Код

connect sys/admin as sysdba
set echo on
spool D:\myScripts\Logs\CreateDB.log
startup nomount pfile="D:\myScripts\InitDB.ora";

Далее идет скрипт создания базы.
startup nomount - открытие инстанта без монтирования файла его инициализирующего. Если дословно. Получается, монтирование автоматически запускает обработку ora файл? Потому что в init-файле лежит путь к базе, а база еще не создана. Нужно сначала создать базу, а затем смонтировать настройки? 
Я правильно понимаю последовательность? Если так, то зачем вообще в начале писать startup nomount? Написать startup после скрипта создания базы.

Автор: Gunslinger 25.3.2009, 16:34
В Сreating an Oracle Database написано:
You can start an instance without mounting a database. Typically, you do so only during database creation. Use the STARTUP command with the NOMOUNT option: 
Значит точно, при указание pfilе'a настройки обрабатываются автоматом, а контрольных файлов-то еще нет.
После создания базы что делать?
1. 
Код
connect sys/admin as sysdba
set echo on
spool D:\myScripts\Logs\CreateDB.log
startup mount pfile="D:\myScripts\InitDB.ora";

2. Затем 
Код

startup open
?
В доке что-то не нашел.

Автор: ToshaCh 5.4.2009, 22:40
Цитата(Gunslinger @  25.3.2009,  10:29 Найти цитируемый пост)
startup nomount - открытие инстанта без монтирования файла его инициализирующего. Если дословно. Получается, монтирование автоматически запускает обработку ora файл? Потому что в init-файле лежит путь к базе, а база еще не создана. Нужно сначала создать базу, а затем смонтировать настройки? Я правильно понимаю последовательность? Если так, то зачем вообще в начале писать startup nomount? Написать startup после скрипта создания базы.


Не совсем верно.  
В инит файле не содержится пути к базе как таковой. Там есть лиш путь к так называемым control files, в которых и содержится вся реальная информация относительно базы. Инит файл это просто набор настроек инстанса и всё на этом.

Последовательность тут такая:
nomount - подгружается инишник: pfile/spfile, запускается инстанс
mount - к инстансу монтируется реальная база данных, используется инфа из control files
open - база открывается, с ней можно взаимодействовать.

Добавлено через 5 минут и 38 секунд
Цитата(Gunslinger @  25.3.2009,  16:34 Найти цитируемый пост)
startup open


Вот такого я никогда не видел, даже не думал что такая команда есть, т.к. чтобы запустить инстанс используется команда startup, если тебе нужно дойти только до определённой стадии (nomount или mount) то используется соответственно startup nomount, startup mount.
Но писать startup open глупо, т.к. эта последняя фаза и команда эквивалентна startup.

К слову сказать для перемещения по стадиям в уже запущенном инстансе используется команда alter database, например:
Код

startup mount;
alter database open;



Автор: Gunslinger 6.4.2009, 18:48
Привет! Думал, уже не ответит никто.
Цитата(ToshaCh @  5.4.2009,  22:40 Найти цитируемый пост)
К слову сказать для перемещения по стадиям в уже запущенном инстансе используется команда alter database

В концепте по 9ке тоже про alter database написано, но я не понял, в чем разница между startup  и alter database open? Если startup - для работы с инстансом, а alter database open - с базой, то непонятно, зачем делать open, если стартап ее монтирует и автоматом открывает?

Автор: ToshaCh 7.4.2009, 12:22
Цитата(Gunslinger @  6.4.2009,  18:48 Найти цитируемый пост)
В концепте по 9ке тоже про alter database написано, но я не понял, в чем разница между startup  и alter database open? Если startup - для работы с инстансом, а alter database open - с базой, то непонятно, зачем делать open, если стартап ее монтирует и автоматом открывает?


alter database open используется когда ты находишся в маунте и хочешь открыть базу. Можно конечно сделать и просто startup, но стартап попытается провести всю процедуру с начала, а так как ты уже в маунте, то он гневно напишет, что дескать база уже монтирована, но всё равно откроет.

Поэксперементируй с командами, там всё понятно.

Автор: Gunslinger 7.4.2009, 16:54
ToshaCh, спасибо. Вопросов по теме нет.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)