โปรดให้คำแนะนำในการติดตั้ง oracle 11gr2 บน Ubuntu 14.04
โปรดให้คำแนะนำในการติดตั้ง oracle 11gr2 บน Ubuntu 14.04
คำตอบ:
คัดลอกไฟล์ที่ดาวน์โหลดมาและวางในโฮมไดเร็กตอรี่
Unzip โดยใช้คำสั่ง:
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
คุณควรเห็นค่าไฟล์สูงสุดที่คุณป้อนไว้ก่อนหน้านี้
ตั้งค่าจุดเชื่อมต่อ / dev / shm สำหรับ Oracle สร้างไฟล์ต่อไปนี้โดยใช้คำสั่ง:
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 เท่านั้น
สร้างบัญชีผู้ใช้ทั่วไปใน Oracle โดยใช้คำสั่ง SQL:
create user USERNAME identified by PASSWORD;
แทนที่ USERNAME และ PASSWORD ด้วยชื่อผู้ใช้และรหัสผ่านที่คุณเลือก โปรดจำชื่อผู้ใช้และรหัสผ่านนี้ หากคุณมีข้อผิดพลาดในการดำเนินการด้านบนพร้อมข้อความเกี่ยวกับ resetlogs ให้ดำเนินการคำสั่ง SQL ต่อไปนี้แล้วลองอีกครั้ง:
alter database open resetlogs;
มอบสิทธิพิเศษให้กับบัญชีผู้ใช้โดยใช้คำสั่ง SQL:
grant connect, resource to USERNAME;
แทนที่ USERNAME และ PASSWORD ด้วยชื่อผู้ใช้และรหัสผ่านที่คุณเลือก โปรดจำชื่อผู้ใช้และรหัสผ่านนี้
ออกจาก sys admin shell โดยใช้คำสั่ง SQL:
exit;
เริ่มเชลล์ commandline ในฐานะผู้ใช้ทั่วไปโดยใช้คำสั่ง:
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
หวังว่านี่จะช่วยใครซักคน