禁用透明大页

CentOS7.x Transparent HugePages 默认是enabled,然后,它可能会导致内存动态分配出现延迟;所以需要禁用。使用如下命令检查透明大页是否禁用。
cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never

禁用透明大页,修改/etc/grub2.conf,如下图位置追加transparent_hugepage=never;修改完成后,重启操作系统。

centos修改大页内存_centos修改大页内存

再次检查透明大页,可见已经禁用
cat /sys/kernel/mm/transparent_hugepage/enabled       
always madvise [never]

另:临时关闭透明大页,重启系统后会恢复:

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

创建Oracle用户(ROOT用户下)

/usr/sbin/groupadd -g 501 oinstall
/usr/sbin/groupadd -g 502 dba
/usr/sbin/groupadd -g 503 oper
/usr/sbin/useradd -u 501 -g oinstall -G dba,oper oracle

创建Oracle目录(ROOT用户下)

mkdir -p /u01/app/oracle 
chmod -R 775 /u01/app/oracle
chown -R oracle:oinstall /u01/

配置服务器/etc/hosts

echo "192.168.1.1 oracle-server-01" >> /etc/hosts

解压client介质(ORACLE用户下)

cd /home/oracle
unzip p13390677_112040_Linux-x86-64_1of7.zip 
unzip p13390677_112040_Linux-x86-64_2of7.zip

CetnOS7需解决Oracle 11g操作系统兼容性问题(ORACLE用户下)

chmod a+w /home/oracle/database/stage/cvu/cv/admin/cvu_config
vi /home/oracle/database/stage/cvu/cv/admin/cvu_config
#CV_ASSUME_DISTID=OEL4
CV_ASSUME_DISTID=OEL6
或直接设置环境变量
export CV_ASSUME_DISTID=RHEL7.6 或 export CV_ASSUME_DISTID=OEL6

安装前检查,查看是否有依赖不满足(ORACLE用户下)

cd /home/oracle/database/
./runInstaller -silent -executePrereqs -showProgress
# 执行完后,会提示installActions日志信息,例如:installActions2021-08-30_09-47-25PM.log,在该日志的最后部分会展示依赖检查不符合项。

依赖安装

依赖软件安装

yum -y install binutils compat-libstdc++-33 compat-libcap1 compat-libstdc++-33.i686 gcc gcc-c++ glibc glibc.i686 glibc-devel glibc-devel.i686 ksh libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel.i686 libstdc++-devel libaio libaio.i686 libaio-devel libaio-devel.i686 make sysstat unixODBC unixODBC-devel elfutils-libelf elfutils-libelf-devel

内核配置

这里如果自定义文件vi /etc/sysctl.d/90-override.conf,由于Oracle自身的BUG在安装到校验环境信息的时候,需要在/etc/sysctl.conf中同样配置一份,否则校验不通过。安装完成之后,这里能否删除,不晓得。。应该是可以的。。如下参数需要根据依赖检查进行配置,配置完后执行sysctl -p 或 sysctl -f file-name以生效。
vi /etc/sysctl.d/99-sysctl.conf 
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 2147483648
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

设置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

准备response file

$ cd database/response/ dbca.rsp        db_install.rsp  netca.rsp

其中database是Oracle软件解压后生成的目录。可见在response目录下有三个模板,其中dbca.rsp是用来创建数据库的 (也就是创建Oracle实例的)。netca.rsp是用作网络配置的db_install.rsp是安装Oracle软件+创建数据库+网络配置。在这里为求方便,我们选择db_install.rsp模板。所需配置项及其释义如下:

# 指定安装选项 oracle.install.option=INSTALL_DB_AND_CONFIG # 配置hostname ORACLE_HOSTNAME=oracle11g-server # 为inventory directory设置组 UNIX_GROUP_NAME=oinstall # 设置inventory directory目录 INVENTORY_LOCATION=/u01/app/oraInventory # 选择语言组件 SELECTED_LANGUAGES=en # 设置Oracle安装家目录 ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_4 # 设置Oracle安装基础目录 ORACLE_BASE=/u01/app/oracle # 选择Oracle安装版本:EE : Enterprise Edition、SE : Standard Edition oracle.install.db.InstallEdition=EE # EE版本可选组件 oracle.install.db.EEOptionsSelection=false # oracle.install.db.DBA_GROUP=dba oracle.install.db.OPER_GROUP=oper # 指定创建数据库的类型:一般用途即可,此外有数据仓库类型。 oracle.install.db.config.starterdb.type=GENERAL_PURPOSE # Database Global Database Name oracle.install.db.config.starterdb.globalDBName=orcl # Database SID oracle.install.db.config.starterdb.SID=orcl # 选择数据库使用的字符集 oracle.install.db.config.starterdb.characterSet=ZHS16GBK # 设置是否启动内存自动管理,这里设置true,memoryLimit则不生效 oracle.install.db.config.starterdb.memoryOption=true # 如果memoryOption=false,这里需要手动指定内存限制 oracle.install.db.config.starterdb.memoryLimit=7168 # 是否加载Example Schemas oracle.install.db.config.starterdb.installExampleSchemas=false # 启动安全认证,这里默认就是true oracle.install.db.config.starterdb.enableSecuritySettings=true # 设置所有内置用户密码,也可以分别设置密码 oracle.install.db.config.starterdb.password.ALL=你的密码 oracle.install.db.config.starterdb.password.SYS= oracle.install.db.config.starterdb.password.SYSTEM= oracle.install.db.config.starterdb.password.SYSMAN= oracle.install.db.config.starterdb.password.DBSNMP= # DB_CONTROL、GRID_CONTROL二选一 oracle.install.db.config.starterdb.control=DB_CONTROL # 是否需要自动备份数据 oracle.install.db.config.starterdb.automatedBackup.enable=false # 设置数据库存储类型:FILE_SYSTEM_STORAGE、ASM_STORAGE二选一 oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE # 数据库存储路径 oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/u01/app/oracle/oradata # 设置My Oracle Support SECURITY_UPDATES_VIA_MYORACLESUPPORT=false # 设置是否禁止更新 DECLINE_SECURITY_UPDATES=true

执行安装程序(ORACLE用户下)

su - oracle
cd /home/oracle/database/
./runInstaller -silent -ignorePrereq -showProgress -responseFile /home/oracle/db_install.rsp

Starting Oracle Universal Installer...
Prepare in progress.
Copy files in progress.
Link binaries in progress.
Setup files in progress.
Oracle Net Configuration Assistant in progress.
Oracle Database Configuration Assistant in progress.
Execute Root Scripts in progress.
As a root user, execute the following script(s):
        1. /u01/app/oraInventory/orainstRoot.sh
        2. /u01/app/oracle/product/11.2.0/dbhome_4/root.sh

Successfully Setup Software.

执行静默安装命令后,执行到As a root user, execute the following script(s),需另启会话,在root用户下,执行上述2个脚本。提示:Successfully Setup Software.则安装成功。

配置环境变量

vi /home/oracle/.bash_profile 
export ORACLE_OWNER=oracle
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_4/
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH:$HOME/.local/bin:$HOME/bin

source /home/oracle/.bash_profile

放开防火墙

firewall-cmd --add-port 1521/tcp --permanent
firewall-cmd --reload