CentOS6.5静默安装Oracle11g实践「建议收藏」

CentOS6.5静默安装Oracle11g实践「建议收藏」今日测试安装Oracle11个,最初使用CentOS7安装,但是有部分内核参数设置失败,故而通过CentOS6.5安装,特此记录。 1.安装前准备工作 1.1.修改主机名 vi /etc/sysco…

CentOS6.5静默安装Oracle11g实践

1.安装前准备工作

1.1.修改主机名

vi /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=test
GATEWAY=192.168.100.254

代码100分

vi /etc/hosts

代码100分127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.100.99 test

1.2.关闭防火墙

service iptables status
service iptables stop
chkconfig iptables off

1.3.关闭SELiunx

vi /etc/selinux/config

代码100分# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

1.4.修改内核参数

vi /etc/sysctl.conf
文件行末添加以下内容,如某项默认值大于配置值,可不修改

kernel.shmall = 2097152
kernel.shmmax = 4294967295 
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 6815744 
net.ipv4.ip_local_port_range = 9000 65000
net.core.rmem_default = 262144
net.core.rmem_max = 4194304 
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576

最后输入下面的命令,让内核参数生效:

sysctl -p

以下是各个参数的说明:

参数 说明
fs.aio-max-nr 同时可以拥有的的异步IO请求数目。1048576 即 1024 * 1024 也就是 1024K 个。
fs.file-max 系统允许打开的文件数。
kernel.shmmax Linux进程可以分配的单独共享内存段的最大值,一般设置为内存总大小的一半。 这个值的设置应该大于SGA_MAX_TARGET或MEMORY_MAX_TARGET的值,因此对于安装Oracle数据库的系统,shmmax的值应该比内存的二分之一大一些。
kernel.shmall 设置共享内存总页数。这个值太小有可能导致数据库启动报错。计算公式为:内存(G)* 1024* 1024* 1024/4096,4096为getconf PAGE_SIZE得到分页大小。
kernel.shmmni 设置系统级最大共享内存段数量。推荐最小值为4096。
kernel.sem 从左到右分别为SEMMSL、SEMMNS、SEMOPM和SEMMNI。(1).SEMMSL:设置每个信号灯组中信号灯最大数量,推荐的最小值是250。 对于系统中存在大量并发连接的系统,推荐将这个值设置为PROCESSES初始化参数加10。(2).SEMMNS:设置系统中信号灯的最大数量。操作系统在分配信号灯时不会超过LEAST(SEMMNS,SEMMSL* SEMMNI)。事实上,如果SEMMNS的值超过了SEMMSL* SEMMNI是非法的,因此推荐SEMMNS的值就设置为SEMMSL* SEMMNI。Oracle推荐SEMMNS的设置不小于32000,假如数据库的PROCESSES参数设置为600,则SEMMNS的设置应为:(600+10)* 142 。(3).SEMOPM:设置每次系统调用可以同时执行的最大信号灯操作的数量。由于一个信号灯组最多拥有SEMMSL个信号灯,因此有推荐将SEMOPM设置为SEMMSL的值。Oracle验证的10.2和11.1的SEMOPM的配置为100。(4).SEMMNI:设置系统中信号灯组的最大数量。Oracle10g和11g的推荐值为142。
net.ipv4.ip_local_port_range ip_local_port_range表示端口的范围,为指定的内容
net.core.rmem_default 表示接收套接字缓冲区大小的缺省值(以字节为单位)。
net.core.rmem_max 表示接收套接字缓冲区大小的最大值(以字节为单位)。
net.core.wmem_default 表示发送套接字缓冲区大小的缺省值(以字节为单位)。
net.core.wmem_max 表示发送套接字缓冲区大小的最大值(以字节为单位)。

1.5.修改用户限制

vi /etc/security/limits.conf

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

1.6.修改用户验证选项

vi /etc/pam.d/login
64位系统时,千万别写成/lib/security/pam_limits.so,否则导致无法登录

session required pam_limits.so

1.7.修改用户配置文件

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 使其生效

1.8.创建Oracle用户

groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle

1.9.创建目录及修改权限

# the oracle base directory
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01
chmod -R 775 /u01
# Database file directory
mkdir -p /u01/oradata
# Recovery file directory (flash recovery area)
mkdir -p /u01/flash_recovery_area
chown -R oracle:oinstall /u1
chmod -R 775 /space

1.10.设置并刷新环境变量

su – oracle
vi /home/oracle/.bash_profile

添加以下内容,请使其生效 source ~/.bash_profile

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db1
export ORACLE_SID=orcl
export ORACLE_OWNER=oracle
export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export CLASSPATH
PATH=$PATH:/usr/sbin; export PATH
PATH=$PATH:/usr/bin; export PATH

1.11.安装oracle必须的包

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

2.安装

2.1.解压安装包

将oracle软件上传至/home/oracle目录下

ls *.zip |xargs -n1 unzip

2.2.复制一份静默模板

cp -R /home/oracle/database/response /home/oracle

三个文件作用分别是:

  • db_install.rsp:安装Oracle
  • dbca.rsp:创建数据库
  • netca.rsp:建立监听、本地服务名等网络设置

2.3.安装Oracle

vi db_install.rsp,修改安装应答文件,修改内容如下:

oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=test
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=false
oracle.install.db.customComponents=oracle.server:11.2.0.1.0,oracle.sysman.ccr:10.2.7.0.0,oracle.xdk:11.2.0.1.0,oracle.rdbms.oci:11.2.0.1.0,oracle.network:11.2.0.1.0,oracle.network.listener:11.2.0.1.0,oracle.rdbms:11.2.0.1.0,oracle.options:11.2.0.1.0,oracle.rdbms.partitioning:11.2.0.1.0,oracle.oraolap:11.2.0.1.0,oracle.rdbms.dm:11.2.0.1.0,oracle.rdbms.dv:11.2.0.1.0,orcle.rdbms.lbac:11.2.0.1.0,oracle.rdbms.rat:11.2.0.1.0
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
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.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
# 物理内存的60%左右
oracle.install.db.config.starterdb.memoryLimit=124494
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
# 注意修改密码
oracle.install.db.config.starterdb.password.ALL=oracle
oracle.install.db.config.starterdb.control=DB_CONTROL
oracle.install.db.config.starterdb.automatedBackup.enable=false
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/u01/oradata
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/u01/fast_recovery_area
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
# 一定要是true
DECLINE_SECURITY_UPDATES=true

cd /home/oracle/database
执行命令:

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

当安装界面出现如下信息的时候,说明正在安装,通过日志文件

tail  -f /u01/app/oracle/inventory/logs/installActions2020-02-27_04-14-39PM.log

可以观察安装进度: CentOS6.5静默安装Oracle11g实践「建议收藏」
安装完成后会出现如下图: CentOS6.5静默安装Oracle11g实践「建议收藏」
按照提示执行下面以上两个脚本: CentOS6.5静默安装Oracle11g实践「建议收藏」

2.4.配置oracle监听

netca.rsp文件无需修改,直接使用

netca /silent /responsefile /home/oracle/response/netca.rsp

执行结果如下: CentOS6.5静默安装Oracle11g实践「建议收藏」
通过 netstat -tlnp命令检查: CentOS6.5静默安装Oracle11g实践「建议收藏」

2.5.创建oracle数据库

vi dbca.rsp 修改配置文件,修改内容如下:

RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
GDBNAME = "orcl"
SID = "orcl"
TEMPLATENAME = "General_Purpose.dbc"
# 修改密码
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
DATAFILEDESTINATION = /u1/oradata
RECOVERYAREADESTINATION=/u1/backup 
CHARACTERSET = "AL32UTF8"
# 物理内存的60%左右
TOTALMEMORY = "10240"

执行结果如下: CentOS6.5静默安装Oracle11g实践「建议收藏」
建库后实例检查:

ps -ef | grep ora_ | grep -v grep

CentOS6.5静默安装Oracle11g实践「建议收藏」
如果建库异常可以删库,重做:

dbca -silent -deleteDatabase -sourcedb orcle -sid orcle

CentOS6.5静默安装Oracle11g实践「建议收藏」
至此,Oracle安装完成。
查看监听状态

lsnrctl status

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/9789.html

(0)
上一篇 2023-02-01
下一篇 2023-02-01

相关推荐

  • 基于tkinter的标题展示

    基于tkinter的标题展示tkinter是Python中的标准GUI工具包,它提供了创建窗口、标签、按钮、滚动条等组件的方法,同时支持使用多种布局方式对这些组件进行排列,以构建出用户友好的图形界面。本文将介绍如何基于tkinter实现标题的展示,通过代码演示,读者可以了解到如何使用tkinter来布置界面和置放各种组件。

    2024-08-31
    44
  • spark-sql中视图关联表结果不匹配问题

    spark-sql中视图关联表结果不匹配问题在sparkSQL 中将计算结果保存为视图,关联其他表后出现结果匹配错误,通过分析发现,是因为sql语句中使用了表达式 row_number() over(order by 1) 其实该表达式并没有执

    2023-03-16
    154
  • mysql数据库json类型数据_以下哪些是mysql数据类型

    mysql数据库json类型数据_以下哪些是mysql数据类型最右边的数组元素。MySQL支持last关键字,作为数组中最后一个元素的索引的同义词。last-N形式的表达式可用于相对寻址和范围定义,如下所示:如果不是针对数组计算路径,则求值结果与将该值包装在单…

    2023-04-06
    151
  • mysql水平拆分_MySQL多表查询

    mysql水平拆分_MySQL多表查询一、背景 老大安排要对某张大容量表进行分割,根据年份分割成多张表。 二、水平分割 水平拆分是指数据表行的拆分,表的行数超过百万行时,就会变慢,这时可以把一张的表的数据拆成多张表来存放。 定义规则分表后

    2022-12-26
    163
  • clickhouse 预聚合_clickhouse入门

    clickhouse 预聚合_clickhouse入门上篇笔记讲到了聚合函数的实现并且带大家看了聚合函数是如何注册到ClickHouse之中的并被调用使用的。这篇笔记,笔者会续上上篇的内容,将剖析一把ClickHouse聚合流程的整体实现。 第二篇文章,

    2023-03-22
    148
  • 倒转列表顺序:Python .reverse方法

    倒转列表顺序:Python .reverse方法Python是一种高级编程语言,它可以轻松地实现各种算法和数据结构。Python中的列表(List)是一种特殊的数据结构,它可以用来存储一系列有序的元素,这些元素可以是数字、字符串、对象等等。Python提供了许多方法来操作列表,其中一个非常便利的方法是.reverse(),它可以将列表的顺序反转。

    2024-02-29
    86
  • 3、环境搭建-Linux上hadoop的全分布配置[通俗易懂]

    3、环境搭建-Linux上hadoop的全分布配置[通俗易懂]大数据 Hadoop全分布 配置文件配置

    2023-04-16
    162
  • jdbc详细教程_javaweb笔记

    jdbc详细教程_javaweb笔记但是在实际的业务中,通常是多条 DML语句 联合完成的,那么就必须保证这些 DML语句 在同一个事务中同时成功或失败……

    2023-05-03
    141

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注