Установка Oracle 11g R2 на Debian Lenny
под squeeze и wheezy алгоритмы примерно те же
HOWTO: Install Oracle 11gR2 on Debian Wheezy
доставим софт
apt-get install libaio-dev sysstat unixodbc-dev libelf-dev unzip g++ libstdc++6-4.7-dev libstdc++5 build-essential gcc-multilib ia32-libs libaio1 rpm xauth
делаем а-ля centos
ln -s /usr/bin/awk /bin/awk
ln -s /usr/bin/rpm /bin/rpm
ln -s /usr/bin/basename /bin/basename
для 32 бит
mkdir /usr/lib
ln -s /usr/lib/i386-linux-gnu/libpthread_nonshared.a /usr/lib
ln -s /usr/lib/i386-linux-gnu/libc_nonshared.a /usr/lib
ln -s /lib/i386-linux-gnu/libgcc_s.so.1 /lib
ln -s /usr/lib/i386-linux-gnu/libstdc++.so.6 /usr/lib
Только надо проверить, что все эти файлы существуют. При необходимости ищем их (find, locate) и делаем правильный симлинк.
для 64 бит - будет lib64. Также поиск может быть в /lib или /lib64, надо читать сообщения при попытке сборки
нужен пользователь oracle
groupadd dba
useradd -m -g dba -s /bin/bash -d /home/oracle oracle
passwd oracle
но пользователя и данные можно (нужно?) разделить
mkdir -p /opt/oracle/11g
mkdir /opt/oraInventory
mkdir -p /oradata/db
chown -R oracle:dba /opt/oracle /opt/oraInventory /oradata
Надо настроить /etc/sysctl.conf
vm.swappiness=0
vm.dirty_background_ratio=3
vm.dirty_ratio=15
vm.dirty_expire_centisecs=500
vm.dirty_writeback_centisecs=100
vm.min_free_kbytes=1024
kernel.shmmax=536870912
kernel.shmmni=4096
kernel.shmall=262144
kernel.sem=250 32000 100 142
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_max=262144
net.ipv4.tcp_rmem=4096 262144 4194304
net.ipv4.tcp_wmem=4096 262144 262144
net.ipv4.ip_local_port_range=1024 65000
fs.file-max = 6553600
а также /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
Очередь профиля для oracle
входим под пользователем oracle (локально или по ssh) или делаем sudo -u oracle -i и правим .profile
cat > ~/.profile <<EOF
ORACLE_BASE=/oradata/db
ORACLE_HOME=/opt/oracle/11g
ORACLE_SID=test
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_BASE ORACLE_SID ORACLE_HOME LD_LIBRARY_PATH PATH
EOF
установка проводится в графическом режиме, поэтому нужно или поднимать полноценный Х сервер, или серверную часть + проброс экранов через ssh, лучше второе.
Тогда нужен или Linux на второй машине, или проброс Х
подключение:
$ ssh -XC oracle@orclserver.example.org
Запуск инсталлера
распаковываем инсталлер, переходим туда и от пользователя oracle делаем ./runInstaller
Добавим в автозагрузку
# update-rc.d dbora defaults
Возможные ошибки
ORA-29516: Aurora assertion failure
ORA-29516: Bulk load of method failed; insufficient shm-object space
http://idba-oracle.blogspot.ru/2013/02/ora-29516-aurora-assertion-failure.html
Alter session set JAVA_JIT_ENABLED=FALSE;
https://community.oracle.com/thread/2269694
https://community.oracle.com/thread/1106718
sshd[3786]: error: Failed to allocate internet-domain X11 display socket.
disable ipv6 in general
add AddressFamily inet" to sshd_config
add "X11UseLocalhost no" to sshd_config
set IPv4 explicitly in sshd_config
делаем а-ля centos
ln -s /usr/bin/awk /bin/awk
ln -s /usr/bin/rpm /bin/rpm
ln -s /usr/bin/basename /bin/basename
для 32 бит
mkdir /usr/lib
ln -s /usr/lib/i386-linux-gnu/libpthread_nonshared.a /usr/lib
ln -s /usr/lib/i386-linux-gnu/libc_nonshared.a /usr/lib
ln -s /lib/i386-linux-gnu/libgcc_s.so.1 /lib
ln -s /usr/lib/i386-linux-gnu/libstdc++.so.6 /usr/lib
Только надо проверить, что все эти файлы существуют. При необходимости ищем их (find, locate) и делаем правильный симлинк.
для 64 бит - будет lib64. Также поиск может быть в /lib или /lib64, надо читать сообщения при попытке сборки
нужен пользователь oracle
groupadd dba
useradd -m -g dba -s /bin/bash -d /home/oracle oracle
passwd oracle
но пользователя и данные можно (нужно?) разделить
mkdir -p /opt/oracle/11g
mkdir /opt/oraInventory
mkdir -p /oradata/db
chown -R oracle:dba /opt/oracle /opt/oraInventory /oradata
Надо настроить /etc/sysctl.conf
vm.swappiness=0
vm.dirty_background_ratio=3
vm.dirty_ratio=15
vm.dirty_expire_centisecs=500
vm.dirty_writeback_centisecs=100
vm.min_free_kbytes=1024
kernel.shmmax=536870912
kernel.shmmni=4096
kernel.shmall=262144
kernel.sem=250 32000 100 142
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_max=262144
net.ipv4.tcp_rmem=4096 262144 4194304
net.ipv4.tcp_wmem=4096 262144 262144
net.ipv4.ip_local_port_range=1024 65000
fs.file-max = 6553600
а также /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
Очередь профиля для oracle
входим под пользователем oracle (локально или по ssh) или делаем sudo -u oracle -i и правим .profile
cat > ~/.profile <<EOF
ORACLE_BASE=/oradata/db
ORACLE_HOME=/opt/oracle/11g
ORACLE_SID=test
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_BASE ORACLE_SID ORACLE_HOME LD_LIBRARY_PATH PATH
EOF
установка проводится в графическом режиме, поэтому нужно или поднимать полноценный Х сервер, или серверную часть + проброс экранов через ssh, лучше второе.
Тогда нужен или Linux на второй машине, или проброс Х
подключение:
$ ssh -XC oracle@orclserver.example.org
Запуск инсталлера
распаковываем инсталлер, переходим туда и от пользователя oracle делаем ./runInstaller
Добавим в автозагрузку
# update-rc.d dbora defaults
Возможные ошибки
ORA-29516: Aurora assertion failure
ORA-29516: Bulk load of method failed; insufficient shm-object space
http://idba-oracle.blogspot.ru/2013/02/ora-29516-aurora-assertion-failure.html
Alter session set JAVA_JIT_ENABLED=FALSE;
https://community.oracle.com/thread/2269694
https://community.oracle.com/thread/1106718
sshd[3786]: error: Failed to allocate internet-domain X11 display socket.
disable ipv6 in general
add AddressFamily inet" to sshd_config
add "X11UseLocalhost no" to sshd_config
set IPv4 explicitly in sshd_config
+ подключаться нужно именно от юзера oracle
Exception String: Error in invoking target 'agent nmhs' of makefile '.../db/sysman/lib/ins_emagent.mk'. See '.../oraInventory/logs/installActions*.log' for details.
/usr/bin/ld: note: 'B_DestroyKeyObject' is defined in DSO
в sysman/lib/env_emagent.mk находим
NNMEFET_STACKLIBS_LINK=$(LDPATHFLAG)$(ORACLE_HOME)/$(LIBDIR) $(LDPATHFLAG)$(PRODLIBHOME) $(LLIBNMEMSO) $(LLIBCORE) -Wl,-rpath,$(AGENTRPATH):$(JAVA_RTLINK_PATH) $(LIB_JVM_LINK) -Wl,--allow-shlib-undefined
заменяем на
NNMEFET_STACKLIBS_LINK=$(LDPATHFLAG)$(ORACLE_HOME)/$(LIBDIR) $(LDPATHFLAG)$(PRODLIBHOME) $(LLIBNMEMSO) $(LLIBCORE) -lnnz11 -Wl,-rpath,$(AGENTRPATH):$(JAVA_RTLINK_PATH) $(LIB_JVM_LINK) -Wl,--allow-shlib-undefined
(добавляется -lnnz11)
как вариант, меняем $(MK_EMAGENT_NMECTL) на $(MK_EMAGENT_NMECTL) -lnnz11
Error in invoking target 'all_no_orcl' of makefile '/oracle/11g/rdbms/lib/ins_rdbms.mk'
фикс:
sudo apt-get install libstdc++5
INFO: gcc: error: /lib64/libgcc_s.so.1: No such file or directory
фикс
ln -s /usr/lib/gcc/x86_64-linux-gnu/4.7/libgcc_s.so /lib64/libgcc_s.so.1
INFO: gcc: error: /lib64/libgcc_s.so.1: No such file or directory
фикс
ln -s /usr/lib/gcc/x86_64-linux-gnu/4.7/libgcc_s.so /lib64/libgcc_s.so.1
линки
Комментариев нет:
Отправить комментарий