前言
安裝oracle時,發現網上的文章總是缺少一些資訊,導致安裝不順利,因為我對一些文章進行了整合,用以備忘。
Oracle安裝
首先下載linux版本的oracle安裝檔案,然後通過XFTP上傳到root資料夾下。
linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip
然後我們通過XShell連線Linux伺服器,然後執行下面命令,檢視Swap分割區空間,不能小於2G。
grep SwapTotal /proc/meminfo
然後修改CentOS系統標識為redhat,因為redhat是Centos的正版形式,Oracle預設不支援CentOS。
vim /etc/redhat-release
清空redhat-release內的全部內容,(快捷鍵dd),改成redhat-7
redhat-7
注:linux編輯檔案可以通過vi或者vim命令開啟指定位置的檔案,如vi appsettings.json,然後輸入i進入編輯模式,輸入ese退出編輯模式,輸入:進入底行,輸入wq儲存退出(:wq)。
然後修改sysctl.conf
vim /etc/sysctl.conf
注:如vim命令無法執行,則需要先安裝,安裝命令如下:
yum -y install vim*
新增以下內容:
fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 kernel.shmall = 2097152 kernel.shmmax = 2147483648 net.ipv4.ip_local_port_range = 9000 65500 net.ipv4.icmp_echo_ignore_broadcasts = 1 net.ipv4.conf.all.rp_filter = 1 net.core.rmem_default = 262144 net.core.rmem_max= 4194304 net.core.wmem_default= 262144 net.core.wmem_max= 1048576
修改完後,啟用新的設定
sysctl -p
然後安裝必須的軟體包
yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat unixODBC unixODBC-devel
然後建立安裝oracle程式使用者組
groupadd oinstall #建立安裝oracle程式使用者組 groupadd dba #建立DBA使用者組 useradd -g dba -m oracle #建立使用者oracle 並加入到dba組 usermod -a -G oinstall oracle #將使用者oracle加入到oinstall組 passwd oracle #修改使用者oracle的密碼 id oracle #檢視使用者oracle的資訊
然後建立oracle目錄
mkdir -p /data/oracle #建立oracle主目錄 mkdir -p /data/inventory #建立oralce設定目錄 mkdir -p /data/src #建立oracle壓縮包解壓目錄 #修改目錄許可權 chown -R oracle:oinstall /data/oracle chown -R oracle:oinstall /data/inventory chown -R oracle:oinstall /data/src #檢視目錄許可權 ll /data
然後設定oracle使用者的shell限制
vim /etc/security/limits.conf
新增內容如下:
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
然後修改使用者環境變數
vim /home/oracle/.bashrc
新增內容如下:
export PATH export ORACLE_BASE=/data/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 export ORACLE_SID=orcl export ORACLE_UNQNAME=orcl export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export LANG=C export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
然後啟用/home/oracle/.bashrc
source /home/oracle/.bashrc
然後開始安裝最開始上傳到root資料夾下的oracle
先解壓縮安裝包到 /data/src/,然後給oracle使用者授權
unzip linux.x64_11gR2_database_1of2.zip -d /data/src/ unzip linux.x64_11gR2_database_2of2.zip -d /data/src/ chown -R oracle:oinstall /data/src/ ll /data/src/
然後執行下面命令,修改SELINUX=disabled,關閉selinux
vim /etc/selinux/config
修改內容
SELINUX=disabled
然後重啟系統
reboot
重啟後,進入Oracle使用者
su oracle
然後編輯資料庫安裝檔案
vim /data/src/database/response/db_install.rsp
由於需要設定的欄位比較多,並且並不是上下連續的,所以我們可以在檢視模式下(按esc即可),通過【/字串】定位字串位置,如/oracle
oracle.install.option=INSTALL_DB_SWONLY # 安裝型別 ORACLE_HOSTNAME=oracle.server # 主機名稱 UNIX_GROUP_NAME=oinstall # 安裝組 INVENTORY_LOCATION=/data/inventory # INVENTORY目錄 SELECTED_LANGUAGES=en,zh_CN # 選擇語言 ORACLE_HOME=/data/oracle/product/11.2.0/db_1 # oracle_home ORACLE_BASE=/data/oracle # oracle_base oracle.install.db.InstallEdition=EE # oracle版本 oracle.install.db.DBA_GROUP=dba # dba使用者組 oracle.install.db.OPER_GROUP=oinstall # oper使用者組 oracle.install.db.config.starterdb.type=GENERAL_PURPOSE # 資料庫型別 oracle.install.db.config.starterdb.globalDBName=orcl # globalDBName oracle.install.db.config.starterdb.SID=orcl # SID oracle.install.db.config.starterdb.characterSet=AL32UTF8 # 預設資料庫編碼 oracle.install.db.config.starterdb.memoryLimit=800 # 自動管理記憶體的最小記憶體(M) oracle.install.db.config.starterdb.password.ALL=oracle # 設定所有資料庫使用者使用同一個密碼 DECLINE_SECURITY_UPDATES=true # 設定安全更新
以上設定修改必須全部修改,不然會無法安裝。
修改完設定進行靜默安裝oracle,執行命令如下
/data/src/database/runInstaller -silent -responseFile /data/src/database/response/db_install.rsp -ignorePrereq
安裝oracle需要等待的時間比較長,這裡需要耐心。
安裝完成後,我們需要回到root使用者執行命令,/data/oracle/product/11.2.0/db_1/root.sh,我們可以雙擊Xshell的視窗,這樣我們會開啟一個新的視窗,並且是root使用者,因為後面還要回到oracle使用者,這樣就不用切換使用者了。
/data/oracle/product/11.2.0/db_1/root.sh
然後再回到oracle使用者,編輯監聽組態檔。
vim /data/src/database/response/netca.rsp
修改內容如下
INSTALL_TYPE=""custom"" # 安裝的型別 LISTENER_NUMBER=1 # 監聽器數量 LISTENER_NAMES={"LISTENER"} # 監聽器的名稱列表 LISTENER_PROTOCOLS={"TCP;1521"} # 監聽器使用的通訊協定列表 LISTENER_START=""LISTENER"" # 監聽器啟動的名稱
然後執行以下netca.rsp,如下
/data/oracle/product/11.2.0/db_1/bin/netca /silent /responseFile /data/src/database/response/netca.rsp
然後編輯資料庫範例檔案
vim /data/src/database/response/dbca.rsp
編輯內容如下
RESPONSEFILE_VERSION ="11.2.0" // 版本號 OPERATION_TYPE ="createDatabase" // 操作為建立範例 GDBNAME ="orcl" // 資料庫範例名 SID ="orcl" // 範例名字 TEMPLATENAME = "General_Purpose.dbc" // 建庫用的模板檔案 SYSPASSWORD = "oracle" // SYS管理員密碼 SYSTEMPASSWORD = "oracle" // SYSTEM管理員密碼 SYSMANPASSWORD= "oracle" DBSNMPPASSWORD= "oracle" DATAFILEDESTINATION =/data/oracle/oradata // 資料檔案存放目錄 RECOVERYAREADESTINATION=/data/oracle/flash_recovery_area // 恢復資料存放目錄 CHARACTERSET ="AL32UTF8" // 字元集 NATIONALCHARACTERSET= "AL16UTF16" // 字元集 TOTALMEMORY ="1638" // 1638MB,實體記憶體2G*80%
然後靜默建立資料庫範例
/data/oracle/product/11.2.0/db_1/bin/dbca -silent -responseFile /data/src/database/response/dbca.rsp
然後檢視下範例是否執行情況
ps -ef | grep ora_ | grep -v grep
然後修改啟動和關閉範例的程式
修改啟動
vim /data/oracle/product/11.2.0/db_1/bin/dbstart
修改內容
ORACLE_HOME_LISTNER=/data/oracle/product/11.2.0/db_1
修改關閉
vim /data/oracle/product/11.2.0/db_1/bin/dbshut
修改內容
ORACLE_HOME_LISTNER=/data/oracle/product/11.2.0/db_1
然後修改/etc/oratab
vim /etc/oratab
修改內容,將orcl:/data/oracle/product/11.2.0:N修改為orcl:/data/oracle/product/11.2.0:Y。
dbstart和dbshut 這2個指令碼在執行時會檢查/etc/oratab 檔案裡的設定,為Y時才能繼續執行。
orcl:/data/oracle/product/11.2.0:Y
然後啟動oracle範例
/data/oracle/product/11.2.0/db_1/bin/dbstart
然後回到root使用者,設定開機啟動Oracle,可以剛剛開啟的視窗中操作。
編輯rc.local,執行命令如下
chmod +x /etc/rc.d/rc.local vim /etc/rc.d/rc.local
在檔案最後追加以下內容:
su oracle -lc "/data/oracle/product/11.2.0/db_1/bin/lsnrctl start" su oracle -lc "/data/oracle/product/11.2.0/db_1/bin/dbstart"
然後我們可以在oracle使用者視窗輸入以下命令,進入oracle資料庫
sqlplus / as sysdba
然後執行個查詢命令如下:
select status from v$instance
到此oracle就安裝成功了。
但我們需要遠端連線這個oracle,我們還需要修改listener.ora和tnsnames.ora檔案。
我們通過可以XFTP找到這倆檔案,右鍵用記事本編輯,如下圖:
編輯內容如下。
listener.ora:
# listener.ora Network Configuration File: /data/oracle/product/11.2.0/db_1/network/admin/listener.ora # Generated by Oracle configuration tools. LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521)) ) ) SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = ORCL) (SID_NAME = orcl) (ORACLE_HOME = /data/oracle/product/11.2.0/db_1) ) ) ADR_BASE_LISTENER = /data/oracle
注:SID_LIST_LISTENER是將oracle範例的一些資訊靜態註冊到服務中用的,缺少這遠端不可連線。
tnsnames.ora:
# tnsnames.ora Network Configuration File: /data/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora # Generated by Oracle configuration tools. ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) )
這兩個檔案內容修改後,關閉oracle的監聽服務,再啟動就可以遠端連線了。
注:檔案編輯的格式一旦錯誤也會導致監聽服務無法啟動。
lsnrctl stop #關閉監聽 在oracle使用者下執行
lsnrctl start #啟動監聽 在oracle使用者下執行
如果還無法遠端,則可能是防火牆原因,防火牆管理命令如下:
systemctl status firewalld #檢視防火牆狀態 systemctl stop firewalld #暫時關閉防火牆 systemctl disable firewalld #永久關閉防火牆 systemctl start firewalld #開啟防火牆
然後我們再用PLSQL就可以連線oracle了,如果PLSQL連線不上,可以先檢查client\network\ADMIN\tnsnames.ora,看看設定是否正確。
參考設定如下
[email protected] = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) )
----------------------------------------------------------------------------------------------------
到此,CentOS7下安裝Oracle11就介紹完了。
----------------------------------------------------------------------------------------------------
注:此文章為原創,任何形式的轉載都請聯絡作者獲得授權並註明出處!
若您覺得這篇文章還不錯,請點選下方的【推薦】,非常感謝!
https://www.cnblogs.com/kiba/articles/16837139.html