新到的云主機(jī)環(huán)境,系統(tǒng)是CentOS 7 x86_64,需要安裝上安裝Oracle11.2g。摸索很長時(shí)間,終于折騰搞定了。
下載 Oracle
- 下載地址:Oracle 11.2.0.2 (因?yàn)椴皇且迅顿M(fèi)用戶,只能下載 11.2.0.2,不能下載最新的11.2.0.4。囧)
下載下來之后是有兩個(gè)壓縮包:
- linux.x64_11gR2_database_1of2.zip
- linux.x64_11gR2_database_2of2.zip
- 解壓
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
配置
增加oracle用戶和相關(guān)用戶組
-
切換到root用戶
su - root
-
增加用戶組
--required groups
/usr/sbin/groupadd -g 501 oinstall
/usr/sbin/groupadd -g 502 dba
/usr/sbin/groupadd -g 503 oper -
增加用戶
/usr/sbin/useradd -u 502 -g oinstall -G dba,oper oracle
-
設(shè)置oracle用戶的密碼
passwd oracle
然后輸入想要設(shè)置的密碼。
系統(tǒng)配置
-
修改
/etc/sysctl.conf
vim /etc/sysctl.conf
增加以下內(nèi)容:
kernel.shmmni = 4096 kernel.shmmax = 4398046511104 kernel.shmall = 1073741824 kernel.sem = 250 32000 100 128 fs.aio-max-nr = 1048576 fs.file-max = 6815744 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048586
使修改生效:
/sbin/sysctl -p
-
修改
/etc/security/limits.conf
vim /etc/security/limits.conf
增加以下內(nèi)容
oracle soft nproc 131072 oracle hard nproc 131072 oracle soft nofile 131072 oracle hard nofile 131072 oracle soft core unlimited oracle hard core unlimited oracle soft memlock 50000000 oracle hard memlock 50000000
-
確保
/etc/hosts
中含有服務(wù)器機(jī)器名稱,像這樣(如果已經(jīng)含有了,就略過此步):<IP-address> <fully-qualified-machine-name> <machine-name>
比如服務(wù)器名稱是centos7-001,曾可以配置成這樣:
127.0.0.1 centos7-001 localhost localhost.localdomain
然后ping一下試試:
ping -c 1 centos7-001
正確的結(jié)果:
--- centos7 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms
-
修改
/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
-
修改oracle用戶環(huán)境變量
切換到 oracle 用戶
su - oracle
修改
.bash_profile
,添加以下內(nèi)容:# Oracle Settings export TMP=/tmp umask 022 export ORACLE_BASE=/data2/oracle/app # 安裝路徑根據(jù)實(shí)際情況修改 export ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 # 安裝路徑根據(jù)實(shí)際情況修改 export ORACLE_HOME PATH=$PATH:$ORACLE_HOME/bin export PATH
使之生效:
source .bash_profile
-
創(chuàng)建安裝路徑并授權(quán)給oracle用戶
su - root mkdir -p /data2/oracle/app chown oracle:oinstall /data2/oracle/app chmod 775 /data2/oracle/app mkdir -p /data2/oracle/app/oracle chown oracle:oinstall /data2/oracle/app/oracle chmod 775 /data2/oracle/app/oracle mkdir -p /data2/oracle/app/oracle/product/11.2.0/db_1 chown oracle:oinstall -R /data2/oracle/app/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
安裝圖形界面
-
CentOS 7 安裝
GNOME
圖形界面yum groupinstall "GNOME Desktop" "Graphical Administration Tools"
-
安裝Gnome GUI使用時(shí)報(bào)錯(cuò):
Transaction check error: file /usr/lib/systemd/system/blk-availability.service from install of device-mapper-7:1.02.107-5.el7.x86_64 conflicts with file from package lvm2-7:2.02.105-14.el7.x86_64 file /usr/sbin/blkdeactivate from install of device-mapper-7:1.02.107-5.el7.x86_64 conflicts with file from package lvm2-7:2.02.105-14.el7.x86_64 file /usr/share/man/man8/blkdeactivate.8.gz from install of device-mapper-7:1.02.107-5.el7.x86_64 conflicts with file from package lvm2-7:2.02.105-14.el7.x86_64 Error Summary -------------
解決辦法,先升級(jí)lvm2:
yum -y install lvm2
安裝Oracle
-
因?yàn)槭褂玫氖沁h(yuǎn)程主機(jī),所以要遠(yuǎn)程Linux圖形桌面,我這里使用的是VNC
在遠(yuǎn)程主機(jī)上安裝vnc:
yum -y install vnc-server
設(shè)置密碼:
vncpasswd
啟動(dòng)vncserver:
vncserver
設(shè)置DISPLAY:
export DISPLAY=:1
設(shè)置圖形桌面訪問權(quán)限
xhost +
vncserver默認(rèn)端口是5900 + 序號(hào),第一個(gè)即
5901
。在本地的windows環(huán)境下安裝并運(yùn)行vnc客戶端,下載地址: https://www.realvnc.com/download/vnc/
-
使用vnc連接到遠(yuǎn)程主機(jī),在桌面上右鍵打開命令行,進(jìn)入到oracle所在路徑,然后:
cd database
export DISPLAY=:1
./runInstaller然后就可以啟動(dòng)oracle圖形界面安裝向?qū)Я恕?/p>
遇到的問題
-
安裝Gnome GUI使用時(shí)報(bào)錯(cuò):
Transaction check error: file /usr/lib/systemd/system/blk-availability.service from install of device-mapper-7:1.02.107-5.el7.x86_64 conflicts with file from package lvm2-7:2.02.105-14.el7.x86_64 file /usr/sbin/blkdeactivate from install of device-mapper-7:1.02.107-5.el7.x86_64 conflicts with file from package lvm2-7:2.02.105-14.el7.x86_64 file /usr/share/man/man8/blkdeactivate.8.gz from install of device-mapper-7:1.02.107-5.el7.x86_64 conflicts with file from package lvm2-7:2.02.105-14.el7.x86_64 Error Summary -------------
解決辦法,先升級(jí)lvm2:
yum -y install lvm2
-
安裝oracle時(shí)報(bào)錯(cuò)memcpy@GLIBC_2.14未找到:
INFO: /lib64/libstdc++.so.5: undefined reference to `memcpy@GLIBC_2.14' collect2: error: ld returned 1 exit status INFO: make: *** [ctxhx] Error 1 INFO: End output from spawned process.
解決辦法,先查看 /usr/lib64/libc.a是否存在:
ls /usr/lib64 | grep libc.a
如果查找不到先安裝:glibc-static,如果有則略過此步
yum -y install glibc-static
修改oracle安裝目錄下 $ORACLE_HOME/ctx/lib/ins_ctx.mk
將ctxhx: $(CTXHXOBJ) $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)
修改為:
ctxhx: $(CTXHXOBJ) -static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/libc.a
然后點(diǎn)擊retry通過
-
安裝oracle時(shí)報(bào)錯(cuò)Error in invoking target 'agent nmhs':
Error in invoking target 'agent nmhs' of makefile '/data2/oracle/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk'
解決辦法:修改
$ORACLE_HOME/sysman/lib/ins_emagent.mk
將$(MK_EMAGENT_NMECTL)
修改為
$(MK_EMAGENT_NMECTL) -lnnz11
然后點(diǎn)擊retry通過
至此,就可以使用sqldevelper等客戶端連接oracle了