Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Oracle > Установка Oracle 10.2


Автор: Kangaroo 6.4.2009, 11:41
Всем привет!

Для установки сложного приложения мне нужно выполнить такой батник (Если я правильно понял - он создает базу "CPatch" в Оракле)
Код

mkdir C:\oracle\product\10.2.0\admin\cpatch\adump
mkdir C:\oracle\product\10.2.0\admin\cpatch\bdump
mkdir C:\oracle\product\10.2.0\admin\cpatch\cdump
mkdir C:\oracle\product\10.2.0\admin\cpatch\dpdump
mkdir C:\oracle\product\10.2.0\admin\cpatch\pfile
mkdir C:\oracle\product\10.2.0\admin\cpatch\udump
mkdir C:\oracle\product\10.2.0\db_1\cfgtoollogs\dbca\cpatch
mkdir C:\oracle\product\10.2.0\db_1\database
mkdir C:\oracle\product\10.2.0\oradata\cpatch
mkdir C:\OraInst\DBFiles\cpatch
set ORACLE_SID=cpatch
C:\oracle\product\10.2.0\db_1\bin\oradim.exe -new -sid CPATCH -startmode manual -spfile 
C:\oracle\product\10.2.0\db_1\bin\oradim.exe -edit -sid CPATCH -startmode auto -srvcstart system 
C:\oracle\product\10.2.0\db_1\bin\sqlplus /nolog @C:\oracle\product\10.2.0\admin\cpatch\scripts\cpatch.sql


Проблема в том, что при установке Оракла получается только такая структура:

---10.2.0
------db_1
---------admin
---------oradata
---------....

или (если  изменить дом. папку Оракла):

---10.2.0
-----admin
-----oradata
-----.... (без db_1)


Вопросы:
1. Как сделать установку с нужной иерархией?
2. Если я запущу с текущей установкой - база добавится?


Автор: ToshaCh 6.4.2009, 12:11
C:\oracle\product\10.2.0\admin\cpatch\scripts\cpatch.sql в студию! - именно он создаёт базу, по всей видимости.

Автор: Kangaroo 6.4.2009, 12:21
Цитата(ToshaCh @  6.4.2009,  12:11 Найти цитируемый пост)
C:\oracle\product\10.2.0\admin\cpatch\scripts\cpatch.sql в студию! - именно он создаёт базу, по всей видимости. 

Там не все так просто - он вызывает еще несколько скл скриптов.
cpatch.sql
Код

set verify off
PROMPT specify a password for sys as parameter 1;
DEFINE sysPassword = &1
PROMPT specify a password for system as parameter 2;
DEFINE systemPassword = &2
host C:\oracle\product\10.2.0\db_1\bin\orapwd.exe file=C:\oracle\product\10.2.0\db_1\database\PWDcpatch.ora password=&&sysPassword force=y
@C:\oracle\product\10.2.0\admin\cpatch\scripts\CreateDB.sql
@C:\oracle\product\10.2.0\admin\cpatch\scripts\CreateDBFiles.sql
@C:\oracle\product\10.2.0\admin\cpatch\scripts\CreateDBCatalog.sql
@C:\oracle\product\10.2.0\admin\cpatch\scripts\JServer.sql
@C:\oracle\product\10.2.0\admin\cpatch\scripts\xdb_protocol.sql
@C:\oracle\product\10.2.0\admin\cpatch\scripts\ordinst.sql
@C:\oracle\product\10.2.0\admin\cpatch\scripts\interMedia.sql
@C:\oracle\product\10.2.0\admin\cpatch\scripts\postDBCreation.sql


И, для примера, первый скрипт - CreateDB.sql
Код

connect "SYS"/"&&sysPassword" as SYSDBA
set echo on
spool C:\oracle\product\10.2.0\admin\cpatch\scripts\CreateDB.log
startup nomount pfile="C:\oracle\product\10.2.0\admin\cpatch\scripts\init.ora";
CREATE DATABASE "cpatch"
MAXINSTANCES 8
MAXLOGHISTORY 1
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
DATAFILE 'C:\OraInst\DBFiles\cpatch\system01.dbf' SIZE 300M REUSE AUTOEXTEND ON NEXT  10240K MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE 'C:\OraInst\DBFiles\cpatch\sysaux01.dbf' SIZE 120M REUSE AUTOEXTEND ON NEXT  10240K MAXSIZE UNLIMITED
SMALLFILE DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE 'C:\OraInst\DBFiles\cpatch\temp01.dbf' SIZE 20M REUSE AUTOEXTEND ON NEXT  640K MAXSIZE UNLIMITED
SMALLFILE UNDO TABLESPACE "UNDOTBS1" DATAFILE 'C:\OraInst\DBFiles\cpatch\undotbs01.dbf' SIZE 200M REUSE AUTOEXTEND ON NEXT  5120K MAXSIZE UNLIMITED
CHARACTER SET UTF8
NATIONAL CHARACTER SET AL16UTF16
LOGFILE GROUP 1 ('C:\OraInst\DBFiles\cpatch\redo01.log') SIZE 51200K,
GROUP 2 ('C:\OraInst\DBFiles\cpatch\redo02.log') SIZE 51200K,
GROUP 3 ('C:\OraInst\DBFiles\cpatch\redo03.log') SIZE 51200K
USER SYS IDENTIFIED BY "&&sysPassword" USER SYSTEM IDENTIFIED BY "&&systemPassword";
spool off


Автор: ToshaCh 6.4.2009, 13:14
Ну дык вот эти файлы и надо править! Датафайлы кладутся вот сюда C:\OraInst\DBFiles\cpatch\
Куда будут положены разные логи и трейсы смотри C:\oracle\product\10.2.0\admin\cpatch\scripts\init.ora 
Короче дебажить здесь мама негорюй, поскольку никаких переменных в скрипте не введено

Собственно скрипт который создаёт базу это CreateDB.sql, команда CREATE DATABASE "cpatch".

Подозреваю что файлы
 @C:\oracle\product\10.2.0\admin\cpatch\scripts\CreateDBFiles.sql
@C:\oracle\product\10.2.0\admin\cpatch\scripts\CreateDBCatalog.sql
создадут ещё кучу тейблспейсов.

Автор: Kangaroo 6.4.2009, 13:22
ToshaCh, спасибо за помощь, но все-таки вопросы такие:
Цитата

Вопросы:
1. Как сделать установку с нужной иерархией?
или
2. Если я запущу с текущей установкой - база добавится?


Или ты предлагаешь редактировать все скрипты под иерархию установки?

Автор: ToshaCh 6.4.2009, 13:26
Если ты запустишь скрипты, то они реально сделают базу, но насколько тебя устроит иерархия я не знаю. 

К сожалению скрипты написаны так, что чтобы изменить эту самую иерархию нужно пройтись по всем скриптам.

Автор: Kangaroo 6.4.2009, 19:51
Цитата(ToshaCh @  6.4.2009,  13:26 Найти цитируемый пост)
Если ты запустишь скрипты, то они реально сделают базу 

Да, вроде все создалось нормально. 


Цитата(ToshaCh @  6.4.2009,  13:26 Найти цитируемый пост)
но насколько тебя устроит иерархия я не знаю

Я сам не знаю smile

Тему закрываю. ToshaCh, спасибо.

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