redhat系統安裝Oracle
首先安裝yum
https://blog.csdn.net/qq_28657369/article/details/84543715
下載oracle數據庫
https://www.oracle.com/technetwork/cn/database/enterprise-edition/downloads/index.html
準備Oracle的安裝環境(root用戶)
檢查和和更新所需要的軟件包
執行命令
rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel
rpm -q gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers
rpm -q ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make numactl-devel sysstat
對於未安裝的這些包執行yum install [包名],命令如下
yum install compat-libstdc++-33
yum install elfutils-libelf-devel
在Oracle數據庫軟件安裝時,ksh實際是用的pdksh,但ksh也是可以使用的,只是安裝時會有警告,pdksh是一個早期的軟件包,可以在http://rpm.pbone.net/ 中找到。
驗證系統要求
查看內存大小 grep MemTotal /proc/meminfo
查看交換空間 grep SwapTotal /proc/meminfo
查看磁盤空間 df -h Oracle 11g R2 x64企業版的磁盤空間要求4.35GB以上。
創建Oracle用戶組和用戶賬號(root用戶)
# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba oracle
# passwd oracle
配置內核參數(root用戶)
1.修改文件/etc/sysctl.conf vim /etc/sysctl.conf
文件內容如下:
#/etc/sysctl.conf
# for oracle
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
# 官方文檔kernel.shmmax = 536870912,實際軟件中需要kernel.shmmax = 980742144
kernel.shmmax = 980742144
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
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 使參數生效。
2. 修改文件/etc/security/limits.conf vim /etc/security/limits.conf
文件內容如下:
# /etc/security/limits.conf
# for oracle
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
:wq保存文件並退出
創建Oracle的安裝目錄(root用戶)
# mkdir -p /u01/app/
# chown -R oracle:oinstall /u01/app/
# chmod -R 775 /u01/app/
編輯Oracle用戶環境(Oracle用戶)
在root用戶下輸入 su oracle 進入oracle用戶環境
編輯.bash_profile文件 vim /home/oracle/.bash_profile
.bash_profile文件內容如下:
#For Oracle
export DISPLAY=:0.0
export TMP=/tmp;
export TMPDIR=$TMP;
export ORACLE_BASE=/u01/app/oracle;
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1;
export ORACLE_SID=oracle11g;
export ORACLE_TERM=xterm;
export PATH=/usr/sbin:$PATH;
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/rdbms/jlib;
:wq保存退出。
重新啓動Linux,選擇oracle用戶環境的時候,系統會根據環境變量進行配置,後邊的oracle命令才能正常執行。
輸入 echo $ORACLE_HOME 查看環境變量是否配置成功,如果正常輸出了配置的路徑,則成功,如果輸出爲空白,可以在本次手動執行 source /home/oracle/.bash_profile 執行環境變量的加載。但是僅在當前終端窗口有效。
安裝ORACLE數據庫(oracle用戶)
進入oracle解壓縮後的安裝目錄,我的目錄是 /mnt/usb/database cd /mnt/usb/database
鍵入vncserver 如果提示command not found,則在root用戶下使用 yum install tigervnc-server -y進行安裝
執行 ./runInstaller 進入安裝界面,我之前遇到過無法啓動用戶界面的情況,報的錯誤忘記了,反正能正常進入安裝界面就行了。
進入安裝界面後,安裝過程和Windows下大致相同。
如果出現了缺失依賴包可以點擊右上角的ignore all忽略所有
其中如果報錯誤:Error in invoking target ‘agent nmhs’ of makefile ‘/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk’ 解決方案是: 保留安裝過程,另外開啓一個終端窗口,將ins_emagent.mk文件中的(MK_EMAGENT_NMECTL)更改爲(MK_EMAGENT_NMECTL) -lnnz11,然後在安裝過程中點擊Retry即可。
在安裝到68%時提示錯誤Error in invoking target 'install' of makefile '/u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk'. See '/u01/app/oraInventory/logs/installActions2015-01-22_09-39-03AM.log' for details.
下載glibc-static-2.17-55.el7.x86_64.rpm安裝,下載地址:
------------------------------------------分割線------------------------------------------
免費下載地址在 http://linux.linuxidc.com/
用戶名與密碼都是www.linuxidc.com
具體下載目錄在 /2015年資料/1月/22日/RHEL7.0 VNC遠程安裝Oracle 11gR2報錯解決
該軟件包包含一個靜態鏈接庫:/usr/lib64/libc.a
修改/u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk,將
ctxhx: $(CTXHXOBJ)
$(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)
修改爲:
ctxhx: $(CTXHXOBJ)
-static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/stdc.a
點擊Retry繼續安裝。
安裝最後步驟按提示在root用戶下執行腳本.
# cd /u01/app/oraInventory/
# sh orainstRoot.sh
# cd /u01/app/oracle/product/11.2.0/dbhome_1/
# sh root.sh
在Enter the full pathname of the local bin directory:[/usr/local/bin]:直接回車即可
配置監聽器
oracle安裝成功後需要配置監聽器,直接鍵入 netca命令,如果提示bash:netca:command not found ,手工執行source /home/oracle/.bash_profile,就可以進入配置監聽器的用戶界面了,根據需要配置監聽器。
1. 配置Listener configuration
2. 配置Local Net Service Name configuration
新建數據庫實例
鍵入 dbca 命令,進行數據庫實例配置
測試數據庫
測試監聽命令
$ lsnrctl stop
$ lsnrctl start
如果在start這個過程中 報The listener supports no services
解決辦法:打開listener.ora 文件 vim $ORACLE_HOME/network/admin/listener.ora
添加內容:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = oracle11g)
(SID_NAME = oracle11g)
)
)
其中oracle11g是自己配置的服務器名稱.
操作sqlplus
命令 sqlplus /nolog 進入SQL控制檯
命令 connect /as sysdba sysdba連接數據庫。如果此時顯示Connected to an idle instance,不用着急,進入第3個步驟
命令 shutdown immediate ,如果此時報service handle not initialized。在sysdba連接上之後鍵入shutdown abort
命令 startup.如果此時報錯,請檢查一下.bash_profile下邊的$ORACLE_SID是否和建的數據庫的SID一直,然後保存爲一致之後重新啓動。
其他測試命令,比如select userenv(‘language’) from dual,查看數據庫的dataset編碼,爲後續oracle數據庫的導入做準備。
至此,oracle數據庫已經完全安裝在Linux服務器上了!
原文博客:https://blog.csdn.net/u012272908/article/details/77411149