Цель: установить и настроить Oracle 11g под RHEL 5 (OEL) x64, создать пользователя, подключиться к экземпляру с windows-машины и создать тестовую таблицу emp.
Этап 2. Установка
- кастомизируем файл ответов для установки в тихом режиме /home/oracle/ora_inst/database/response/db_install.rsp
Этап 3. Конфигурирование
- vi /u01/app/oracle/product/11.1.0/inst01/network/admin/listener.ora
Этап 4. Запуск
- запускаем listener
Подключение к экземпляру с клиента под windows
Вообще, здесь мало что есть описывать. Достаточно знать IP сервера БД, который можем получить командой ifconfig
Проверка статуса. После выполнения startup из-под SYSDBA желательно убедиться с том, что база смонтирована на экземпляр и открыта:
Итак, у нас имеется два zip с дистрибутивом СУБД и свежеустановленная OEL 5.
Этап 1. Пре-конфигурирование
- значения констант в файле /etc/sysctl.conf должны быть не нижe следующих (каждое значение можно вручную задать с помощью sysctl -w):
kernel.shmall = physical RAM size / pagesize (2097152). kernel.shmmax = 1/2 of physical RAM. (2147483648) kernel.sem = 250 32000 100 128 fs.file-max = 512 x processes (for example 6815744 for 13312 processes) fs.aio-max-nr = 1048576 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576- устанавливаем необходимые пакеты. Из не нужно нигде искать:), достаточно закачать из публичного репозитария и установить
cd /etc/yum.repos.d wget http://public-yum.oracle.com/public-yum-el5.repo yum update
yum install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make numactl-devel sysstat unixODBC unixODBC-devel- создаем структуру каталогов
//применяем сделанные изменения sysctl -p //создаем группу пользователей oracle groupadd ora //создаем пользователя oracle useradd -d /home/oracle -g users -G ora -s /bin/bash oracle //создаем ORACLE_HOME mkdir -p /u01/app/oracle/product/11.1.0/inst01 //создаем INVENTORY_LOCATION mkdir -p /u01/app/oraInventory- создаем записи о лимитах для пользователя oracle в /etc/security/limits.conf
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240- делаем считывание лимитов обязательным при возникновении сессии в /etc/pam.d/login
session required pam_limits.so- /etc/profile: задаем переменные окружения для нашего экземпляра
if [ $USER = "oracle" ]; then ORACLE_BASE=/u01/app/oracle ORACLE_SID=ORA1 ORACLE_HOME=/u01/app/oracle/product/11.1.0/inst01 # переменная для быстрого доступа к файлам *.ora ORACLE_NET=$ORACLE_HOME/network/admin export ORACLE_BASE ORACLE_SID ORACLE_HOME ORACLE_NET fi
Этап 2. Установка
- кастомизируем файл ответов для установки в тихом режиме /home/oracle/ora_inst/database/response/db_install.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0 oracle.install.option=INSTALL_DB_SWONLY ORACLE_HOSTNAME=localhost.localdomain UNIX_GROUP_NAME=ora INVENTORY_LOCATION=/u01/app/oraInventory SELECTED_LANGUAGES=en ORACLE_HOME=/u01/app/oracle/product/11.1.0/inst01 ORACLE_BASE=/u01/app/oracle oracle.install.db.InstallEdition=EE oracle.install.db.isCustomInstall=false oracle.install.db.OPER_GROUP=ora oracle.install.db.DBA_GROUP=ora oracle.install.db.CLUSTER_NODES= oracle.install.db.config.starterdb.type=GENERAL_PURPOSE oracle.install.db.config.starterdb.globalDBName=ORA1 oracle.install.db.config.starterdb.SID=ORA1 oracle.install.db.config.starterdb.characterSet=AL32UTF8 oracle.install.db.config.starterdb.memoryOption=true oracle.install.db.config.starterdb.memoryLimit=1024 oracle.install.db.config.starterdb.installExampleSchemas=false oracle.install.db.config.starterdb.enableSecuritySettings=true //all passwords is “1” oracle.install.db.config.starterdb.password.ALL=1 oracle.install.db.config.starterdb.control=DB_CONTROL oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL= oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=false oracle.install.db.config.starterdb.automatedBackup.enable=false oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/u01/app/oracle/product/11.1.0/inst01/data oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/u01/app/oracle/product/11.1.0/inst01/backup DECLINE_SECURITY_UPDATES=true- ставим
runInstaller -silent -responseFile /home/oracle/ora_inst/database/response/db_install.rsp -ignorePrereq -force use_prereq_checker=false
Этап 3. Конфигурирование
- vi /u01/app/oracle/product/11.1.0/inst01/network/admin/listener.ora
LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) (ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521)) ) )- vi /u01/app/oracle/product/11.1.0/inst01/network/admin/tnsnames.ora
ORA1 = (DESCRIPTION= (ADDRESS_LIST= (ADDRESS= (PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1521) ) ) (CONNECT_DATA= (SID=ORA1) ) )- vi /u01/app/oracle/product/11.1.0/inst01/dbs/initORA1.ora (настраивается также мастером dbca)
db_name='ORA1' processes = 150 audit_file_dest=$ORACLE_BASE audit_trail ='db' db_block_size=8192 db_domain='' db_recovery_file_dest=$ORACLE_BASE db_recovery_file_dest_size=2G diagnostic_dest=$ORACLE_BASE dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)' open_cursors=300 remote_login_passwordfile='EXCLUSIVE' undo_tablespace='UNDOTBS1' # You may want to ensure that control files are created on separate physical # devices control_files= ($ORACLE_HOME/ora_control1.ctl, $ORACLE_HOME/ora_control2.ctl)compatible ='11.2.0'- запуск Database Configuration Assistant (./dbca)
- запускаем listener
[oracle@localhost bin]$ cd $ORACLE_HOME/bin [oracle@localhost bin]$ ./lsnrctl start LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 04-JAN-2013 18:31:50 Copyright (c) 1991, 2009, Oracle. All rights reserved. Starting /u01/app/oracle/product/11.1.0/inst01/bin/tnslsnr: please wait... TNSLSNR for Linux: Version 11.2.0.1.0 - Production System parameter file is /u01/app/oracle/product/11.1.0/inst01/network/admin/listener.ora Log messages written to /u01/app/oracle/diag/tnslsnr/localhost/listener/alert/log.xml Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1521))) Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production Start Date 04-JAN-2013 18:31:51 Uptime 0 days 0 hr. 0 min. 0 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /u01/app/oracle/product/11.1.0/inst01/network/admin/listener.ora Listener Log File /u01/app/oracle/diag/tnslsnr/localhost/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1521))) The listener supports no services The command completed successfully- запускаем БД
[oracle@localhost bin]$ ./sqlplus / as sysdba SQL*Plus: Release 11.2.0.1.0 Production on Sat Jan 5 14:30:54 2013 Copyright (c) 1982, 2009, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> startup ORACLE instance started. Total System Global Area 626327552 bytes Fixed Size 2215944 bytes Variable Size 377491448 bytes Database Buffers 239075328 bytes Redo Buffers 7544832 bytes Database mounted. Database opened.Отлично, экземпляр работает. Создадим пользователя ALEX, выдадим ему права на соединение, создание сессии, создание таблиц, а также безлимитную квоту на табличное пространство USERS. Переходим к настройке клиента по windows.
Подключение к экземпляру с клиента под windows
Вообще, здесь мало что есть описывать. Достаточно знать IP сервера БД, который можем получить командой ifconfig
[root@localhost ~]# ifconfig eth0 Link encap:Ethernet HWaddr 08:00:27:22:DA:07 inet addr:192.168.100.6 Bcast:192.168.100.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:3281 errors:0 dropped:0 overruns:0 frame:0 TX packets:3053 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1797229 (1.7 MiB) TX bytes:713607 (696.8 KiB)Теперь осталось прописать в локальном %ORACLE_HOME%\bin\network\admin\tnsnames.ora
ORA1 = (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.100.6)(PORT=1521)) (CONNECT_DATA= (SID=ORA1) ) )Наша задача выполнена:
Грабли
Проброс соединения между основной и гостевой машинами (Virtusl Box) Достаточно настроить создаваемый программой виртуальный сетевой адаптер на любой IP из подсети хозяйской ОС. В настройках гостевой ОС создать единственное подключение типа Bridge, в котором в качестве устройства выбрать виртуальный сетевой адаптер. Не нужно создавать в системе никаких мостов, потому как виртуальное сетевой устройство Virtual Box по сути уже является мостом. В противном случае возникнет кольцо, и система автоматически его устранит.
Проблема с доступом к библиотеке *.so при развертывании БД.
# vi /etc/selinux/config
SELINUX=permissive
Проблема с кодировкой сообщений ORA => установить переменную среды NLS_LANG=AMERICAN_AMERICA.UTF8
Проблема с доступом к библиотеке *.so при развертывании БД.
# vi /etc/selinux/config
SELINUX=permissive
Проблема с кодировкой сообщений ORA => установить переменную среды NLS_LANG=AMERICAN_AMERICA.UTF8
Смотрим внимательно в файл $ORACLE_NET/sqlnet.ora. Там должно быть
SQLNET.AUTHENTICATION_SERVICES=(ALL) NAMES.DIRECTORY_PATH=(TNSNAMES,ONAMES,HOSTNAME)Именно ALL, поскольку с NONE или NLS у нас не хватит прав, чтобы войти даже под SYSDBA
Проверка статуса. После выполнения startup из-под SYSDBA желательно убедиться с том, что база смонтирована на экземпляр и открыта:
select status from v$instansceРезультат должен быть именно OPEN. Если результат MOUNTED или STARTED, то необходимо сконфигурировать базу с помощью $ORACLE_HOME/bin/dbca
Комментариев нет :
Отправить комментарий