在Ubuntu上部署Oracle數據庫可以通過手動安裝或使用Docker容器兩種主要方式實現。以下是詳細的步驟:
安裝依賴包:
sudo apt-get update
sudo apt-get install alien libaio1 unixodbc build-essential
創建用戶和用戶組:
sudo groupadd oinstall
sudo groupadd dba
sudo useradd -g oinstall -G dba oracle
sudo passwd oracle
配置系統參數:
/etc/sysctl.conf
文件,添加以下內容:kernel.sem = 250 32000 100 128
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
fs.aio-max-nr = 1048576
fs.file-max = 6815744
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.ip_local_port_range = 9000 65500
sudo sysctl -p
修改hosts文件:
sudo vi /etc/hosts
添加以下內容:
127.0.0.1 localhost
192.168.100.197 oracle
oracle.localdomain
創建安裝目錄并設置權限:
sudo mkdir -p /u01/app/oracle/product/12.2.0/dbhome_1
sudo chown -R oracle:oinstall /u01
sudo chmod -R 755 /u01
解壓Oracle數據庫軟件包:
cd /path/to/oracle/database/install/dir
unzip linux_11gR2_database_1of2.zip linux_11gR2_database_2of2.zip
配置環境變量:
/home/oracle/.bashrc
文件,添加以下內容:export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/lib/classes.zip
source /home/oracle/.bashrc
運行Oracle安裝程序:
cd /path/to/oracle/database/install/dir
./runInstaller
啟動Oracle數據庫實例并設置為開機自啟:
sudo systemctl start oracle-database-preinstall-12cR2-preinstall.service
sudo systemctl enable oracle-database-preinstall-12cR2-preinstall.service
安裝Docker:
sudo apt-get update
sudo apt-get install docker.io
下載Oracle數據庫容器鏡像:
docker pull store/oracle/database-enterprise:12.2.0.1
運行Oracle數據庫容器:
docker run -d --name oracle-db -p 1521:1521 -p 5500:5500 store/oracle/database-enterprise:12.2.0.1
進入鏡像進行設置:
sudo docker exec -it oracle bash
加載環境變量:
source /home/oracle/.bash_profile
進行軟連接:
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin/sqlplus
修改默認密碼賬號:
sqlplus /nolog
conn / as sysdba
alter user system identified by new_password;
alter user sys identified by new_password;
創建軟連接:
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin/sqlplus
修改默認密碼賬號:
sqlplus /nolog
conn / as sysdba
alter user system identified by new_password;
alter user sys identified by new_password;
切換用戶:
su oracle
修改Oracle用戶:
sqlplus /nolog
conn / as sysdba