1、安裝依賴:
#yum -y install binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
檢查依賴(依賴少的話會存在未知的錯誤,一定要確保依賴全部安裝)
#rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel | grep "not installed"
2、關閉selinux
#sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
#setenforce 0
3、創建用戶和組
#groupadd oinstall
#groupadd dba
#groupadd oper
#useradd -g oinstall -G dba oracle
檢查用戶是否安裝成功
#id oracle
給oracle用戶設置密碼(Aa123456)
#passwd oracle
4、配置內核參數和資源限制,修改 /etc/sysctl.conf 文件,添加以下內容
【
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
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
】
保存退出后,使內核參數生效
#sysctl -p
5、在 /etc/security/limits.conf 文件,添加以下內容
【
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
】
6、在 /etc/pam.d/login 文件,添加以下內容
【
session required /lib64/security/pam_limits.so
session required pam_limits.so
】
7、在 /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
】
使配置文件生效
#source /etc/profile
8、禁用使用Transparent HugePages,在 /etc/grub.conf 文件,添加以下內容
【 echo never > /sys/kernel/mm/transparent_hugepage/enabled 】
查看是否禁用成功
#cat /sys/kernel/mm/transparent_hugepage/enabled
9、創建oracle安裝目錄
#mkdir -p /data/app/
#chown -R oracle:oinstall /data/app/
#chmod -R 775 /data/app/
10、配置 oracle 用戶的環境變量,在 /home/oracle/.bash_profile 文件中,添加以下內容
【
umask 022
export ORACLE_HOSTNAME=$HOSTNAME
#(主機名,執行命令#hostname查看本機的主機名)
export ORACLE_BASE=/data/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/
export ORACLE_SID=orcl
export PATH=.:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/jdk/bin:$PATH
export LC_ALL="en_US"
export LANG="en_US"
export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK" #中文,如果客戶端是英文的會有中文亂碼出現
export NLS_LANG="AMERICAN_AMERICA.UTF8" #UTF8,與ZHS16GBK相反,建議用UTF8
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
】
使文件生效
#. .bash_profile
11、解壓下載好的兩個文件
#unzip -q linux.x64_11gR2_database_1of2.zip -d /data
#unzip -q linux.x64_11gR2_database_2of2.zip -d /data
(linux.x64_11gR2_database_2of2.zip 第一次解壓的時候出錯,檢查后發現下載的時候就缺失文件。第二個安裝包下載容易缺失文件)
#mkdir -p /data/etc
#cp /data/database/response/* /data/etc/
12、在 /data/etc/db_install.rsp 文件中,添加以下內容或者直接執行下列sed命令
【
#oracle.install.option=INSTALL_DB_SWONLY
sed -i "s/^.*oracle.install.option.*$/oracle.install.option=INSTALL_DB_SWONLY/" /data/etc/db_install.rsp
#DECLINE_SECURITY_UPDATES=true
sed -i "s/^.*DECLINE_SECURITY_UPDATES.*$/DECLINE_SECURITY_UPDATES=true/" /data/etc/db_install.rsp
#UNIX_GROUP_NAME=oinstall
sed -i "s/^.*UNIX_GROUP_NAME.*$/UNIX_GROUP_NAME=oinstall/" /data/etc/db_install.rsp
#INVENTORY_LOCATION=/data/app/oracle/inventory
sed -i "s/^.*INVENTORY_LOCATION.*$/INVENTORY_LOCATION=\/data\/app\/oracle\/inventory/" /data/etc/db_install.rsp
#SELECTED_LANGUAGES=en,zh_CN
sed -i "s/^.*SELECTED_LANGUAGES.*$/SELECTED_LANGUAGES=en,zh_CN/" /data/etc/db_install.rsp
#(主機名,執行命令#hostname查看本機的主機名)
#ORACLE_HOSTNAME=$HOSTNAME
sed -i "s/^.*ORACLE_HOSTNAME.*$/ORACLE_HOSTNAME=$HOSTNAME/" /data/etc/db_install.rsp
#ORACLE_HOME=/data/app/oracle/product/11.2.0
sed -i "s/^.*ORACLE_HOME.*$/ORACLE_HOME=\/data\/app\/oracle\/product\/11.2.0/" /data/etc/db_install.rsp
#安裝的路徑
#ORACLE_BASE=/data/app/oracle
sed -i "s/^.*ORACLE_BASE.*$/ORACLE_BASE=\/data\/app\/oracle/" /data/etc/db_install.rsp
#oracle.install.db.InstallEdition=EE
sed -i "s/^.*oracle.install.db.InstallEdition.*$/oracle.install.db.InstallEdition=EE/" /data/etc/db_install.rsp
#oracle.install.db.isCustomInstall=true
sed -i "s/^.*oracle.install.db.isCustomInstall.*$/oracle.install.db.isCustomInstall=true/" /data/etc/db_install.rsp
#oracle.install.db.DBA_GROUP=dba
sed -i "s/^.*oracle.install.db.DBA_GROUP.*$/oracle.install.db.DBA_GROUP=dba/" /data/etc/db_install.rsp
#oracle.install.db.OPER_GROUP=dba
sed -i "s/^.*oracle.install.db.OPER_GROUP.*$/oracle.install.db.OPER_GROUP=dba/" /data/etc/db_install.rsp
】
13、將 /data/* 文件更改所有者所屬組
#chown -R oracle:oinstall /data/*
14、切換用戶為 oracle(一般的,有關 oracle 數據庫的操作,要使用oracle 為當前用戶)
#su - oracle
15、安裝
#cd /data/database
#./runInstaller -silent -responseFile /data/etc/db_install.rsp -ignorePrereq
安裝期間可以打開新shell窗口查看安裝日志
#tail -f /data/app/oracle/inventory/logs/installActionsYYYYY-MM-DD_HH-MM-SSPM.log
安裝完成后有如下提示,說明安裝完成
16、根據上圖的提示,需要在 root 賬號下執行兩個腳本
# su - root
#/data/app/oracle/inventory/orainstRoot.sh sh
#/data/app/oracle/product/11.2.0/root.sh
17、配置監聽
#su - oracle
#netca /silent /responsefile /data/etc/netca.rsp
18、靜默創建數據庫,在 /data/etc/dbca.rsp 文件中,添加以下內容,特別注意SID ,建議不要用orcl,免得會被綠盟之類的軟件掃描為漏洞要整改
【
[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
GDBNAME = "orcl"
SID = "orcl"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
SYSMANPASSWORD = "oracle"
DBSNMPPASSWORD = "oracle"
DATAFILEDESTINATION =/data/app/oracle/oradata
RECOVERYAREADESTINATION=/data/app/oracle/fast_recovery_area
CHARACTERSET = "AL32UTF8" #一個中文占3個字節,安裝前問清楚字符集,否則 https://www.cnblogs.com/leihongnu/p/14718286.html
CHARACTERSET = "UTF8" #一個中文占2個字節,建議用UTF8
TOTALMEMORY = "1638"
】
這個文件需要一行一行的查找修改
19、執行配置好的靜默數據庫(需要在oracle用戶下執行)
#su - oracle
#dbca -silent -responseFile /data/etc/dbca.rsp
20、執行完成后,查看 oracle 進程
#ps -ef | grep ora_ | grep -v grep
21、查看監聽
#lsnrctl status (注意當前用戶為 oracle,命令才會執行成功)
安裝完成,可以登錄sqlplus
#su - oracle
#sqlplus /nolog