美文网首页
Centos7静默安装Oracle11.2.0.4

Centos7静默安装Oracle11.2.0.4

作者: 小豹小豹 | 来源:发表于2021-01-14 18:01 被阅读0次

1.安装前准备

修改主机名;
hostnamectl set-hostname oracle
修改hosts文件中的主机名
vi /etc/hosts
关闭防火墙和selinux:

systemctl stop firewalld.service #关闭防火墙
systemctl disable firewalld.service #禁止防火墙开机启动
vi /etc/selinux/config #编辑文件
SELINUX=disabled  #修改的内容

2. 安装依赖

yum -y install binutils
compat-libstdc++-33
elfutils-libelf
elfutils-libelf-devel
expat
gcc
gcc-c++
glibc
glibc-common
glibc-devel
glibc-headers
libaio
libaio-devel
libgcc
libstdc++
libstdc++-devel
make
pdksh
sysstat
unixODBC
unixODBC-devel

3. 检查未安装的依赖

rpm -q \
binutils \
compat-libstdc++-33 \
elfutils-libelf \
elfutils-libelf-devel \
expat \
gcc \
gcc-c++ \
glibc \
glibc-common \
glibc-devel \
glibc-headers \
libaio \
libaio-devel \
libgcc \
libstdc++ \
libstdc++-devel \
make \
pdksh \
sysstat \
unixODBC \
unixODBC-devel | grep "not installed"

不能YUM安装的,下载rpm文件安装。

4、添加oracle用户组和用户:

groupadd oinstall
groupadd dba
groupadd asmadmin
groupadd asmdba
useradd -g oinstall -G dba,asmdba oracle -d /home/oracle

oracle 密码设置

passwd oracle 
  1. 优化OS内核参数
    // kernel.shmmax 参数设置为物理内存的一半
    vi /etc/sysctl.conf
    内容如下:
fs.aio-max-nr=1048576
fs.file-max=6815744
kernel.shmall=2097152
kernel.shmmni=4096
kernel.shmmax = 8589589417
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

6.修改oracle用户的限制权限

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
oracle  hard    stack   10240

vi /etc/pam.d/login

session  required   /lib64/security/pam_limits.so
session  required   pam_limits.so

vi /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

7. 创建oracle安装目录

mkdir -p /db/app/oracle/product/11.2.0
mkdir /db/app/oracle/oradata
mkdir /db/app/oracle/oraInventory
mkdir /db/app/oracle/fast_recovery_area
chown -R oracle:oinstall /db/app/oracle
chmod -R 775 /db/app/oracle

8.创建 vi /etc/oraInst.loc

inventory_loc=/db/app/oracle/oraInventory
inst_group=oinstall
chown oracle:oinstall /etc/oraInst.loc
chmod 664 /etc/oraInst.loc

9. 配置oracle用户环境变量

su - oracle  ## oracle用户登陆

vi .bash_profile

export ORACLE_HOSTNAME=oracle
export ORACLE_BASE=/db/app/oracle
export ORACLE_SID=ORCL
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"

// 以上配置完成后,建议重启系统 或分别执行以下命令:

source /home/oracle/.bash_profile
env

10. 上传压缩包

上传linux.x64_11gR2_database_*of2.zip文件至/db/目录;
cd /db/
ls
unzip linux.x64_11gR2_database_1of2.zip -d /db
unzip linux.x64_11gR2_database_2of2.zip -d /db

解压完成后:
登录Root,复制授权

su - root
mkdir /home/oracle/etc/
cp /db/database/response/* /home/oracle/etc/
chmod 777 /home/oracle/etc/*.rsp

11. 静默安装配置文件

// 登录oracle用户:

su – oracle
vi /home/oracle/etc/db_install.rsp

//将对应选项修改如下:

oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/db/app/oracle/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOSTNAME=oracle
ORACLE_HOME=/db/app/oracle/product/11.2.0/db_1
ORACLE_BASE=/db/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=true
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=orcl
oracle.install.db.config.starterdb.SID=orcl
oracle.install.db.config.starterdb.memoryLimit=512
oracle.install.db.config.starterdb.password.ALL=oracle
DECLINE_SECURITY_UPDATES=true

cd /db/database/

./runInstaller -silent -force -responseFile /home/oracle/etc/db_install.rsp -ignorePrereq

//安装期间可以使用tail命令监看oracle的安装日志

tail -f /db/app/oracle/oraInventory/logs/installActions2019-05-25_10-38-29AM.log

成功后:

su - root
/db/app/oracle/product/11.2.0/db_1/root.sh

12. 增加或修改oracle的环境变量

su  - oracle
 
vi ~/.bash_profile
 
export ORACLE_HOME=/db/app/oracle/product/11.2.0/db_1
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/local/bin
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export LIBPATH=${CLASSPATH}:$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib
export ORACLE_OWNER=oracle
export SPFILE_PATH=$ORACLE_HOME/dbs
export ORA_NLS10=$ORACLE_HOME/nls/data

生效

source ~/.bash_profile

13.配置监听程序

 cd /db/app/oracle/product/11.2.0/db_1/bin
 
 ./netca /silent /responseFile /home/oracle/etc/netca.rsp

13. 启动监听程序

[oracle@oracle bin]$ pwd
/db/app/oracle/product/11.2.0/db_1/bin
# 启动监听
[oracle@oracle bin]$ lsnrctl start
# 查看监听状态
[oracle@oracle bin]$ lsnrctl status

14.静默dbca建库

修改应答文件:

[oracle@oracle ~]$ vi /home/oracle/etc/dbca.rsp

GDBNAME="orcl.oracle" 
SID="orcl"
SYSPASSWORD = "oracle" 
SYSTEMPASSWORD = "oracle" 
CHARACTERSET="AL32UTF8" 
 ="UTF8"
# 执行:
/db/app/oracle/product/11.2.0/db_1/bin
./dbca -silent -responseFile /home/oracle/etc/dbca.rsp

15. 设置开机启动

[oracle@oracle bin]$ vi /etc/oratab
orcl:/db/app/oracle/product/11.2.0/db_1:Y  # //把“N”改成“Y”
# 保存退出
[oracle@oracle bin]$ pwd
/db/app/oracle/product/11.2.0/db_1/bin
# 通过dbstart 启动此实例,监听器
## ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener
## Usage: ./dbstart ORACLE_HOME
[oracle@oracle bin]$ ./dbstart $ORACLE_HOME;
# oracle的进程关闭,监听器也停止;
[oracle@oracle bin]$ ./dbshut $ORACLE_HOME;
# 启动监听
[oracle@oracle bin]$ ./lsnrctl start;
# 查看监听
[oracle@oracle bin]$ ./lsnrctl status

16.启动oracle

 [oracle@oracle bin]$ pwd
/db/app/oracle/product/11.2.0/db_1/bin
[oracle@oracle bin]$ ./sqlplus /nolog
# 进入系统管理用户
SQL> conn / as sysdba
Connected to an idle instance.
# 启动oracle实例
SQL> startup
出现报错:
ORA-00845: MEMORY_TARGET not supported on this system
Oracle 11G 中出现了memory_target 参数,用以实现自动 内存管理 。这个参数的实际使用 需要/dev/shm 空间的支持,如果/dev/shm的空间小于memory_target的值 ,就会报上面错误。
cat  /db/app/oracle/product/11.2.0/db_1/dbs/initORCL.ora 查看到memory_target的大小
df -h 查看/dev/shm 可用空间大小
如果/dev/shm 可用空间大小 小于memory_target 就会报上面的错。

解决办法:加大/dev/shm size。

相关文章

网友评论

      本文标题:Centos7静默安装Oracle11.2.0.4

      本文链接:https://www.haomeiwen.com/subject/kyvvaktx.html