CentOS7 安装oracle 11g (11.2.0.1.0)
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