1.Centos版本Linux version 3.10.0-957.el7.x86_64
Linux version 3.10.0-957.el7.x86_64
2.oracle11g版本
linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip
3.創建用戶組、並設置權限
操作用戶:root
操作目錄:/home/root
root> groupadd oinstall
root> groupadd dba
root> useradd -g oinstall -G dba oracle
root> passwd oracle #跳過密碼簡單提示,連輸兩次,設置為oracle
4.創建數據庫安裝目錄
操作用戶:oracle
操作目錄:/home/oracle
>root su - oracle #切換oracle用戶
>oracle mkdir -p app/oracle11g #ORACLE_BASE
>oracle mkdir -p app/oracle11g/product/11.2.0/db_1 #ORACLE_HOME
>oracle mkdir -p app/oracle11g/oradata #存放數據庫目錄
>oracle mkdir -p app/oracle11g/inventory
>oracle mkdir -p app/oracle11g/flash_recovery_area
>oracle chown -R oracle:oinstall app #修改目錄所有者
>oracle chmod -R 775 app #修改目錄及目錄下所有文件權限
5.關閉selinux
操作用戶:root
操作目錄:/home/root
root>vi /etc/selinux/config
SELINUX=disabled #修改參數
6.關閉防火牆
操作用戶:root
操作目錄:/home/root
root> systemctl stop firewalld.service #停止服務|firewall
root> systemctl disable firewalld.service #禁止firewall開機啟動
7.修改hosts文件
操作用戶:root
操作目錄:/home/root
root> vi /etc/hosts
172.22.105.133 oracle #文件最后一行追加
8.修改內核參數
操作用戶:root
操作目錄:/home/root
root> vi /etc/sysctl.conf
# 修改以下內容
kernel.shmall = 2097152
kernel.shmmax = 1073741824
# 添加以下內容
fs.aio-max-nr = 1048576
fs.file-max = 6815744
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 = 1048576
# 配置生效
root> sysctl -p
9.修改用戶限制文件
操作用戶:root
操作目錄:/home/root
root> vi /etc/security/limits.conf
# 文件最后一行追加
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
10.關聯設置
操作用戶:root
操作目錄:/home/root
root>vi /etc/pam.d/login
# 文件最后一行追加
session required /lib64/security/pam_limits.so
session required pam_limits.so
11.Oracle用戶修改環境變量
操作用戶:oracle
操作目錄:/home/oracle
root> su - oracle #注意'-'不能少
# 自動進入oracle用戶 ~目錄
oracle>vi /home/oracle/.bash_profile #修改環境變量
# 文件最后一行追加
#For Oracle
export ORACLE_BASE=/home/oracle/app/oracle11g;
export ORACLE_HOME=/home/oracle/app/oracle11g/product/11.2.0/db_1
export ORACLE_SID=orcl
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export LC_ALL="en_US"
export LANG="en_US"
export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
# 配置生效
oracle>source /home/oracle/.bash_profile
12.安裝依賴包
操作用戶:root
操作目錄:/home/root
# 機器要能夠訪問外網
yum -y install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc gcc-c++ libaio-devel libaio libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel pdksh ksh libaio.i686 glibc.i686 compat-libstdc++-33.i686 libaio-devel.i686 libgcc.i686 libstdc++.i686 unixODBC.i686 unixODBC-devel.i686
13.開始安裝數據庫
操作用戶:oracle
操作目錄:/home/oracle
oracle> ls
linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip app
# 解壓oracle安裝包,將自動解壓到databse目錄
oracle> unzip linux.x64_11gR2_database_1of2.zip
oracle> unzip linux.x64_11gR2_database_2of2.zip
oracel> ls
linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip app databse
# 編輯數據庫安裝文件db_install.rsp
oracle> vi /home/oracle/database/response/db_install.rsp
#修改以下參數配置
oracle.install.option=INSTALL_DB_SWONLY #安裝類型
ORACLE_HOSTNAME=DATAFS #主機名稱
UNIX_GROUP_NAME=oinstall #安裝組
INVENTORY_LOCATION=/opt/oracle/inventory #INVENTORY目錄
SELECTED_LANGUAGES=en,zh_CN #選擇語言
ORACLE_HOME=/opt/oracle/product/112010/db_1 #oracle_home
ORACLE_BASE=/opt/oracle #oracle_base
oracle.install.db.InstallEdition=EE #oracle版本
oracle.install.db.isCustomInstall=true
oracle.install.db.DBA_GROUP=dba #dba用戶組
oracle.install.db.OPER_GROUP=dba #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.memoryLimit=1024 #自動管理內存的最小內存(M)
oracle.install.db.config.starterdb.password.ALL=oracle #設定所有數據庫用戶使用同一個密碼
DECLINE_SECURITY_UPDATES=true #設置安全更新
14.安裝數據庫軟件
操作用戶:oracle
操作目錄:/home/oracle/database
oracle> ./runInstaller -silent -responseFile /home/oracle/database/response/db_install.rsp -ignorePrereq
等待安裝完成,不要終止終端。
15.安裝完成后,執行安裝腳本(注意要用root用戶執行)
操作用戶:root
操作目錄:/home/root
# 注意目錄要切換成自己的安裝目錄
root> /home/oracle/app/oracle11g/inventory/orainstRoot.sh
Changing permissions of /opt/oracle/inventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
# 注意目錄要切換成自己的安裝目錄
root> /home/oracle/app/oracle11g/product/11.2.0/db_1/root.sh
Check /home/oracle/app/oracle11g/product/11.2.0/db_1/install/root_DATAFS_2021-11-4_12-36-50.log for the output of root script
16.監聽器配置
操作用戶:oracle
操作目錄:/home/oracle
oracle> netca /silent /responseFile /home/oracle//database/response/netca.rsp
oracle> lsnrctl start
oracle> lsnrctl status
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 04-NOV-2021 18:03:18
Copyright (c) 1991, 2009, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1527)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date 04-NOV-2021 16:04:05
Uptime 0 days 1 hr. 59 min. 13 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /home/oracle/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
Listener Log File /home/oracle/app/oracle/diag/tnslsnr/slave2/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1527)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=slave2)(PORT=1527)))
Services Summary...
Service "orcl" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully
17.安裝數據庫實例
操作用戶:oracle
操作目錄:/home/oracle
# 修改database/response/netca.rsp文件中的重要參數
oracle> vi database/response/netca.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 =/home/oracle/app/oracle11g/oradata #數據文件存放目錄
RECOVERYAREADESTINATION=/home/oracle/app/oracle11g/flash_recovery_area #恢復數據存放目錄
CHARACTERSET ="ZHS16GBK" #字符集
TOTALMEMORY ="2048" #根據機器內存大小設置
# 開始創建數據庫實例
oracle>dbca -silent -responseFile /home/oracle/response/dbca.rsp
Copying database files
1% complete
3% complete
11% complete
18% complete
26% complete
37% complete
Creating and starting Oracle instance
40% complete
45% complete
50% complete
55% complete
56% complete
60% complete
62% complete
Completing Database Creation
66% complete
70% complete
73% complete
85% complete
96% complete
100% complete
Look at the log file "/opt/oracle/cfgtoollogs/dbca/orcl/orcl.log" for further details.
17.配置監聽器listener(重要!!否則遠程連不上,報錯ORA-12505tnslistener-does-not-currently-know)
操作用戶:oracle
操作目錄:/home/oracle
# 關閉監聽器
oracle> lsnrctl stop
# sqlplus登入數據庫
oracle> sqlplus /nolog
sql> conn / as sysdba
# 修改參數,並停止oracle服務
sql> alter system set LOCAL_LISTENER='(DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))))';
sql> alter system register;
sql> shutdown immediate #立即停止oracle服務
# 啟動oracle服務,並退出
sql> startup;
oracle> exit;
# 啟動監聽器
>oracle lsnrctl start;
到此,oracle11g步驟已全部完成!可以嘗試使用客戶端進行遠程連接
可能因為環境不同,而導致安裝出錯,如有問題,請自行百度解決!