Oracle Silent Install

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску

Неинтерактивная установка 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

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

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

  • задать переменную окружения $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)
       )
  1. (SID_DESC =
  2. (SID_NAME = netracora)
  3. )
   )