Установка Oracle 8.1.7 на Red Hat Linux 7.2

 

Установка Oracle 8.1.7 на Red Hat Linux 7.2. 1

Источники информации: 2

Установка Red Hat Linux 7.2. 2

Команды, которые могут потребоваться: 2

Установка Oracle 8.1.7. 3

Для установки потребуются следующие файлы: 3

Установка. 4

1. Ставлю пакеты  (*1) 4

2. Ставлю яву (*2) 4

3. Пользователь Oracle, папки и переменные окружения (*3) 4

4. Пароль Oracle (*4) 4

5. Патч glibc (*5) 4

6. Перезагружаюсь под Oracle. 5

7. Запускаю инсталятор (6) 5

8. Переключаюсь в другое окно под root 5

9. Тип установки. 5

10. Языки продукта выбирать не надо. 5

11. Место размещения для явы.. 5

12. Создать БД.. 5

13. Под root правим 102 и 156 строки файла. 6

14. Под root запускаем исправленный root.sh. 6

15. В инсталлере нажимаем Ok. 6

16. Прерываем выполнение netassist 6

17.  Патч glibc stubs. 6

18. Возвращаемся к инсталлеру и заново запускаем netassist 7

19. Разкоментируем в профиле настройки. 7

20. Перезагружаемся. 7

21. Создание БД.. 7

22. Для автозапуска Oracle. 8

23. Для нормального отображения русских букв на клиенте ставим патч. 8

Пароли по умолчанию: 8

Копирование существующей базы с машины БД1 на БД2. 9


Источники информации:

http://daemonnews.opennet.ru/docs/RUS/inst_oracle/index.html

http://www.sql.ru/forum/actualtopics.aspx?bid=3

 

Установка Red Hat Linux 7.2

 

  1. Язык установки – Russian
  2. Раскладка клавиатуры – American
  3. Тип установки – Сервер
  4. Авторазбивка диска
  5. Ручками переделываем для WD 80Гб:

 

/dev/had

 

 

 

/dev/hda1        

47

ext3

/boot

/dev/hda2

18505

ext3

/home/dbf

/dev/hda3        

18552

ext3

/home

/dev/hda4        

20113

Расширенный

 

/dev/hda5        

13837

ext3

/

/dev/hda6        

4997

ext3

/usr

/dev/hda7        

1020

swap

 

/dev/hda8        

259

ext3

/var

 

  1. В качестве загрузчика – LILO
  2. Снимаем галочку “Использовать DHCP
  3. Настраиваем ручками сеть
  4. Безопасность  - без брандмауэра
  5.  Языки: English, Russian – основной язык
  6.  Группа пакетов:  Gnome, KDE

Команды, которые могут потребоваться:

ps ax | more                 посмотреть список процессов (ps -A)

kill –9 NN                   убить процесс по номеру NN

dfm                           количество свободного места в мегабайтах

su                                зайти под другим юзером

top                               объем памяти и процессы в ней

tar xvf имя_архива –C куда_распаковать                 распаковать архив

tar rvf имя_архива вайлы_для_упаковки                      создать архив


Установка Oracle 8.1.7

Для установки потребуются следующие файлы:

1) дополнительные пакеты

compat-glibc-6.2-2.1.3.2
compat-egcs-c++-6.2-1.1.2.16
compat-libs-6.2-3

 

2) Java машина

jdk118_v3 (с любой другой может не работать)

 

3)

Файл с переменными окружения:

.bash_profile                           

 

Набор командных файлов:

*1

*2

*3

*4

*5

6

8_befo_root_sh

9_oratab

 

Автозапуск, автостоп Oracle:

*Oracle_Avto_Start_Stop

oracle

oratab

*orainit

 

files.tar

 

4)Патчи

i386-glibc-2.1-linux.tar

glibc-2.1.3-stubs.tar

fixmsg.tgz

 

Файл *start создает папку install (из которой все устанавливается) и распаковывает в нее все архивы.


Установка

1. Ставлю пакеты  (*1)

rpm -i compat-glibc-6.2-2.1.3.2.i386.rpm

rpm -i compat-egcs-6.2-1.1.2.16.i386.rpm

rpm -i compat-libs-6.2-3.i386.rpm

 

2. Ставлю яву (*2)

cd /tmp
tar xvzf jdk118_v3-glibc-2.1.3.tar.gz
mv jdk118_v3 /usr/local
cd /usr/local
ln -s jdk118_v3 java

 

3. Пользователь Oracle, папки и переменные окружения (*3)

groupadd dba

groupadd oinstall

useradd oracle -g oinstall -G dba

 

cp .bash_profile /home/oracle/.bash_profile

chown -R oracle:dba /home/oracle

 

mkdir /home/dbf/app

mkdir /home/dbf/app/oracle

mkdir /home/dbf/app/oracle/product

mkdir /home/dbf/app/oracle/product/8.1.7

chown -R oracle:dba /home/dbf

4. Пароль Oracle (*4)

passwd oracle

5. Патч glibc (*5)

Патч необходим для установки Oracle. Он заменяет оригинальные glibc,

сохранив их в папке saved.

 

tar xvf i386-glibc*.tar -C /

cd /usr/bin

mkdir saved

mv gcc cc ld saved

cd /usr/bin

ln -s /usr/i386-glibc-2.1-linux/bin/i386-glibc21-linux-gcc gcc

ln -s gcc cc

ln -s /usr/i386-glibc-2.1-linux/bin/i386-glibc21-linux-ld ld

cd /usr/lib

mkdir saved

mv libc.so libdl.so libm.so libpthread.so saved

mv libc.a libdl.a libm.a libpthread.a saved

6. Перезагружаюсь под Oracle

7. Запускаю инсталятор (6)

./runInstaller

 

Далее в инсталлере:

Адресат/Путь: /home/dbf/app

Имя группы пользователей Unix: oinstall

8. Переключаюсь в другое окно под root

и запускаю orainstRoot.sh (о чем собственно напомнит installer)

cd  /u01/app/oracle/product/8.1.7.0.1
   ./orainstRoot.sh  
 
Он создаст файл /etc/oraInst.loc и сменит группу (Changing groupname of /app/oracle/oraInventory to oinstall)

9. Тип установки

- Custom

10. Языки продукта выбирать не надо

(там уже есть Русский и Английский)

11. Место размещения для явы

менять не надо

12. Создать БД

No (все равно не создаст)
Далее на этапе связывания (на 11%) будет ругаться на файлы типа *.mk – пропустить.

13. Под root правим 102 и 156 строки файла

 (8_befo_root_sh)
app/oracle/product/8.1.7.1./root.sh
 
Then at line 102 we have
RMF=/bin/rm -f 
 
which is obviously wrong since "/bin/rm -f" should be quoted.
 
and finally, at line 156 we have:
RUID=`/usr/bin/id|$AWK -F\( '{print $2}'|$AWK -F\) '{print $1}`    
which should obviously be:
RUID=`/usr/bin/id|$AWK -F\( '{print $2}'|$AWK -F\) '{print $1}’
 
(У нас отругался на то, что ORACLE_SID не установлен, скопировали root.sh с другой машины и запустили его – все прошло ок)

14. Под root запускаем исправленный root.sh

 он создаст файл /etc/oratab

15. В инсталлере нажимаем Ok

16. Прерываем выполнение netassist

 (Кнопка Стоп) но инсталлер  не закрываем 

17.  Патч glibc stubs

Данный патч исправляет ошибку возникающую из за того что Oracle 8.1.7 был собран с не правильной версией glibc. Патч необходимо установить после инсталляции Oracle 8.1.7 но до того как будут созданы базы.

 

17.1 Распаковываю патч glibc-2.1.3-stubs.tar  (под пользователем Oracle) в /home/dbf/app

 
Внимание! Для работы этого патча в профиле должны быть закомментированы строки (патч с ними конфликтует):
 
17.2 Коментируем:
# +--------------------------+
# | LINUX STUFF              |
# +--------------------------+
 
# export LD_ASSUME_KERNEL=2.2.5
# export LDEMULATION=elf_i386_glibc21
# export GCC_EXEC_PREFIX=/usr/i386-glibc21-linux/lib/gcc-lib/
# source /usr/i386-glibc21-linux/bin/i386-glibc21-linux-env.sh
 

17.3 Загружаемся в другую (например текстовую Ctrl+Alt+F2) консоль и выполняем
./setup_stubs.sh
 
Он должен выполниться без сообщений об ошибках.
После его выполнения можно проверить, запускается ли
$ORACLE_HOME/bin/svrmgrl
(должен запускаться без сообщений об ошибках)
 
$ORACLE_HOME/bin/lstnrctl
- принимает сетевые вызовы (прослушивающий процесс)

18. Возвращаемся к инсталлеру и заново запускаем netassist

(Кнопка Повторить)
(у нас запустился)

19. Разкоментируем в профиле настройки

# +--------------------------+
# | LINUX STUFF              |
# +--------------------------+
 
export LD_ASSUME_KERNEL=2.2.5
export LDEMULATION=elf_i386_glibc21
export GCC_EXEC_PREFIX=/usr/i386-glibc21-linux/lib/gcc-lib/
source /usr/i386-glibc21-linux/bin/i386-glibc21-linux-env.sh

20. Перезагружаемся

, запускаем /app/bin/dbassist
(у нас запустился)

21. Создание БД

21.1 Custom
 
21.2 OLTP / Data Warehousing / Multipurpose – типы БД
OLTP – много пользователей с одновременными транзакциями (оперативная работа)
Data Warehousing – построение сложных отчетов, сложные выборки, маленьких 
транзакций мало
Multipurpose – смешанный тип
 
21.3 Dedicated Server Mode / Shared Server Mode – 
Dedicated Server Mode – лучше для небольшого числа пользователей (менее 100)
Shared Server Mode – необходимо для большого количества пользователей, но требует включения и настройки режима MultiThreadServer
 
21.4 Опции

Опции (options) сервера - это дополнительные возможности по обработке или хранению данных, иногда нереляционных.  Раньше опции назывались картриджами (cartridge), и было более понятно, что это как бы дополнение сервера БД. Теперь все интегрировано, и поэтому часто бывает неожиданностью, что за них иногда надо платить отдельно.

 

Oracle partiton option представляет собой средство для работы со  сверхбольшими базами данных. При этом данные находясь логически в одной таблице, физически располагаются в ее частях, называемых партициями.


Oracle Context Option позволяет хранить и обрабатывать тексты в БД. При этом тексты могут быть даже в форматах PDF, Word и т.д., а текст можно искать не только по полному совпадению, а скажем все словоформы. При некоторых условиях  все это работает и  с русским языком. Точнее со словоформами все получиться только при использовании Russian Context Optimizer (RCO).

Advanced Security - возможности по дополнительной защите БД.

 
Oracle Time Series – работа с временем, датами, календарь
Oracle Spatial – работа с пространственными данными (типа ГИС)
Oracle Jserver - это такая штука, которая позволяет писать (и исполнять) код для server-side приложение не только на PL/SQL, но и на Java
Oracle Intermedia – обработка медиа информации (например видео), не работает без Jserver
Advanced Replication – для репликаций в любом направлении
 
21.5 Compatible – ставим 8.1.0
CharSet – обе ставим в CL8MSWIN1251
 
21.6 Настраиваем размеры Tablespace
 
21.7 Archive Log – режим постоянного сохранения всех изменений, при его включении необходимо настроить архивное копирование изменений на другой винт и удалять накопленные логи.
 
21.8 Настройка памяти
SHARED_POOL_SIZE – для начала 128М а потом настраивать (в байтах)
128*1024*1024 = 134217728
DB_BLOCK_BUFFERS – 25% доступной оперативной памяти (берем 64М)(в блоках)
64*1024*1024/ DB_BLOCK_SIZE=16384
DB_BLOCK_SIZE - Этот параметр управляет количеством данных, которые база данных может считать в память в течение одной транзакции ввода/вывода. (например 4096)

22. Для автозапуска Oracle

выполняем скрипт *Oracle_Avto_Start_Stop

Он копирует файл oracle в /etc/sysconfig
а файл orainit в автозапуск и автостоп
Так же в /etc должен находится файл oratab со строкой:
$ORACLE_SID:$ORACLE_HOME:Y
(linora:/home/dbf/app:Y)
, если его там нет, нужно его туда скопировать. Y по умолчанию не стоит.

23. Для нормального отображения русских букв на клиенте ставим патч

fixmsg.tgz
(разархивируем и ./ fixmsg)
 
С установкой все.
 

Пароли по умолчанию:

sys/change_on_install
system/manager
dbsnmp/dbsnmp
 
 

Копирование существующей базы с машины БД1 на БД2

 
1) Копируем с БД1 на БД2 файл 
$ORACLE_HOME/admin/$ORACLE_SID/pfile/initORACLE_SID.ora
Исправляем в нем ORACLE_SID и пути
 
2) Запускаем файл $ORACLE_HOME/bin/orapwd
orapwd file=$ORACLE_HOME/dbs/orapwORACLE_SID password= change_on_install
По указанному пути дожен создаться файл orapwORACLE_SID
 
3) В папке $ORACLE_HOME/dbs создаем символическую ссылку на файл
$ORACLE_HOME/admin/$ORACLE_SID/pfile/initORACLE_SID.ora
 
4) Копируем файлы из $ORACLE_HOME/assistants/dbca с БД1 на БД2
initdbf.sql
linorarun.sh
linorarun1.sh
linorarun2.sh
linoraalterTablespace.sh
Исправляем в них ORACLE_SID и пути
и запускаем initdbf.sql
 
5) С помощью клиента создаем недостающие табличные пространства и делаем полный импорт.
 
 
(
Не проверенная информация:
 
Далее скачиваем и устанавливаем JRE 1.1.8 (http://www.blackdown.org), входящая в дистрибутив Oracle 8.1.7 Java в 80% случаев не работает, причину я не знаю.
подправляем конфигурационный файл инсталятора /mnt/oracle/install/oraparam.ini, в переменную JRE_LOCATION прописать путь к новой Jave (JRE_LOCATION=/usr/local/jre118_v3, я установил новый JRE в этот каталог), дистрибутив в моем случае находится в каталоге /mnt/oracle.
 
Для создания БД можно воспользоваться утилитой $ORACLE_HOME/bin/dbassist - это Java приложение, позволяет легко создать новую или скопировать демонстрационную БД.
dbassist по умолчанию пытается использовать Java из дистрибутива, но также как и при запуске инсталлятора Java из дистрибутива может не работать. Здесь два выхода:
1. Подправить путь к JRE в скрипте dbassist или
2. Заменить символическую ссылку $ORACLE_HOME/JRE (Она ведет на Java из дистрибутива), на такуюже но ведущую к новой (/usr/local/jre118_v3)
)


Hosted by uCoz