暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

Oracle11g 静默安装

秦吾帝 2024-06-05
1450

Oracle 11g静默安装

1.配置主机名

echo "IP地址 主机名" >> /etc/hosts

cat /etc/hosts

echo "export LANG=en_US" >> ~/.bash_profile

source ~/.bash_profile

2.创建用户、组、目录

/usr/sbin/groupadd -g 60001 oinstall

/usr/sbin/groupadd -g 60002 dba

/usr/sbin/groupadd -g 60003 oper

useradd -u 61001 -g oinstall -G dba,oper oracle

passwd oracle

mkdir -p /u01

mkdir -p /u01/app/oracle/product/11.2.0

mkdir -p /u01/app/oraInventory

chown -R oracle:oinstall /u01

3.配置yum源

mount 镜像文件 /mnt

# 清除yum缓存 :yum clean all

# 缓存本地yum源:yum makecache

# 测试yum本地源:yum list

# 配置yum源

cd /etc/yum.repos.d

mkdir bk

mv *.repo bk/

echo "[EL]" >> /etc/yum.repos.d/yum.repo

echo "name =Linux 7.x DVD" >> /etc/yum.repos.d/yum.repo

echo "baseurl=file:///mnt" >> /etc/yum.repos.d/yum.repo

echo "gpgcheck=0" >> /etc/yum.repos.d/yum.repo

echo "enabled=1" >> /etc/yum.repos.d/yum.repo

cat /etc/yum.repos.d/yum.repo

#CentOS系统

[base]

name=CentOS-$releasever - Base

baseurl=file:///mnt

gpgcheck=0

enabled=1

# 安装软件

yum -y install bc gcc gcc-c++ binutils make gdb cmake glibc ksh elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc-devel libaio libaio-devel libXrender libXrender-devel libX11 libXau sysstat libXi libXtst libgcc librdmacm-devel libstdc++ libstdc+±devel libxcb net-tools nfs-utils compat-libcap1 compat-libstdc++ smartmontools targetcli python python-configshell python-rtslib python-six unixODBC unixODBC-devel iscsi-initiator-utils device-mapper device-mapper-multipath unbound bind-utils

4.修改内核参数

SHMMAX=$(grep 'MemTotal' /proc/meminfo |awk '{printf ("%d\n",$2*1024*0.8)}')

SHMALL=$(grep 'MemTotal' /proc/meminfo |awk '{printf ("%d\n",$2*1024/4096*0.8)}')

sed -i "s/kernel.shmmax/#kernel.shmmax/g" /etc/sysctl.conf

sed -i "s/kernel.shmall/#kernel.shmall/g" /etc/sysctl.conf

cat >> /etc/sysctl.conf << EOF

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = $SHMALL

kernel.shmmax = $SHMMAX

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 1048576

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

EOF

sysctl -p

5.修改系统资源限制参数

SMEMLOCK=$(grep 'MemTotal' /proc/meminfo |awk '{printf ("%d\n",$2*0.9)}')

HMEMLOCK=$(grep 'MemTotal' /proc/meminfo |awk '{printf ("%d\n",$2*0.9)}')

cat >> /etc/security/limits.conf << EOF

grid soft nproc 2047

grid hard nproc 16384

grid soft nofile 2048

grid hard nofile 65536

grid soft stack 10240

grid hard stack 32768

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 2048

oracle hard nofile 65536

oracle soft stack 10240

oracle hard stack 32768

oracle soft memlock $SMEMLOCK

oracle hard memlock $HMEMLOCK

EOF

sysctl -p

6.关闭透明页:默认启用

cat /sys/kernel/mm/transparent_hugepage/defrag

[always] madvise never

cat /sys/kernel/mm/transparent_hugepage/enabled

[always] madvise never

vi /etc/rc.d/rc.local

if test -f /sys/kernel/mm/transparent_hugepage/enabled; then

echo never > /sys/kernel/mm/transparent_hugepage/enabled

fi

if test -f /sys/kernel/mm/transparent_hugepage/defrag; then

echo never > /sys/kernel/mm/transparent_hugepage/defrag

fi

chmod +x /etc/rc.d/rc.local

7.关闭numa功能

vi /etc/default/grub

GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet numa=off"

grub2-mkconfig -o /etc/grub2.cfg

numastat

numactl --show

numactl --hardware

8.修改时区

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

hwclock

9.配置安全

#禁用SELINUX

echo "SELINUX=disabled" > /etc/selinux/config

echo "#SELINUXTYPE=targeted " >> /etc/selinux/config

cat /etc/selinux/config

setenforce 0

#关闭防火墙

systemctl status firewalld.service

systemctl stop firewalld.service

systemctl disable firewalld.service

6.配置环境变量

su – oracle

vi ~/.bash_profile

PS1="[`whoami`@`hostname`:"'$PWD]$'

export PS1

export TMP=/tmp

export LANG=en_US

export TMPDIR=$TMP

export ORACLE_UNQNAME=testdb

ORACLE_SID=testdb; export ORACLE_SID

ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE

ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME

ORACLE_TERM=xterm; export ORACLE_TERM

NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"; export NLS_DATE_FORMAT

NLS_LANG=AMERICAN_AMERICA.UTF8;export NLS_LANG

PATH=.:$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_BASE/product/11.2.0/db_1/bin:$ORACLE_HOME/bin; export PATH

THREADS_FLAG=native; export THREADS_FLAG

umask=022

source .bash_profile

env |grep ORACLE

7.安装数据库软件并创建数据库

# 上传软件并解压,解压生成database目录

su – oracle

mkdir software

cd /software

unzip linux.x64_11gR2_database_1of2.zip

unzip linux.x64_11gR2_database_2of2.zip

# 在database的子目录response目录:

db_install.rsp(安装数据库软件)、netca.rsp(创建监听)及dbca.rsp(创建数据库)

# 可以手工编辑上述3个创建脚本或自行创建db_install.rsp、netca.rsp、dbca.rsp

# db_install.rsp脚本参数如下:

oracle.install.responseFileVersion=oracle/install/rspfmt_dbinstall_response_schema_v11_2_0

oracle.install.option=INSTALL_DB_SWONLY

ORACLE_HOSTNAME=xcldbsvr06----根据实际主机名修改

UNIX_GROUP_NAME=oinstall-----根据实际组名修改

INVENTORY_LOCATION=/u01/app/oraInventory

SELECTED_LANGUAGES=en,zh_CN----软件字符集

ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1----根据.base_profile中的修改

ORACLE_BASE=/u01/app/oracle----根据.base_profile中的修改

oracle.install.db.InstallEdition=EE

oracle.install.db.EEOptionsSelection=false

oracle.install.db.DBA_GROUP=dba-----根据实际组名修改

oracle.install.db.OPER_GROUP=oinstall-----根据实际组名修改

DECLINE_SECURITY_UPDATES=true

SECURITY_UPDATES_VIA_MYORACLESUPPORT=false

oracle.installer.autoupdates.option=SKIP_UPDATES

# dbca.rsp脚本参数如下:

[GENERAL]

RESPONSEFILE_VERSION = "11.2.0"

OPERATION_TYPE = "createDatabase"

[CREATEDATABASE]

GDBNAME = "testdb"-----数据库名

SID = "testdb"

TEMPLATENAME = "General_Purpose.dbc"

STORAGETYPE=FS

DATAFILEDESTINATION =/u01/data

#RECOVERYAREADESTINATION=/u01/app/oracle/flash_recovery_area

CHARACTERSET = "UTF8"

NATIONALCHARACTERSET= "AL16UTF16"

TOTALMEMORY = "8192"

SYSPASSWORD = "oracle"

SYSTEMPASSWORD = "oracle"

# 创建对应的目录

mkdir -p /u01/app/oracle/product/11.2.0/db_1

mkdir -p /u01/data

mkdir -p /u01/app/oracle/flash_recovery_area

# 在path/database下可以创建db_install.rsp、dbca.rsp

# 执行安装数据库软件脚本

./runInstaller -silent -ignorePrereq -responseFile /software/database/db_install.rsp

# 数据库软件静默安装完成后会提示2个脚本,需要在root用户下执行

# 执行创建监听脚本(直接执行/software/database/response下的netca.rsp即可)

netca -silent -responseFile /software/database/response/netca.rsp

# 执行创建数据库脚本

dbca -silent -responseFile /software/database/dbca.rsp

8.安装完成后进行测试

# 监听测试

lsnrctl status

# 数据库测试

sqlplus / as sysdba

select instance_name,status from v$instance;

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论