Мне нужно запустить несколько файлов сценариев SQL по рецепту шеф-повара.
Когда я выполняю рецепты, используя ресурс batch
, как показано ниже, ничего не происходит.
batch 'cdb_scripts' do
architecture :x86_64
code <<-EOH
C:\\app\\Administrator\\product\\12.2.0\\dbhome_1\\bin\\sqlplus /nolog @C:\\app\\scri\\CreateDB.sql
C:\\app\\Administrator\\product\\12.2.0\\dbhome_1\\bin\\sqlplus /nolog @C:\\app\\scri\\CreateDBFiles.sql
C:\\app\\Administrator\\product\\12.2.0\\dbhome_1\\bin\\sqlplus /nolog @C:\\app\\scri\\CreateDBCatalog.sql
EOH
not_if {File.exists?('C:\scri\cdb')}
end
Каждый скрипт требует значительного времени для запуска, и мне нужно перейти к следующему скрипту только после того, как предыдущий скрипт завершится.
Ничто не было выполнено с вышеуказанным кодом.
Я использовал execute
ресурс, как показано ниже:
execute 'test_script_execute' do
environment ({"ORACLE_SID" => "orclsid"})
command "C:\\app\\Administrator\\product\\12.2.0\\dbhome_1\\bin\\sqlplus.exe -s sys/Password_123@orclsid as sysdba @C:\\app\\scri\\CreateDB.sql"
only_if {some_guard_condition}
timeout 1800
end
Это просто журнал "execute [test_script_execute] успешно запущен".
Но скрипт не запустился.
В диспетчере задач работает sqlplus.exe
. Кажется, висит, а не выполняется.
Может ли кто-нибудь дать мне рабочее предложение запустить несколько файлов SQL в последовательности, не перекрывая друг друга?
Спасибо