Ubuntu 14.04에 Oracle 11gr2를 설치하기위한 지침을 제공하십시오.
Ubuntu 14.04에 Oracle 11gr2를 설치하기위한 지침을 제공하십시오.
답변:
다운로드 한 파일을 복사하여 홈 디렉토리에 붙여 넣습니다.
다음 명령을 사용하여 압축을 풉니 다 :
unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip
다음 명령을 사용하여 필요한 패키지를 설치하십시오.
sudo apt-get install alien libaio1 unixodbc
다음 명령을 사용하여 Disk1 폴더에 입력하십시오.
cd Disk1/
다음 명령을 사용하여 RPM 패키지 형식을 DEB 패키지 형식 (Ubuntu에서 사용)으로 변환하십시오.
sudo alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm
다음 명령을 사용하여 필요한 chkconfig 스크립트를 작성하십시오.
sudo pico /sbin/chkconfig
pico 텍스트 편집기가 시작되고 화면 하단에 명령이 표시됩니다. 이제 다음을 복사하여 파일에 붙여넣고 저장하십시오.
#!/bin/bash
# Oracle 11gR2 XE installer chkconfig hack for Ubuntu
file=/etc/init.d/oracle-xe
if [[ ! `tail -n1 $file | grep INIT` ]]; then
echo >> $file
echo '### BEGIN INIT INFO' >> $file
echo '# Provides: OracleXE' >> $file
echo '# Required-Start: $remote_fs $syslog' >> $file
echo '# Required-Stop: $remote_fs $syslog' >> $file
echo '# Default-Start: 2 3 4 5' >> $file
echo '# Default-Stop: 0 1 6' >> $file
echo '# Short-Description: Oracle 11g Express Edition' >> $file
echo '### END INIT INFO' >> $file
fi
update-rc.d oracle-xe defaults 80 01
다음 명령을 사용하여 chkconfig 파일의 권한을 변경하십시오.
sudo chmod 755 /sbin/chkconfig
커널 매개 변수를 설정하십시오. Oracle 11gR2 XE에는 다음 명령을 사용하여 설정해야하는 추가 커널 매개 변수가 필요합니다.
sudo pico /etc/sysctl.d/60-oracle.conf
다음을 파일에 복사하고 저장하십시오.
# Oracle 11g XE kernel parameters
fs.file-max=6815744
net.ipv4.ip_local_port_range=9000 65000
kernel.sem=250 32000 100 128
kernel.shmmax=536870912
다음 명령을 사용하여 변경 사항을 확인하십시오.
sudo cat /etc/sysctl.d/60-oracle.conf
이전에 입력 한 내용을 볼 수 있습니다. 이제 커널 매개 변수를로드하십시오 :
sudo service procps start
다음을 사용하여 새 매개 변수가로드되었는지 확인하십시오.
sudo sysctl -q fs.file-max
이전에 입력 한 파일 최대 값을 볼 수 있습니다.
Oracle에 대해 / dev / shm 마운트 지점을 설정하십시오. 명령을 사용하여 다음 파일을 작성하십시오.
sudo pico /etc/rc2.d/S01shm_load
다음을 파일에 복사하고 저장하십시오.
#!/bin/sh
case "$1" in
start)
mkdir /var/lock/subsys 2>/dev/null
touch /var/lock/subsys/listener
rm /dev/shm 2>/dev/null
mkdir /dev/shm 2>/dev/null
*)
echo error
exit 1
;;
esac
다음 명령을 사용하여 파일의 권한을 변경하십시오.
sudo chmod 755 /etc/rc2.d/S01shm_load
이제 다음 명령을 실행하십시오 :
sudo ln -s /usr/bin/awk /bin/awk
sudo mkdir /var/lock/subsys
sudo touch /var/lock/subsys/listener
이제 시스템을 재부팅하십시오
다음 명령을 사용하여 Oracle DBMS를 설치하십시오.
sudo dpkg --install oracle-xe_11.2.0-2_amd64.deb
다음 명령을 사용하여 Oracle을 구성하십시오.
sudo /etc/init.d/oracle-xe configure
.bashrc 파일을 편집하여 환경 변수를 설정하십시오.
pico ~/.bashrc
파일 끝에 다음 줄을 추가하십시오.
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
export ORACLE_SID=XE
export NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
export ORACLE_BASE=/u01/app/oracle
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH
프로파일을 실행하여 변경 사항을로드하십시오.
. ~/.bashrc
Oracle 11gR2 XE를 시작하십시오.
sudo service oracle-xe start
다음 명령을 사용하여 사용자 YOURUSERNAME을 dba 그룹에 추가하십시오.
sudo usermod -a -G dba YOURUSERNAME
다음 명령을 사용하여 Oracle XE 11gR2 서버를 시작하십시오.
sudo service oracle-xe start
다음 명령을 사용하여 시스템 관리자로서 명령 행 쉘을 시작하십시오.
sqlplus sys as sysdba
이전에 Oracle을 구성하는 동안 제공 한 비밀번호를 입력하십시오. 이제 SQL 명령 만 이해하는 SQL 환경에 배치됩니다.
SQL 명령을 사용하여 Oracle에서 일반 사용자 계정을 작성하십시오.
create user USERNAME identified by PASSWORD;
USERNAME 및 PASSWORD를 선택한 사용자 이름 및 비밀번호로 바꾸십시오. 이 사용자 이름과 비밀번호를 기억하십시오. resetlogs에 대한 메시지와 함께 위의 실행 오류가 발생한 경우 다음 SQL 명령을 실행하고 다시 시도하십시오.
alter database open resetlogs;
SQL 명령을 사용하여 사용자 계정에 권한을 부여하십시오.
grant connect, resource to USERNAME;
USERNAME 및 PASSWORD를 선택한 사용자 이름 및 비밀번호로 바꾸십시오. 이 사용자 이름과 비밀번호를 기억하십시오.
SQL 명령을 사용하여 sys 관리 쉘을 종료하십시오.
exit;
다음 명령을 사용하여 일반 사용자로 명령 행 쉘을 시작하십시오.
sqlplus
이제 SQL 명령을 실행할 수 있습니다 ...
Starting Oracle Net Listener...touch: cannot touch '/var/lock/subsys/listener': No such file or directory Done Configuring database... Database Configuration failed. Look into /u01/app/oracle/product/11.2.0/xe/config/log for details
/etc/rc2.d/S01shm_load
;;
7 번째 줄에서 대안의 끝을 나타내는 것이 누락 된 것 같습니다 .
sudo service procps restart
sudo service procps start
자세한 튜토리얼에 감사하지만 오류가 발생했습니다.
touch: cannot touch '/var/lock/subsys/listener' ..
단계에서 sudo /etc/init.d/oracle-xe configure
. http://meandmyubuntulinux.blogspot.in/2012/05/installing-oracle-11g-r2-express.html에 제안 된대로 다음 줄을 추가했습니다./etc/init.d/oracle-xe
if [ -L /dev/shm ]; then
rm -rf /dev/shm
mkdir /dev/shm
mount -t tmpfs shmfs -o size=2048m /dev/shm
fi
if [ ! -d /var/lock/subsys ]; then
mkdir /var/lock/subsys
touch /var/lock/subsys/listener
fi
... 그리고 잘 작동합니다.
/etc/rc2.d/S01shm_load
Saikat의 답변에 스크립트 에 오류가 있기 때문에 오류가 발생합니다 . 이 문제를 해결하는 것이 더 깨끗한 솔루션입니다. 올바른 스크립트를 사용하여 답변을 편집하겠습니다.
이것은 잘 작동했지만 다음 오류가 발생했습니다.
sudo /etc/init.d/oracle-xe start
[....] Starting oracle-xe (via systemctl): oracle-xe.serviceJob for oracle-xe.service failed because the control process exited with error code. See "systemctl status oracle-xe.service" and "journalctl -xe" for details.
failed!
그것을 조사 :
systemctl status oracle-xe.service
Jan 27 10:01:05 <myusername> su[29699]: No passwd entry for user 'oracle'
간단히 사용자를 추가하여 해결했습니다.
sudo adduser oracle
이것이 누군가를 돕기를 바랍니다.