禁用透明大页
CentOS7.x Transparent HugePages 默认是enabled,然后,它可能会导致内存动态分配出现延迟;所以需要禁用。使用如下命令检查透明大页是否禁用。
cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never禁用透明大页,修改/etc/grub2.conf,如下图位置追加transparent_hugepage=never;修改完成后,重启操作系统。
再次检查透明大页,可见已经禁用
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.shSuccessfully 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