ubuntu12.04下安裝oracle實戰記錄


今天經過9個多小時的實戰終於把oracle在ubuntu上安裝成功了

在這里記錄一下 

1、下載oracle express的安裝介質

http://www.oracle.com/technetwork/products/express-edition/downloads/index.html

Oracle Database Express Edition 11g Release 2 for Linux x64

 

2、轉換為deb包

由於下載的是rpm包ubuntu無法直接使用所以需要alien來轉換

 

1 sudo apt-get install alien
2 sudo alien -d --scripts oracle-xe-11.2.0-1.0.x86_64.rpm

 

成功轉換后得到oracle-xe_11.2.0-2_amd64.deb安裝文件

 

 

3、安裝deb

雙擊deb安裝這個包,這時包安裝成功但是我們會得到一個錯誤說/sbin/chkconfig不存在。

我們要修改/var/lib/dpkg/info/oracle-xe.postinst腳本

 

1 if [ -f /etc/SuSE-release ]
2 then
3     cp -f /u01/app/oracle/product/11.2.0/xe/config/scripts/oracle-xe.sles /etc/init.d/oracle-xe
4     /usr/lib/lsb/install_initd /etc/init.d/oracle-xe > /dev/null 2>&1
5     /sbin/insserv /etc/init.d/oracle-xe > /dev/null 2>&1
6     /sbin/SuSEconfig > /dev/null 2>&1
7 #else
8 #        /sbin/chkconfig --add oracle-xe
9 fi

 

把else與/sbin/chkconfig --add oracle-xe注釋掉,然后再執行

 

 

1 sudo /var/lib/dpkg/info/oracle-xe.postinst

 

會提示你運行/etc/init.d/oracle-xe configure進行配置。但別急,我們還需要一些步驟再執行。

 

4、安裝依賴包

 

1 sudo apt-get install libaio1

 

 

5、解決ORA-00845: MEMORY_TARGET問題

由於oracle查找的是/dev/shm,而Ubuntu已經換為/run/shm(雖然有鏈接還是有問題),在初始化時會出現ORA-00845問題,解決方法如下:
 

 

用root登錄

 

1 sudo su -

 

粘貼下載的代碼到命令行,來創建oracle-shm

 

 

01 cat > /etc/init.d/oracle-shm <<-EOF
02 #! /bin/sh
03 # /etc/init.d/oracle-shm
04 #
05 #
06 case "\$1" in
07   start)
08     echo "Starting script /etc/init.d/oracle-shm"
09     # Run only once at system startup
10     if [ -e /dev/shm/.oracle-shm ]; then
11       echo "/dev/shm is already mounted, nothing to do"
12     else
13       rm -f /dev/shm
14       mkdir /dev/shm
15       #mount -B /run/shm /dev/shm
16       mount -t tmpfs shmfs -o size=2048m /dev/shm
17       touch /dev/shm/.oracle-shm
18     fi
19     ;;
20   stop)
21     echo "Stopping script /etc/init.d/oracle-shm"
22     echo "Nothing to do"
23     ;;
24   *)
25     echo "Usage: /etc/init.d/oracle-shm {start|stop}"
26     exit 1
27     ;;
28 esac
29 #
30 ### BEGIN INIT INFO
31 # Provides:          oracle-shm
32 # Required-Start:    $remote_fs $syslog
33 # Required-Stop:     $remote_fs $syslog
34 # Default-Start:     2 3 4 5
35 # Default-Stop:      0 1 6
36 # Short-Description: Bind /run/shm to /dev/shm at system startup.
37 # Description:       Fix to allow Oracle 11g use AMM.
38 ### END INIT INFO
39 EOF

 

安裝oracle-shm

 

 

1 chmod 755 /etc/init.d/oracle-shm
2 update-rc.d oracle-shm defaults 01 99

 

重啟

 

 

1 reboot

 

 

6、配置oracle xe

 

1 sudo /etc/init.d/oracle-xe configure

 

選擇web管理端口默認8080

 

選擇監聽端口默認1521

輸入管理員密碼與確認密碼(sys密碼)

最后詢問你是否自動啟動默認y

 

7、進行web管理台

從菜單中選擇Other->Get Started with Oracle Database 11g Express Edition

總體上可按照上面來進行安裝,特別是問題00845

 

然后這里面有環境變量,遠程登錄配置,以及上面所說的chkconfig

Step-by-Step Installing Oracle Database Express Edition 11gR2 on Ubuntu Server 12.04 LTS

Step 1. Managing Swap partition. Oracle Database Express Edition 11gR2 may require up to a 2GB (2095100 KB) swap partition, Enter the following command in terminal to verify your swap space:

cat /proc/meminfo | grep -i swap

If you don’t have enough swap space, you can increase available swap space by the following guide to create and enable swap partiton, in this case I’ll create 1 GB swap file and loaded at startup, located in the /home directory

Login as root:

sudo -i

Create swap file on /home directory with following commands:

dd if=/dev/zero of=/home/swapfile bs=1024 count=1048576
mkswap /home/swapfile
swapon /home/swapfile
swapon -a

Create a backup of the original “fstab” file and add the new swap file:

cp /etc/fstab /etc/fstab.backup_`date +%N`
echo '/home/swapfile swap swap defaults 0 0' >> /etc/fstab

Logout from root and verify the new swap space:

exit
swapon -s

Step 1. Install additional software thats require Oracle 11g Express Edition

sudo apt-get install alien libaio1

Step 2. Download Oracle Database Express Edition 11gR2 via Oracle Official website, it require registration before downloading.

Step 3. unzip the downloaded file, then convert the Oracle Database Express Edition 11gR2 package installer to debian package

unzip oracle-xe-11.2.0.1.0.x86_64.rpm.zip
cd Disk1/
sudo alien --to-deb --scripts oracle-xe-11.2.0-1.0.x86_64.rpm

Step 4. Configure Awk and Chkconfig, The following needs to be set for compatibility:

sudo ln -s /usr/bin/awk /bin/awk
sudo mkdir /var/lock/subsys

Ubuntu uses different tools to manage services and system startup scripts. The “chkconfig” tool required by the Oracle installer is not available in Ubuntu. The following will create a file to simulate the “chkconfig” tool.

Login as root:

sudo -i

Copy and paste the following Script directly into the terminal to create a file chkconfig:

cat > /sbin/chkconfig <<-EOF
#!/bin/bash
# Oracle 11gR2 XE installer chkconfig, Only run once.
echo "Simulating /sbin/chkconfig..."
if [[ ! `tail -n1 /etc/init.d/oracle-xe | grep INIT` ]]; then
cat >> /etc/init.d/oracle-xe <<-EOM
#
### BEGIN INIT INFO
# Provides: OracleXE
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Oracle 11g Express Edition
### END INIT INFO
EOM
fi
update-rc.d oracle-xe defaults 80 01
EOF

Logout form root:

exit

Set the file /sbin/chkconfig executable :

sudo chmod 755 /sbin/chkconfig

Step 5. Install Oracle Database Express Edition 11gR2 with the following commands:

cd ~/Downloads/Disk1
sudo dpkg -i oracle-xe-11.2.0-1.0.x86_64.deb

Run the following configuration script to create (clone) the database. Accept the default answers, including “y” to startup the database automatically, or modify as required.

sudo /etc/init.d/oracle-xe configure

To verify success, the procedure should end showing:

Starting Oracle Net Listener...Done
Configuring database...Done
Starting Oracle Database 11g Express Edition instance...Done
Installation completed successfully.

Step 6. Set a password for the Oracle account:

sudo passwd oracle

Step 7. Post-Installation, In order to use sqlplus and other tools, the Oracle account requires specific environment variables. The following will set these variables automatically at every Oracle login:

Login as the Oracle user:

su - oracle

Copy the default account skeleton files and add the Oracle env script to .profile:

cp /etc/skel/.bash_logout ./ 
cp /etc/skel/.bashrc ./ 
cp /etc/skel/.profile ./ 
echo "" >>./.profile
echo '. /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh' >>./.profile

Step 7. Configure remote login. By default, the Oracle Database XE graphical user interface is only available at the local server, but not remotely. The following will enable remote logins:

Login as the Oracle user, then login as SYSDBA and run the following commands:

su - oracle
sqlplus / as sysdba
SQL> EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);
exit

基本上按照上面的就可以正常安裝成功了



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM