1、配置计算机名:hostnamectl set-hostname oracle
2、配置host文件:
echo "127.0.0.1 oracle" >>/etc/hosts
3、关闭selinux:
sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
setenforce 0
4、关闭/自启防火墙:
systemctl stop firewalld
systemctl disable firewalld
5、安装依赖包: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 \
6、创建用户和组,配置变量环境#创建用户组
/usr/sbin/groupadd -g 501 oinstall
/usr/sbin/groupadd -g 502 dba
/usr/sbin/groupadd -g 503 oper
/usr/sbin/useradd -u 502 -g oinstall -G dba,oper oracle
echo "oracledb" | passwd --stdin oracle
#配置变量环境
su - oracle
vi ~/.bash_profile
#输入:
export TMP=/tmp export TMPDIR=$TMP
export ORACLE_UNQNAME=oracledb
export ORACLE_SID=oracledb
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"
export NLS_LANG=AMERICAN_AMERICA.UTF8
export LANG=en_US.UTF8
export PATH=.:$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_BASE/product/11.2.0/dbhome_1/bin:$ORACLE_HOME/bin
[oracle@oracledb ~]$ source ~/.bash_profile
7、创建目录和授权
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oraInventory
mkdir -p /u01/app/oracle/product/11.2.0/dbhome_1
mkdir -p /soft chown -R oracle:oinstall /u01
chown -R oracle:oinstall /soft
chmod -R 775 /u01 chmod -R 775 /soft
8、关闭numa功能
grubby --update-kernel=ALL --args="numa=off"
9、配置内核参数
vi /etc/sysctl.conf
#输入:
#可以拥有的异步IO请求数
fs.aio-max-nr = 1048576
#允许文件句柄的最大数目
fs.file-max = 6815744
#信号参数
kernel.sem = 250 32000 100 128
#IP V4的端口范围
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
#当系统检测到oops时,重新启动系统,以便系统能够重新初始化恢复正常工作
kernel.panic_on_oops = 1
#单个共享内存段最大值,让数据库在一个共享段里面的可以容纳整个SGA
#最大值:比物理内存小1字节
#(kernel.shmmax = 物理内存*1024*1024*1024-1)
kernel.shmmax = 4294967295
#控制共享内存页数(kernel.shmall = shmmax/4096)
kernel.shmall = 2097152
#共享内存的最大数量
kernel.shmmni = 4096
#当系统内存使用90%的时候开始使用交换页面
vm.swappiness=10
#默认是100,增大这个参数设置了虚拟内存回收directory和i-node缓冲的倾向,这个值越大。越容易回收。
vm.vfs_cache_pressure=200
复制
10、配置Oracle软件安装用户的资源限制
vi /etc/security/limits.conf
#ORACLE SETTING
#打开文件描述符大小
oracle soft nproc 16384
oracle hard nproc 16384
#单个用户可用的进程数
oracle soft nofile 16384
oracle hard nofile 65536
#进程堆栈段的大小
oracle soft stack 10240
oracle hard stack 32768
复制
11、关闭透明页
//查看透明页是否启用,显示[always]表示Transparent HugePages是启用的
[root@oracledb ~]# cat /sys/kernel/mm/transparent_hugepage/defrag [always] madvise never
[root@oracledb ~]# cat /sys/kernel/mm/transparent_hugepage/enabled [always] madvise never
//禁用透明页
[root@oracledb ~]# vi /etc/rc.d/rc.local
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
[root@oracledb ~]# chmod +x /etc/rc.d/rc.local
[root@oracledb ~]# reboot
//透明页已关闭
[root@oracledb ~]# cat /sys/kernel/mm/transparent_hugepage/defrag always madvise [never]
[root@oracledb ~]# cat /sys/kernel/mm/transparent_hugepage/enabled always madvise [never]
12、上传安装到/soft目录底下解压
unzip /opt/kid-mac/p13390677_112040_Linux-x86-64_1of7.zip -d /soft
unzip /opt/kid-mac/p13390677_112040_Linux-x86-64_2of7.zip -d /soft
13、配置oracle数据库软件配置:
cd /soft/database/response
echo '' > db_install.rsp
vi db_install.rsp
输入:
#软件版本信息
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
#安装选项-仅安装数据库软件
oracle.install.option=INSTALL_DB_SWONLY
#主机名称
ORACLE_HOSTNAME=oracledb
#oracle用户用于安装软件的组名
UNIX_GROUP_NAME=oinstall
#oracle产品清单目录
INVENTORY_LOCATION=/u01/app/oraInventory
#oracle运行语言环境,英文和简体中文
SELECTED_LANGUAGES=en,zh_CN
#oracle安装目录
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
#oracle基础目录
ORACLE_BASE=/u01/app/oracle
#安装版本类型:企业版
oracle.install.db.InstallEdition=EE
#不手动指定企业安装组件
oracle.install.db.EEOptionsSelection=false
#当EEOptionsSelection=false时,该参数不用填写
oracle.install.db.optionalComponents=
#指定拥有DBA组
oracle.install.db.DBA_GROUP=dba
#指定oper用户组
oracle.install.db.OPER_GROUP=oper
#不配置安全更新
DECLINE_SECURITY_UPDATES=true
#跳过更新
oracle.installer.autoupdates.option=SKIP_UPDATES
复制
14、创建oraInst.loc文件:以root用户创建/etc/oraInst.loc文件
vi /etc/oraInst.loc
#输入:
inventory_loc=/u01/oracle/oraInventory
inst_group=oinstall
复制
执行:
chown oracle:oinstall /etc/oraInst.loc
chmod 664 /etc/oraInst.loc
15、安装数据库软件
su - oracle
cd /soft/database
./runInstaller -silent -noconfig -ignorePrereq -responseFile /soft/database/response/db_install.rsp
#....日志结尾:As a root user, execute the following script(s):
1. /u01/app/oracle/product/11.2.0/dbhome_1/root.sh Successfully Setup Software.
#执行脚本:
[root@oracledb ~]# /u01/app/oracle/product/11.2.0/dbhome_1/root.sh
Check /u01/app/oracle/product/11.2.0/dbhome_1/install/root_oracledb_2023-12-11_17-42-10.log for the output of root script
16、安装监听,oracle用户执行:
netca -silent -responseFile /soft/database/response/netca.rsp
#一般会自己启动,手工启动:
lsnrctl start
17、创建数据库,oracle用户执行:dbca -silent -createDatabase \ -characterset AL32UTF8 \ -nationalcharacterset UTF8 \ -continueOnNonFatalErrors false \ -disableSecurityConfiguration ALL \ -datafiledestination '/u01/oradata/' \ -emConfiguration NONE \ -gdbName oracledb \ -memoryPercentage 40 \ -sid oracle \ -sysPassword 123 \ -systemPassword 123 \ -asmsnmpPassword 123 \ -automaticmemorymanagement false \ -totalMemory 0 \ -sampleSchema true \ -templateName General_Purpose.db
完成!!!