在Linux系統上安裝Oracle數據庫
前期準備:我用的是虛擬機上的CentOS 64位系統。所以需要設置網卡,時間,EPEL源,安裝一些必備的軟件。
1.1在虛擬機上安裝好Linux系統后選擇虛擬機設置—>網絡適配器—>網絡連接—>橋接模式

1.2然后進入系統配置網卡。
永久修改:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0(設備名稱)
TYPE=Ethernet(網絡類型)
ONBOOT=yes(開機自啟動)
BOOTPROTO=static(靜態ip) dhcp是動態ip none 是不指定
IPADDR=192.168.1.21
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
NETWORK=192.168.1.0
DNS1=192.168.1.1
立即生效:
service network restart
1.3關閉防火墻 :在使用網絡程序時要先關閉防火墻,不然是連接不上的
1) 永久性生效,重啟后不會復原
開啟:chkconfig iptables on
關閉:chkconfig iptables off
2) 即時生效,重啟后復原
開啟:service iptables start
關閉:service iptables stop
如果是firewall防火墻
停止: systemctl stop firewalld.service
禁止開機啟動:systemctl disable firewalld.service
啟動:systemctl start firewalld.service
開機啟動:systemctl enable firewalld.service
1.4設置系統時間
手動設置硬件時間
hwclock --set --date="05/1/2015 19:24"
時間格式:月/日/年空格時:分:秒
---------------
將硬件時間寫入系統時間
hwclock --hctosys
clock --hctosys
1.5設置EPEL源
rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
1.6安裝解壓縮工具
yum install unzip
下面就開始正式安裝
2.1 安裝oracle-rdbms-server-11gR2-preinstall
在Linux上安裝oracle數據庫,在環境準備方面,例如該安裝的RPM包,該調整的內核參數等,不僅較為復雜,有些參數值還會因為人工設置的不合理而對日后的運行帶來一定的影響,也是整個安裝過程中最耗時的部分。在oracle linux 6_64bit上,提供了oracle-rdbms-server-11gR2-preinstall包,可以自動化的將需要安裝的rpm包,需要調整的內核參數自動化的處理,對DBA安裝數據庫確實節省了不少的時間。在oracle linux 5和oracle linux 4上有一個相似功能的包叫oracle-validated
他所起的作用:
(1)自動安裝oracle所需的RPM包
(2)自動創建oracle用戶和group組
(3)自動配置/etc/sysctl.conf內核參數
(4)自動配置/etc/security/limits.conf參數
(5)關閉NUMA=OFF (關閉非一致內存訪問)
安裝前檢查
a、 檢查網絡環境,確保網絡暢通
cat /etc/issue

b、檢查yum是否已安裝
rpm -qa | grep yum

C、安裝oracle-rdbms-server-11gR2-preinstall包 按照下面步驟一步一步來
切換到目錄 /etc/yum.repos.d/
cd /etc/yum.repos.d/
wget http://public-yum.oracle.com/public-yum-ol6.repo(注意:如果沒有安裝wget需要先執行 yum install wget)
(vi public-yum-ol6.repo)這里可以是手動添加,也可以是之前添加好的EPEL源,查看是否安裝上
cd /etc/pki/rpm-gpg/
wget http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6 -O RPM-GPG-KEY-oracle
gpg --quiet --with-fingerprint ./RPM-GPG-KEY-oracle
yum install oracle-rdbms-server-11gR2-preinstall
驗證
[root@localhost24 yum.repos.d]# cat /etc/passwd |grep oracle
oracle:x:54321:54321::/home/oracle:/bin/bash
[root@localhost24 yum.repos.d]# cat /etc/group |grep dba
dba:x:54322:oracle
[root@localhost24 yum.repos.d]#
2.2 編輯 /etc/pam.d/login
vi /etc/pam.d/login
添加以下行:
session required /lib64/security/pam_limits.so
session required pam_limits.so
2.3 編輯 /etc/profile
vi /etc/profile
添加以下行:
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
2.4 預先創建安裝目錄
cd /
創建ORALCE_BASE目錄
mkdir -p /u01/app/oracle
創建ORACLE_HOME目錄
mkdir -p /u01/app/oracle/product/11.2.0/db_1
創建Oracle數據文件存放目錄
mkdir -p /u01/app/oracle/product/11.2.0/oradata
創建Oracle安裝過程日志目錄
mkdir -p /u01/app/oracle/oraInventory
2.5 設置目錄的所有者所屬組和權限
設置app 目錄所有者為oracle用戶及其所屬的oinstall組
chown -R oracle.oinstall /u01/app
設置oraInventory目錄所有者為oracle用戶及其所屬的組
chown -R oracle.dba /u01/app/oracle/oraInventory
設置app 目錄所屬用戶具有該目錄讀、寫、執行的權限
chmod -R 775 /u01/app/
2.6 上傳oracle安裝源文件并且unzip解壓縮到 /u01/app/oracle 目錄下
2.7創建 oraInst.loc
創建oraInst.loc文件并增加內容
vi /etc/oraInst.loc
inventory_loc=/u01/app/oracle/oraInventory
inst_group=oinstall
設置oracle用戶及其oinstall組對oraInst.loc文件的所有權
chown oracle:oinstall /etc/oraInst.loc
設置oraInst.loc文件所屬用戶及組具有該目錄讀、寫、執行的權限
chmod 664 /etc/oraInst.loc
2.8 設置用戶 oracle的環境變量
登錄oracle用戶
su - oracle
編輯oracle用戶的環境變量
vi /home/oracle/.bash_profile在文件中添加如下:
|
# .bash_profile
# Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin # user add umask 022 export SHELL=/bin/bash export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 export ORACLE_SID=orcl export ORACLE_UNQNAME=$ORACLE_SID export ORACLE_OWNER=oracle export ORACLE_TERM=vt100 export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib export CLASSPATH export ORA_NLS33=$ORACLE_HOME/nls/admin/data # 設置中文環境 # export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK" export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK" # 通過locale命令查看自己主機的真實LANG情況,或者echo $LANG # user end
|
執行以下命令讓配置馬上生效或以oracle用戶登錄使設置生效
source $HOME/.bash_profile
2.9 設置系統臨時空間的大小
注意:默認為物理內存的2倍,同時也是為了防止在后續啟動數據庫時報ORA-00845的錯誤,下為錯誤示例:
SQL> startup ;
ORA-00845: MEMORY_TARGET not supported on this system
調整shm的大小,這樣相對簡單,具體操作如下
vi /etc/fstab
修改如下行的設置
tmpfs /dev/shm tmpfs defaults 0 0
改成
tmpfs /dev/shm tmpfs defaults,size=2G 0 0 (我這邊給虛擬機分的內存是1G)
保存退出
重新mount下shm使其生效
mount -o remount /dev/shm
df -h | grep shm
2.10 準備 Oracle11201靜默安裝應答文件
進入到oracle 的安裝文件 database目錄
./runInstaller -silent -debug -force \
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0 \
oracle.install.option=INSTALL_DB_SWONLY \
UNIX_GROUP_NAME=oinstall \
INVENTORY_LOCATION=/u01/app/oracle/oraInventory \
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 \
ORACLE_BASE=/u01/app/oracle \
oracle.install.db.InstallEdition=EE \
oracle.install.db.EEOptionsSelection=false \
oracle.install.db.DBA_GROUP=dba \
oracle.install.db.OPER_GROUP=install \
DECLINE_SECURITY_UPDATES=true

執行完之后不要亂動,要根據提示查看日志,直接查看下一個步驟要復制一個SSh窗口進行操作
2.11 根據上述提示查看安裝日志
tail -100f /u01/app/oracle/oraInventory/logs/installActions2014...
查看日志是否安裝成功,如果安裝失敗需要將所有文件刪除重新安裝。
后期完善:配置Oracle隨操作系統啟動相關
3.1配置dbstart和dbshut命令
1.安裝好Oracle數據庫后: 執行 dbstart和dbshut會提示:
[oracle@oracle11g ~]$ dbstart
ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener
Usage: /u01/app/oracle/oracle/product/10.2.0/db_1/bin/dbstart ORACLE_HOME
錯誤原因是:dbstart和dbshut腳本文件中ORACLE_HOME_LISTNER的設置有問題
分別編輯兩個文件(dbstart和dbshut)
找到:ORACLE_HOME_LISTNER=$1,修改為
ORACLE_HOME_LISTNER=$ORACLE_HOME,命令如下:
[oracle@oracle11g ~]$ vi $ORACLE_HOME/bin/dbstart
[oracle@oracle11g ~]$ vi $ORACLE_HOME/bin/dbshut
提示:
dbstart ORACLE_HOME_LISTNER=$1 參數大約在78行
dbshut ORACLE_HOME_LISTNER=$1 參數大約在50行
vi命令:
:set nu 顯示行號
3.2設置開機自動運行oracle
第一步:修改/etc/oratab文件,命令如下:
[oracle@oracle11g ~]$ vi /etc/oratab
找到:orcl:/u01/oracle:N 修改為: orcl:/u01/oracle:Y 注意:orcl:/u01/oracle:N 應根據實際情況鑒別,orcl是新創建庫的實例名,/u01/oracle是ORACLE_HOME的絕對路徑;Y代表的是隨系統一起啟動;
第二步:把lsnrctl start和dbstart添加到rc.local文件中,命令如下:
[oracle@oracle11g ~]# vi /etc/rc.d/rc.local
添加:
su oracle -lc "/u01/app/oracle/product/11.2.0/db_1/bin/lsnrctl start"
su oracle -lc /u01/app/oracle/product/11.2.0/db_1/bin/dbstart
注意:第一個命令有空格,所以要用引號的
3.3配置Oracle sqlplus 回顯
yum install -y rlwrap (如果不設置回顯sqlplus不能刪除字符操作 需要在root用戶下進行)
echo "alias sqlplus='rlwrap sqlplus'" >>/home/oracle/.bash_profile
echo "alias rman='rlwrap rman'" >>/home/oracle/.bash_profile
立即生效
source /home/oracle/.bash_profile
至此,所有工作都已經完成了。
浙公網安備 33010602011771號