Linux CentOS7安裝Oracle11g的超完美新手教程
目錄
- 1 基本環(huán)境介紹
- 2 檢測(cè)是否安裝了Oracle
- 3 卸載Oracle
- 3.1 重新做一次虛擬機(jī)
- 3.2 卸載Oracle
- 4 安裝準(zhǔn)備
- 4.1 建立oracle用戶和用戶組
- 4.2 為Oracle的安裝創(chuàng)建相關(guān)目錄
- 4.3 優(yōu)化OS內(nèi)核參數(shù)
- 4.4 限制oracle用戶的shell權(quán)限
- 4.5 為Oracle用戶添加Oracle環(huán)境變量
- 4.6 配置hostname(本機(jī)IP映射)
- 4.7 安裝VNC&Oracle相關(guān)依賴
- 4.7.1 配置yum源
- 4.7.2 安裝依賴
- 4.7.4 如果安裝失敗的依賴進(jìn)行單獨(dú)安裝
- 4.7.5 安裝語(yǔ)言包
- 4.8 開放端口/關(guān)閉防火墻
- 4.8.1 開放端口
- 4.8.2 關(guān)閉防火墻
- 4.9 上傳Oracle安裝文件
- 4.10 安裝
- 4.10.1 增加或修改oracle的環(huán)境變量
- 4.10.2 配置監(jiān)聽程序
- 5 創(chuàng)建數(shù)據(jù)庫(kù)
- 5.1 刪除實(shí)例
- 5.2 登陸Oracle
- 總結(jié)
1 基本環(huán)境介紹
Linux我們默認(rèn)使用CentOS 7 x64
所以為了對(duì)應(yīng)操作系統(tǒng)我們使用64位的Oracle 11g數(shù)據(jù)庫(kù)
Oracle11g需要準(zhǔn)備至少:2核CPU、2G內(nèi)存、8GB的硬盤空間
- 查看cpu詳細(xì)信息
lscbu
- 查看內(nèi)存詳細(xì)信息
free -h
- 查看存儲(chǔ)盤詳細(xì)信息
lsblk
確保服務(wù)器能訪問(wèn)外網(wǎng)
- 可以ping www.baidu.com進(jìn)行測(cè)試
2 檢測(cè)是否安裝了Oracle
查看是否有 oracle 的進(jìn)程
ps -ef | grep ora
檢查是否有oracle用戶
# 一般安裝oracle的時(shí)候默認(rèn)會(huì)建一個(gè)oracle用戶id oracle
3 卸載Oracle
3.1 重新做一次虛擬機(jī)
因?yàn)镺racle的卸載極其麻煩,從效率上講甚至不如直接重新安裝虛擬機(jī)
3.2 卸載Oracle
4 安裝準(zhǔn)備
Oracle的安裝需要圖形化界面,所以身為命令形式的Linux操作系統(tǒng)就需要安裝圖形化界面:VNC;
為了安全起見,不建議使用root做為vnc用戶,所以,安裝oracle時(shí)要建立單獨(dú)的用戶去安裝oracle相關(guān)
4.1 建立oracle用戶和用戶組
# 在Linux中創(chuàng)建名為oinstall的用戶組groupadd oinstall# 創(chuàng)建dba用戶組groupadd dba# 創(chuàng)建oper用戶組groupadd oper# 為dba和oper用戶組創(chuàng)建oracle用戶 # -g 主用戶組 # -G 附加組useradd -g oinstall -G dba,oper oracle# 將oracle用戶的密碼設(shè)置為oracleecho "oracle"|passwd oracle --stdin
4.2 為Oracle的安裝創(chuàng)建相關(guān)目錄
# 建文件夾mkdir -p /u01/app/oracle/product/11.2.0/db_1# 改變屬主和屬組chown -R oracle:oinstall /u01/app# 為文件夾授權(quán)chmod -R 775 /u01/app
4.3 優(yōu)化OS內(nèi)核參數(shù)
vim /etc/sysctl.conf# 添加如下內(nèi)容fs.aio-max-nr = 1048576fs.file-max = 6815744kernel.shmall = 2097152# kernel.shmmax 參數(shù)設(shè)置為物理內(nèi)存的一半kernel.shmmax = 1200000000kernel.shmmni = 4096kernel.sem = 250 32000 100 128net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 262144net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048576# 因?yàn)閯傋远x配置了shmmax、shmmni、shmall,所以注釋掉原有自帶的shmmax、shmall這些屬性
保存并退出后,需要使使參數(shù)生效
sysctl -p
4.4 限制oracle用戶的shell權(quán)限
為了優(yōu)化性能,需要添加oracle用戶的限制參數(shù)
vim /etc/security/limits.conf # 在文件末尾添加下面四行# 設(shè)置進(jìn)程數(shù)軟限制oracle soft nproc 2047# 設(shè)置進(jìn)程數(shù)硬限制oracle hard nproc 16384# 設(shè)置文件數(shù)軟限制oracle soft nofile 1024# 設(shè)置文件數(shù)硬限制oracle hard nofile 65536# 進(jìn)程會(huì)話限制可以采用pam_limits認(rèn)證模塊來(lái)實(shí)現(xiàn),通過(guò)修改登錄程序login的PAM設(shè)置以啟用該認(rèn)證vim /etc/pam.d/login # 在文件最后添加下面一行session required /lib64/security/pam_limits.so# 一般都是64位系統(tǒng),64位系統(tǒng)需要設(shè)置為/lib64/security/pam_limits.so 否則重啟服務(wù)器后就會(huì)出現(xiàn)命令行無(wú)法登錄,但是通過(guò)桌面方式能登錄的情況session required pam_limits.so
使參數(shù)生效
source /etc/profile
4.5 為Oracle用戶添加Oracle環(huán)境變量
su - oraclevim .bash_profile# 添加如下內(nèi)容ORACLE_BASE=/u01/app/oracleORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1PATH=$PATH:$ORACLE_HOME/binORACLE_SID=orclNLS_LANG="SIMPLIFIED CHINESE_CHINA.UTF8"export ORACLE_BASE ORACLE_HOME ORACLE_SID PATHif [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; thenulimit -p 16384ulimit -n 65536 elseulimit -u 16384 -n 65536 fifi
退出后需要刷新環(huán)境變量
source .bash_profile或source /home/oracle/.bash_profile
4.6 配置hostname(本機(jī)IP映射)
安裝oracle時(shí),一定要保證主機(jī)名出現(xiàn)在/etc/hosts中
vim /etc/hosts# 添加如下內(nèi)容127.0.0.1 localhost192.168.222.30 mydb
測(cè)試hostname
ping -c 3 mydb
/etc/sysconfig/network中的hostname要與/etc/hosts中的一致
vim /etc/sysconfig/network# 添加如下內(nèi)容NETWORKING=yesHOSTNAME=mydb# 服務(wù)器IPGATEWAY=192.168.222.30NTPSERVERARGS=iburst
4.7 安裝VNC&Oracle相關(guān)依賴
4.7.1 配置yum源
cd /etcmv yum.repos.d yum.repos.d.bakmkdir yum.repos.dwget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo# 清理緩存yum clean all# 建緩存yum makecache#安裝epel源yum -y install epel-release
4.7.2 安裝依賴
#圖形界面必備`X Window System`yum -y groupinstall "X Window System"#安裝VNC+圖形、oracle需要的依賴(軟件)yum -y install \binutils \compat-libcap1 \compat-libstdc++-33 \compat-libstdc++-33*.i686 \elfutils-libelf-devel \gcc \gcc-c++ \glibc*.i686 \glibc \glibc-devel \glibc-devel*.i686 \ksh \libgcc*.i686 \libgcc \libstdc++ \libstdc++*.i686 \libstdc++-devel \libstdc++-devel*.i686 \libaio \libaio*.i686 \libaio-devel \libaio-devel*.i686 \make \sysstat \unixODBC \unixODBC*.i686 \unixODBC-devel \unixODBC-devel*.i686 \libXp
4.7.3 檢查依賴是否安裝完成
rpm -q \binutils \compat-libstdc++-33 \elfutils-libelf \elfutils-libelf-devel \expat \gcc \gcc-c++ \glibc \glibc-common \glibc-devel \glibc-headers \libaio \libaio-devel \libgcc \libstdc++ \libstdc++-devel \make \pdksh \sysstat \unixODBC \unixODBC-devel | grep "not installed"
4.7.4 如果安裝失敗的依賴進(jìn)行單獨(dú)安裝
方法一:通過(guò)yum安裝
yum -y install pdksh(安裝失敗的package)
方法二:wget命令直接下載pdksh的rpm包,下載到至/tmp/
wget -O /tmp/pdksh-5.2.14-37.el5_8.1.x86_64.rpm http://vault.centos.org/5.11/os/x86_64/CentOS/pdksh-5.2.14-37.el5_8.1.x86_64.rpm# 安裝pdkshrpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm
4.7.5 安裝語(yǔ)言包
服務(wù)器&VNC&Oracle安裝包語(yǔ)言要統(tǒng)一,這里我使用的是中文安裝包,為避免中文亂碼,需要安裝中文語(yǔ)言包(如果你都是英文可以忽略此步驟)
—————上傳方法—————
# 1.切換至oracle安裝目錄cd /u01/# 2.將文件上傳至服務(wù)器rz/sz# 或shell工具拖拉拽# 或# ---------------------------------------------------------------scp -r /Users/nan/Desktop/Oracle root@10.10.1.104:/opt/test/ # 解析 scp -r dir username@host:dir 命令 遞歸 要拷貝的文件路徑 目的主機(jī)用戶名@目的主機(jī)ip:目的路徑# ---------------------------------------------------------------# 3.安裝中文字體包yum –y install pdksh-5.2.14-37.el5_8.1.x86_64.rpm
4.8 開放端口/關(guān)閉防火墻
4.8.1 開放端口
防火墻放行VNC端口5901和Oracle默認(rèn)端口1521
編輯iptables, 開放1521端口:
sudo vi /etc/sysconfig/iptables-A INPUT -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT
重啟防火墻
sudo service iptables restart
保存配置,以便linux重啟后依然有效
sudo service iptables save
查看防火墻規(guī)則:
sudo iptables -L –n
4.8.2 關(guān)閉防火墻
service iptables stopchkconfig iptables offvim /etc/sysconfig/selinuxSELINUX=enforcing改成SELINUX=disabled
4.9 上傳Oracle安裝文件
切換用戶并切換目錄
xhost +su - oraclecd /u01/sw
上傳Linux-x86-64_1of7.zip和Linux-x86-64_2of7.zip文件至/u01/sw目錄上傳方法
解壓縮安裝文件
unzip linux.x64_11gR2_database_1of2.zipunzip linux.x64_11gR2_database_2of2.zip
完成后切換root用戶,復(fù)制授權(quán)
su - rootmkdir /home/oracle/etc/cp /db/database/response/* /home/oracle/etc/chmod 777 /home/oracle/etc/*.rsp
登錄oracle用戶
su – oraclevi /home/oracle/etc/db_install.rsp# 信息如下:oracle.install.option=INSTALL_DB_SWONLYUNIX_GROUP_NAME=oinstallINVENTORY_LOCATION=/db/app/oracle/oraInventorySELECTED_LANGUAGES=en,zh_CNORACLE_HOSTNAME=oracleORACLE_HOME=/db/app/oracle/product/11.2.0/db_1ORACLE_BASE=/db/app/oracleoracle.install.db.InstallEdition=EEoracle.install.db.isCustomInstall=trueoracle.install.db.DBA_GROUP=dbaoracle.install.db.OPER_GROUP=oinstalloracle.install.db.config.starterdb.type=GENERAL_PURPOSEoracle.install.db.config.starterdb.globalDBName=orcloracle.install.db.config.starterdb.SID=orcloracle.install.db.config.starterdb.memoryLimit=512oracle.install.db.config.starterdb.password.ALL=oracleDECLINE_SECURITY_UPDATES=true
4.10 安裝
執(zhí)行Oracle安裝文件
su - oracle./runInstaller -silent -force -responseFile /home/oracle/etc/db_install.rsp -ignorePrereq
安裝期間可以使用tail命令監(jiān)看oracle的安裝日志
cd /db/app/oracle/oraInventory/logs/tail -f installActions2021-11-10_10-38-29AM.log
安裝完成,提示Successfully Setup Software
使用root用戶執(zhí)行腳本
su - root/db/app/oracle/product/11.2.0/db_1/root.sh
4.10.1 增加或修改oracle的環(huán)境變量
su - oraclevi ~/.bash_profileexport ORACLE_HOME=/db/app/oracle/product/11.2.0/db_1export TNS_ADMIN=$ORACLE_HOME/network/adminexport PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/binexport PATH=${PATH}:/usr/bin:/bin:/usr/local/binexport LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/libexport LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/libexport LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/libexport CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlibexport CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlibexport CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlibexport LIBPATH=${CLASSPATH}:$ORACLE_HOME/lib:$ORACLE_HOME/ctx/libexport ORACLE_OWNER=oracleexport SPFILE_PATH=$ORACLE_HOME/dbsexport ORA_NLS10=$ORACLE_HOME/nls/data
使配置生效
source ~/.bash_profile
4.10.2 配置監(jiān)聽程序
配置監(jiān)聽
# 確保在oracle目錄的bin下pwd/db/app/oracle/product/11.2.0/db_1/bin./netca /silent /responseFile /home/oracle/etc/netca.rsp
啟動(dòng)監(jiān)聽
# 確保在oracle目錄的bin下pwd/db/app/oracle/product/11.2.0/db_1/bin# 啟動(dòng)監(jiān)聽lsnrctl start# 查看監(jiān)聽狀態(tài)lsnrctl start LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 25-MAY-2019 00:13:21 Copyright (c) 1991, 2009, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1522)))STATUS of the LISTENER------------------------Alias LISTENERVersion TNSLSNR for Linux: Version 11.2.0.1.0 - ProductionStart Date25-MAY-2019 00:05:55Uptime 0 days 0 hr. 7 min. 32 secTrace Level offSecurity ON: Local OS AuthenticationSNMP OFFListener Parameter File /db/app/oracle/product/11.2.0/db_1/network/admin/listener.oraListener Log File /db/app/oracle/diag/tnslsnr/oracle/listener/alert/log.xmlListening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1522))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle)(PORT=1522)))The listener supports no servicesThe command completed successfully
監(jiān)聽狀態(tài)
lsnrctl start# 顯示如下LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 25-MAY-2019 00:13:21Copyright (c) 1991, 2009, Oracle. All rights reserved.Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1522)))
5 創(chuàng)建數(shù)據(jù)庫(kù)
編輯應(yīng)答文件
vi /etc/dbca.rspGDBNAME="orcl.oracle" SID="orcl"SYSPASSWORD = "oracle" SYSTEMPASSWORD = "oracle" CHARACTERSET="AL32UTF8" NATIONALCHARACTERSET="UTF8"# 執(zhí)行:$ORACLE_HOME/bin/dbca -silent -responseFile /home/oracle/etc/dbca.rsp
建庫(kù)
pwd/db/app/oracle/product/11.2.0/db_1/bindbca -silent -responseFile etc/dbca.rsp# 至此完成數(shù)據(jù)庫(kù)實(shí)例的創(chuàng)建
設(shè)置Oracle開機(jī)啟動(dòng)
vim /etc/oratab# 把“N”改成“Y”orcl:/db/app/oracle/product/11.2.0/db_1:Y
5.1 刪除實(shí)例
[oracle@oracle bin]$ vi /etc/orataborcl:/db/app/oracle/product/11.2.0/db_1:Y # //把“N”改成“Y”# 保存退出[oracle@oracle bin]$ pwd/db/app/oracle/product/11.2.0/db_1/bin# 通過(guò)dbstart 啟動(dòng)此實(shí)例,監(jiān)聽器## ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener## Usage: ./dbstart ORACLE_HOME[oracle@oracle bin]$ ./dbstart $ORACLE_HOME;# oracle的進(jìn)程關(guān)閉,監(jiān)聽器也停止;[oracle@oracle bin]$ ./dbshut $ORACLE_HOME;# 啟動(dòng)監(jiān)聽[oracle@oracle bin]$ ./lsnrctl start;# 查看監(jiān)聽[oracle@oracle bin]$ ./lsnrctl status
5.2 登陸Oracle
[oracle@oracle bin]$ pwd/db/app/oracle/product/11.2.0/db_1/bin[oracle@oracle bin]$ ./sqlplus /nolog# 進(jìn)入系統(tǒng)管理用戶SQL> conn / as sysdbaConnected to an idle instance.# 啟動(dòng)oracle實(shí)例SQL> startup;
1、使用oracle用戶登錄桌面,打開終端運(yùn)行安裝程序
[root@oracledb ~] cd /ora/database[root@oracledb ~] ./runInstaller
1)訂閱郵件跳過(guò)
2)選擇忽略更新(或者讓選擇桌面版還是服務(wù)器版,如果有選擇服務(wù)器版)
3)這里選擇僅安裝數(shù)據(jù)庫(kù),稍后再配置初始化數(shù)據(jù)。
4):選擇單實(shí)例安裝。
5):語(yǔ)言,linux服務(wù)器上就別想什么中文這些了,就默認(rèn)英文完事。
6):默認(rèn)
7):這里就出現(xiàn)最開始創(chuàng)建的相應(yīng)目錄信息了,會(huì)自動(dòng)讀取。
8):下一步
9):選擇group 組為之前創(chuàng)建好的oinstall
10):安裝的過(guò)程中可能會(huì)出現(xiàn)如下的一些警告信息,如提示semmni為0 的問(wèn)題,該問(wèn)題一直沒有找到原因,我們?cè)谏厦嫘薷膬?nèi)核的過(guò)程中就已經(jīng)調(diào)整了kernel.sem = 250 32000 100 128 但是檢測(cè)無(wú)法通過(guò)(暫時(shí)無(wú)解)、其他的一些依賴組件提示,其實(shí)我們已經(jīng)安裝好了,只是centos7上yum安裝的依賴包要比oracle 11g 所需的包更新,版本更高,所以可以直接忽略這些提示(勾選 ignore all)。
3、安裝到最后的時(shí)候會(huì)出現(xiàn)一個(gè)提示:需要用root權(quán)限執(zhí)行2個(gè)shell腳本,那么我們?cè)谥暗膔oot用戶終端下運(yùn)行提示中的對(duì)應(yīng)腳本文件即可。
這里或者更早前的步驟就可能會(huì)出現(xiàn)一個(gè)很神奇(zhizhang)的問(wèn)題,對(duì)話框可能無(wú)法正常彈出,測(cè)試在VM虛擬機(jī)或者云服務(wù)器,如阿里云等都這樣,但是用鼠標(biāo)可以拖開。是的,你沒有看錯(cuò),直接拖出對(duì)話框。這個(gè)問(wèn)題不知道原因,有知道的朋友請(qǐng)留言告知,萬(wàn)分感謝。
還有可能出現(xiàn)一個(gè)壓根兒就不能拖得對(duì)話框(阿里云上反復(fù)測(cè)試,就是會(huì)出現(xiàn))最后沒轍了,本地跑虛擬機(jī)一步步的模擬安裝,發(fā)現(xiàn)是一個(gè)警告提示,一般按4次tab鍵即可切換到下一步選項(xiàng)回車即可。
4、安裝完成后還需要?jiǎng)?chuàng)建數(shù)據(jù)庫(kù),還是同樣在Oracle用戶桌面環(huán)境下,重新打開一個(gè)終端,輸入 dbca 命令即可彈出相應(yīng)的數(shù)據(jù)庫(kù)創(chuàng)建向?qū)А?/strong>
如果提示沒有這個(gè)命令,那么請(qǐng)?jiān)敿?xì)檢查一下上述的依賴包是否正確安裝,另外創(chuàng)建過(guò)程中如果出現(xiàn)提示oracle not available 檢查是否已添加主機(jī)名到hosts文件中。
總結(jié)
到此這篇關(guān)于Linux CentOS7安裝Oracle11g的文章就介紹到這了,更多相關(guān)Linux CentOS7安裝Oracle11g內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!
