linux系統安裝oracle11g資料庫
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伺服器上了!