Установка Oracle 10g на платформу linux по шагам.

Источник: bd-oracle

В данной статье мы познакомим Вас с установкой Oracle 10g на платформу linux. Подробно раскажем обо всех ньюансах и проблемах, связанных с уставкой oracle 10.2 g на платформу Linux. Также данная статья поможет избежать многих ошибок, связанных с установкой Oracle 10g на  linux.  

Для того, чтобы установить Oracle 10g скачайте дистрибутив с официального сайта oracle.com бесплатно. прежде чем скачать  Вас попросят зарегистрироваться, не бойтесь, это не займет много времени. После регистрации Вы получите ссылку для скачивания.  

Файл ship.db.lnx32.cpio.gz размером около 602 Мб должен появиться у Вас. 

Разверните этот архив:  

$ gunzip ship.db.lnx32.cpio.gz

$ cpio -idmv < ship.db.lnx32.cpio

runInstall будет помещен в Disk1/. Теперь нужно немного подговить систему к установке Oracle. 

Создайте скрипт который создает нужные группы и директории.

groupadd oinstall

groupadd dba

mkdir -p /u01/app/oracle

useradd -g oinstall -d /u01/app/oracle -G dba oracle

passwd oracle

chown -R oracle:oinstall /u01/app/oracle

chmod -R 775 /u01/app/oracle

Теперь нужно поменять некоторые настройки ядра Linux, для этого нужно дабавить эти строки в файл /etc/sysctl.conf 

kernel.shmall = 2097152

kernel.shmmax = 2147483648

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 65536

net.ipv4.ip_local_port_range = 1024 65000

И запустить:

# sysctl -p

Мы уже подговились к инсталляции. Если у Вас большие базы, которые требуют надежности и отказоустойчивости, лучше выделите отдельный для файлов базы данных и монтировать в /u02/.

Приступим к установки oracle 10g на linux:

$ su - oracle

Далее необходимо зайти в Disk1/ и запустить:

./runInstall -ignoreSysPrereqs

Ключ -ignoreSysPrereqs задается, чтобы Ваш инсталлятор работал на любом дистрибутиве linux, по умолчанию он поддерживает RedHat, SuSE, UnitedLinux. После включения опции можно будет ставить и на Mandrake, Debian, Gentoo и др. 

Но у этого ключа есть один побочный эффект, необходимо найти и закоментировать пару строчек в root.sh

Чтобы root.sh не вылетал при попытке запуска под Linux, отличным от RedHat и UnitedLinux, нужно найти и закомментировать следующие две строчки:

$LNS $ID/init.cssd $rc/"$RC_START"init.cssd // { $ECHO $?; exit 1; }

$LNS $ID/init.cssd $rc/"$RC_KILL"init.cssd // { $ECHO $?; exit 1; } В зависимости от подверсии 10g они могут находиться как рядом, так и в двух соседних циклах for/done.

Запускаем инсталлятор в режиме X-Window, так как инсталлятор у нас графический. Жмем Next. Затем запустим скрипт от имени root и установим пароли для системных пользователей.

Вот и все. Теперь:

# . <путь к Oracle>/root.sh

В окне инсталлятора нажмем OK. В результате - создались все нужные файлы, Oracle стартовал, а вместе с ним запустились всяческие полезные сервисы. 

Теперь необходимо научиться стартовать oracle вручную, так как после первой перезагрузки Oracle будет недоступен.

Для этого зайдем в файл /etc/oratab, в котором определяются, какие базы будут стартовать автоматически при запуске утилиты dbstart

В последней строке Вы найдете:

orcl:<путь к Oracle>:N

Необходимо поменять N на Y. Это значит, что инстанцию Oracle нужно загружать. Начнем. 

Подготовка:

Пропишем это в .bash_profile, потому что иначе придется устанавливать эти переменные всякий раз при необходимости воспользоваться какими-либо инструментами Oracle. Еще их должен иметь каждый пользователь системы, намеревающийся работать с инструментами или программами, использующими БД.

$ export ORACLE_HOME=<путь к Oracle>

$ export ORACLE_SID=orcl

$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib

$ export PATH=$PATH:$ORACLE_HOME/bin

Непосредственно запуск:

$ dbstart

$ lsnrctl start

Если хотите остановить:

$ dbshut

$ lsnrctl stop

Теперь займемся пользователеями:

В этой версии Oracle пользователь scott заблокирован. При попытке войти под ним скорее всего случится следующее:

$ sqlplus scott/tiger@orcl

ERROR:

ORA-28000: the account is locked

Чтобы разблокировать пользователя Scott, нужно будет познакомиться с командами управления пользователями. Простейший способ пообщаться с Oracle - запустить sqlplus. В sqlplus мы сможем задавать команды и просматривать ответы на команды. 

$ sqlplus system@orcl

Вводим пароль, заданный при установке, и попадаем в командную строку. 

Введем:

alter user scott account unlock;

Создание пользователя выглядит так:

create user osama identified by binladen;

Крутим настройки

У Oracle есть и web-интерфейс, в котором Вы можете управлять Вашей БД, создавать схемы, следить за загрузкой и размерами базы. Называется Oracle Enterprise Manager. Чтобы им воспользоваться, нужно сделать следующее:

$ emctl start dbconsole

После чего нужно зайти на http://имя.машины:5500/em/. Если Oracle установлен локально, то имя будет localhost. Очевидное удобство здесь в том, что с помощью того же менеджера можно рулить сервером, установленным где угодно, с той же простотой, то есть кликая мышкой и глядя на красивый GUI.

Умения и таланты Oracle поистине неисчерпаемы. С большинством из них Вы столкнетесь тогда, когда начнете изучать диалект SQL, на котором разговаривает эта СУБД. Имя ему - PL/SQL. Если Вы думаее, что на нем можно только писать запросы, то глубоко ошибаетесь. В отличие от стандартного SQL, его Oracle"овый диалект - настоящий язык программирования, на котором можно писать встроенные процедуры, триггеры - обработчики, определяющие поведение базы в различных ситуациях, и многое другое. 

Также PL/SQL - это способ доступа к уникальным функциям, отличающим Oracle от других СУБД. Дело в том, что в основу сервера баз данных положено несметное количество алгоритмов и подходов, главная цель которых сводится к обеспечению надежности и целостности данных. Для всех изменений, происходящих в базе, ведется лог, из которого можно полностью восстановить картину происходивших изменений. Благодаря такому подходу можно делать такие вещи, как, например, flashback, которая позволяет вычитывать записи из "снимка" таблицы, какой она была раньше, в определенный момент времени:

select * from table_name as of timestamp to_timestamp('дата/время', 'формат');

С помощью той же функции можно восстановить ранее прибитую командой drop таблицу со всем имевшимся на тот момент содержимым:

flashback table <удаленная.таблица> to before drop;

Оптимизатор запросов Oracle тоже очень мощный. Принцип его действия называется cost-based (стоимостный). На основе статистики, которая собирается по таблицам и индексам, он сам строит оптимальный план выполнения запроса и решает, подключать или не подключать при этом индексы.

Также Oracle изначально приспособлен для работы в кластере. Это значит, что сервер можно "распределить" по нескольким компьютерам и не бояться того, что один из них случайно упадет, как в прямом, так и в переносном смысле.


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=17461