Oracle Silent Install: различия между версиями

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску
 
(не показано 17 промежуточных версий этого же участника)
Строка 1: Строка 1:
  +
[[Категория:Oracle]]
=Неинтерактивная установка Oracle на Gentoo=
 
  +
[[Категория:CentOS]]
Задача: установить Оракл 11 на Gentoo. Почему Gentoo? Единственная доступная машина с достаточным кол-вом памяти уже работает под этой ОС.
 
  +
=Неинтерактивная установка Oracle на CentOS=
  +
Задача: установить Оракл 11.
 
<BR>
 
<BR>
  +
==Pre-install==
Ставить буду руками, не из пакета что бы отследить все шаги.
 
  +
Параметры sysctl:
  +
<PRE>
  +
kernel.shmall = 2097152000
  +
kernel.shmmax = 2147483648
  +
kernel.shmmni = 4096
  +
kernel.sem = 250 32000 100 128
  +
fs.file-max = 65536
  +
net.ipv4.ip_local_port_range = 1024 65000
  +
</PRE>
  +
Кроме того создаю пользователя oracle и группу dba
 
==Установка==
 
==Установка==
 
===Скачать архив===
 
===Скачать архив===
Строка 40: Строка 52:
 
COMPONENT_LANGUAGES={"en"}
 
COMPONENT_LANGUAGES={"en"}
 
</PRE>
 
</PRE>
  +
Обратить внимание - все пути указывать абсолютные.
  +
 
===Установка===
 
===Установка===
 
Запускаю установку:
 
Запускаю установку:
Строка 47: Строка 61:
 
Установка завершается без ошибок.
 
Установка завершается без ошибок.
   
  +
После установки не забыть выполнить от root скрипты (пути к ним указаны в логе)
  +
  +
===что подправить после установки===
  +
* задать переменную окружения $ORACLE_SID
  +
* задать переменную окружения $ORACLE_HOME
  +
* создать файл $ORACLE_HOME/db_1/dbs/ini${ORACLE_SID}.ora (там же есть пример, я просто его скопировал)
  +
* при попытке сделать startup получил ошибку
  +
<PRE>
  +
ORA-00371: not enough shared pool memory, should be at least 62198988 bytes
  +
</PRE>
  +
Править $ORACLE_HOME/db_1/dbs/ini${ORACLE_SID}.ora - shared_pool_size
   
 
===Создание инстанса базы данных===
 
===Создание инстанса базы данных===
Строка 57: Строка 82:
 
</PRE>
 
</PRE>
 
CONTROLFILE REUSE - не уверен что нужно. У меня база не создалась с первого раза, потому добавил эту опцию.
 
CONTROLFILE REUSE - не уверен что нужно. У меня база не создалась с первого раза, потому добавил эту опцию.
  +
 
<PRE>
 
<PRE>
 
CREATE DATABASE netrac
 
CREATE DATABASE netrac
CONTROLFILE REUSE
+
CONTROLFILE REUSE
  +
USER SYS IDENTIFIED BY stargate
LOGFILE
 
  +
USER SYSTEM IDENTIFIED BY stargate
GROUP 1 ('/home/oracle/oradata/netrac/redo01.log') SIZE 100M,
 
GROUP 2 ('/home/oracle/oradata/netrac/redo02.log') SIZE 100M,
+
LOGFILE GROUP 1 ('/home/oracle/oradata/netrac/redo01.log') SIZE 100M,
GROUP 3 ('/home/oracle/oradata/netrac/redo03.log') SIZE 100M
+
GROUP 2 ('/home/oracle/oradata/netrac/redo02.log') SIZE 100M,
  +
GROUP 3 ('/home/oracle/oradata/netrac/redo03.log') SIZE 100M
MAXLOGFILES 5
 
  +
MAXLOGFILES 5
MAXLOGHISTORY 100
 
  +
MAXLOGMEMBERS 5
MAXDATAFILES 10
 
  +
MAXLOGHISTORY 1
MAXINSTANCES 2
 
  +
MAXDATAFILES 100
ARCHIVELOG
 
  +
MAXINSTANCES 1
CHARACTER SET AL32UTF8
 
NATIONAL CHARACTER SET AL16UTF16
+
CHARACTER SET US7ASCII
  +
NATIONAL CHARACTER SET AL16UTF16
DATAFILE '/home/oracle/oradata/netrac/system01.dbf' SIZE 325M REUSE
 
  +
DATAFILE '/home/oracle/oradata/netrac/system01.dbf' SIZE 325M REUSE
EXTENT MANAGEMENT LOCAL
 
  +
EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE '/home/oracle/oradata/netrac/sysaux01.dbf' SIZE 325M REUSE
 
  +
SYSAUX DATAFILE '/home/oracle/oradata/netrac/sysaux01.dbf' SIZE 325M REUSE
DEFAULT TEMPORARY TABLESPACE temp_ts
 
UNDO TABLESPACE undo_ts
+
DEFAULT TABLESPACE tbs_1
  +
DATAFILE '/home/oracle/oradata/netrac/tbs_1'
SET TIME_ZONE = '+02:00';
 
  +
SIZE 1024M
  +
DEFAULT TEMPORARY TABLESPACE tempts1
  +
TEMPFILE '/home/oracle/oradata/netrac/temp01.dbf'
  +
SIZE 20M REUSE
  +
UNDO TABLESPACE undotbs
  +
DATAFILE '/home/oracle/oradata/netrac/undotbs01.dbf'
  +
SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
 
</PRE>
 
</PRE>
  +
  +
 
<PRE>
 
<PRE>
 
Database created.
 
Database created.
  +
</PRE>
  +
  +
Затем (из sqlplus)
  +
<PRE>
  +
@/home/oracle/app/oracle/product/11.1.0/db_1/rdbms/admin/catalog.sql
  +
@/home/oracle/app/oracle/product/11.1.0/db_1/rdbms/admin/catproc.sql
  +
</PRE>
  +
Результат:
  +
<PRE>
  +
1 row created.
  +
Commit complete.
  +
PL/SQL procedure successfully completed.
  +
TIMESTAMP
  +
--------------------------------------------------------------------------------
  +
COMP_TIMESTAMP CATALOG 2011-07-21 23:28:46
  +
</PRE>
  +
==Конфигурационные файлы==
  +
===listener.ora===
  +
Закомментирована секция относящаяся ко второму инстансу.
  +
<PRE>
  +
LISTENER =
  +
(DESCRIPTION_LIST =
  +
(DESCRIPTION =
  +
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1522))
  +
(ADDRESS = (PROTOCOL = TCP)(HOST = centos-ora)(PORT = 1522))
  +
)
  +
)
  +
  +
SID_LIST_LISTENER =
  +
(SID_LIST =
  +
(SID_DESC =
  +
(SID_NAME = netrac)
  +
)
  +
# (SID_DESC =
  +
# (SID_NAME = netracora)
  +
# )
  +
)
  +
</PRE>
  +
===tnsnames.ora ===
  +
<PRE>
  +
netrac =
  +
(DESCRIPTION =
  +
(ADDRESS_LIST =
  +
(ADDRESS = (PROTOCOL = TCP)(HOST = centos-ora )(PORT = 1522))
  +
)
  +
(CONNECT_DATA =
  +
(SERVER = DEDICATED)
  +
(SERVICE_NAME = netrac)
  +
)
  +
)
 
</PRE>
 
</PRE>

Текущая версия на 15:53, 28 сентября 2012

Неинтерактивная установка Oracle на CentOS

Задача: установить Оракл 11.

Pre-install

Параметры sysctl:

kernel.shmall = 2097152000
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000

Кроме того создаю пользователя oracle и группу dba

Установка

Скачать архив

Скачиваю отсюда: http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html файл (в моем случае) linux.x64_11gR1_database_1013.zip, распаковываю, получаю папку /database

Подготовить responseFile

Я использовал следующий response file, слегка подправив пример из дистрибутива:

RESPONSEFILE_VERSION=2.2.1.0.0
UNIX_GROUP_NAME=dba
FROM_LOCATION="/home/oracle/install/database/stage/products.xml"
NEXT_SESSION_RESPONSE=false
ORACLE_BASE="/home/oracle/app/oracle"
ORACLE_HOME="/home/oracle/app/oracle/product/11.1.0/db_1"
ORACLE_HOME_NAME=OraDbHome11
TOPLEVEL_COMPONENT={"oracle.server","11.1.0.6.0"}
DEINSTALL_LIST={"oracle.server","11.1.0.6.0"}
SHOW_SPLASH_SCREEN=false
SHOW_WELCOME_PAGE=false
SHOW_NODE_SELECTION_PAGE=false
SHOW_SUMMARY_PAGE=false
SHOW_INSTALL_PROGRESS_PAGE=false
SHOW_CONFIG_TOOL_PAGE=false
SHOW_XML_PREREQ_PAGE=false
SHOW_ROOTSH_CONFIRMATION=true
SHOW_END_SESSION_PAGE=false
SHOW_EXIT_CONFIRMATION=false
NEXT_SESSION=false
NEXT_SESSION_ON_FAIL=false
SHOW_DEINSTALL_CONFIRMATION=false
SHOW_DEINSTALL_PROGRESS=false
RESTART_SYSTEM=<Value Unspecified>
RESTART_REMOTE_SYSTEM=<Value Unspecified>
REMOVE_HOMES=<Value Unspecified>
ORACLE_HOSTNAME=<Value Unspecified>
SHOW_END_OF_INSTALL_MSGS=false
CLUSTER_NODES=<Value Unspecified>
COMPONENT_LANGUAGES={"en"}

Обратить внимание - все пути указывать абсолютные.

Установка

Запускаю установку:

./runInstaller -silent -responsefile /home/oracle/install/database/oracle_install.rsp

Установка завершается без ошибок.

После установки не забыть выполнить от root скрипты (пути к ним указаны в логе)

что подправить после установки

  • задать переменную окружения $ORACLE_SID
  • задать переменную окружения $ORACLE_HOME
  • создать файл $ORACLE_HOME/db_1/dbs/ini${ORACLE_SID}.ora (там же есть пример, я просто его скопировал)
  • при попытке сделать startup получил ошибку
ORA-00371: not enough shared pool memory, should be at least 62198988 bytes

Править $ORACLE_HOME/db_1/dbs/ini${ORACLE_SID}.ora - shared_pool_size

Создание инстанса базы данных

Кое-что написано тут: http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/create.htm#

sqlplus / as SYSDBA
STARTUP NOMOUNT

CONTROLFILE REUSE - не уверен что нужно. У меня база не создалась с первого раза, потому добавил эту опцию.

CREATE DATABASE netrac
   CONTROLFILE REUSE 
   USER SYS IDENTIFIED BY stargate
   USER SYSTEM IDENTIFIED BY stargate
   LOGFILE GROUP 1 ('/home/oracle/oradata/netrac/redo01.log') SIZE 100M,
           GROUP 2 ('/home/oracle/oradata/netrac/redo02.log') SIZE 100M,
           GROUP 3 ('/home/oracle/oradata/netrac/redo03.log') SIZE 100M
   MAXLOGFILES 5
   MAXLOGMEMBERS 5
   MAXLOGHISTORY 1
   MAXDATAFILES 100
   MAXINSTANCES 1
   CHARACTER SET US7ASCII
   NATIONAL CHARACTER SET AL16UTF16
   DATAFILE '/home/oracle/oradata/netrac/system01.dbf' SIZE 325M REUSE
   EXTENT MANAGEMENT LOCAL
   SYSAUX DATAFILE '/home/oracle/oradata/netrac/sysaux01.dbf' SIZE 325M REUSE
   DEFAULT TABLESPACE tbs_1 
      DATAFILE '/home/oracle/oradata/netrac/tbs_1' 
       SIZE 1024M
   DEFAULT TEMPORARY TABLESPACE tempts1
      TEMPFILE '/home/oracle/oradata/netrac/temp01.dbf' 
      SIZE 20M REUSE
   UNDO TABLESPACE undotbs 
      DATAFILE '/home/oracle/oradata/netrac/undotbs01.dbf'
      SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;


Database created.

Затем (из sqlplus)

@/home/oracle/app/oracle/product/11.1.0/db_1/rdbms/admin/catalog.sql
@/home/oracle/app/oracle/product/11.1.0/db_1/rdbms/admin/catproc.sql

Результат:

1 row created.
Commit complete.
PL/SQL procedure successfully completed.
TIMESTAMP
--------------------------------------------------------------------------------
COMP_TIMESTAMP CATALOG    2011-07-21 23:28:46

Конфигурационные файлы

listener.ora

Закомментирована секция относящаяся ко второму инстансу.

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1522))
      (ADDRESS = (PROTOCOL = TCP)(HOST = centos-ora)(PORT = 1522))
    )
  )

SID_LIST_LISTENER =
    (SID_LIST =
        (SID_DESC =
            (SID_NAME = netrac)
        )
#       (SID_DESC =
#           (SID_NAME = netracora)
#        )
    )

tnsnames.ora

netrac =
    (DESCRIPTION =
        (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = TCP)(HOST = centos-ora )(PORT = 1522))
            )
            (CONNECT_DATA =
                (SERVER = DEDICATED)
                (SERVICE_NAME = netrac)
            )
    )