Centos7安装oracle 11g
前期准备
关闭selinux
# 永久关闭,防止重启服务器后又开了。
vim /etc/selinux/config
# 临时关闭
setenforce 0
关闭防火墙(不建议,后期建议直接放开相关端口即可)
systemctl disable firewalld
# 开放1521端口
iptables -A IN_public_allow -p tcp --dport 1521 -m conntrack --ctstate NEW -j ACCEPT
安装依赖:
yum -y install gcc gcc-c++ make binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static glibc glibc-common glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel numactl-devel sysstat unixODBC unixODBC-devel kernelheaders pdksh pcre-devel readline-devel rlwrap
添加用户
groupadd oinstall
groupadd dba
# 将oracle用户加到oinstall组,并且设置其附加组为dba
useradd -g oinstall -G dba oracle
# 设置oracle用户密码,建议搞个复杂点的。
echo "oracle" | passwd --stdin oracle
# 查看oracle用户的组信息
id oracle
创建目录
mkdir -p /data/u01/software
mkdir -p /data/u01/app/oracle/product/11.2.0/dbhome_1
mkdir -p /data/u01/app/oracle/{oradata,inventory,flash_recovery_area}
chown -R oracle:oinstall /data/u01/app/oracle
chmod -R 775 /data/u01/app/oracle
解压oracle安装包
mv linux.x64_11gR2_database_* /data/u01/software/
cd /data/u01/software
# 解压oracle安装包
unzip linux.x64_11gR2_database_1of2.zip && unzip linux.x64_11gR2_database_2of2.zip
修改内存参数:/etc/sysctl.confg
vim /etc/sysctl.confg
# 添加以下下内容:
fs.aio-max-nr = 1048576
fs.file-max = 6815744
# shmall、shmmax参数要根据实际内存数进行调整,不然安装会有问题,静态安装很容易忽略
# 图形化安装在检测是将会提示
# 官网建议:
#该参数控制可以使用的共享内存的总页数。 Linux 共享内存页大小为 4KB, 共享内存段的大小都是共享内存页大小的整数倍。
#一个共享内存段的最大大小是 16G ,那么需要共享内存页数是 16GB/4KB==4194304 (页),
#当内存为 12G 时, kernel.shmall = 3145728
#当内存为 16G 时, kernel.shmall = 4194304
#当内次为 32G 时, kernel.shmall = 8388608
#当内存为 64G 时, kernel.shmall = 16777216
#当内存为 128G 时, kernel.shmall = 33554432
kernel.shmall = 2468829
# 官网建议:以字节为单位的物理内存(RAM)大小的一半
kernel.shmmax = 12640407552
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 = 1048586
使修改生效
sysctl -p
修改/etc/security/limits.conf
vim /etc/security/limits.conf
# 添加以下内容:
#Oracle Setting
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
# End of file
修改/etc/pam.d/login
vim /etc/pam.d/login
# 添加内容:
#Oracle Setting
session required /lib64/security/pam_limits.so
session required pam_limits.so
修改/etc/profile添加:
vim /etc/profile
#Oracle Setting
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
安装rlwrap,作用:
# 如果前面yum安装依赖包没装上可以手动编译安装。
tar -zxvf rlwrap-0.42.tar.gz
cd rlwrap-0.42
./configure
make & make install
设置oracle用户环境
su - oracle
vim .bash_profile
#添加以下内容
#Oracle Setting
export ORACLE_BASE=/data/u01/app/oracle
export ORACLE_HOME=/data/u01/app/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export ORACLE_UNQNAME=$ORACLE_SID
export ORACLE_TERM=xterm
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"
export NLS_LANG=american_america.AL32UTF8
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
alias lsnrctl='rlwarp lsnrctl'
#生效环境
source .bash_profile
开始安装oracle:
修改自动响应安装文件
su - oracle
cp -R /data/u01/software/database/response/ . && cd response/
# 编辑自响应安装文件
vim db_install.rsp
#设置以下内容
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=自己的主机名
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/data/u01/app/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/data/u01/app/oracle/product/11.2.0/dbhome_1
ORACLE_BASE=/data/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
DECLINE_SECURITY_UPDATES=true
用GUI方式安装:直接在图形界面终端中运行runInstaller程序,然后一步步安装。
用自响应文件方式安装:
cd /data/u01/software/database/
./runInstaller -silent -responseFile /home/oracle/response/db_install.rsp -ignorePrereq
#等待安装,然后会提示让你以root身份脚本,运行后按回车键。
新开一个会话窗口,以root身份运行脚本:
bash /data/u01/app/oracle/inventory/orainstRoot.sh
bash /data/u01/app/oracle/product/11.2.0/dbhome_1/root.sh
vim /etc/hosts
127.0.0.1 后面加上主机名
配置oralce网络监听,使oracle 可以通过远程网络连接。
egrep -v "(^#|^$)" /home/oracle/response/netca.rsp
#以静默方式配置监听(rsp是oracle的自动响应文件,netca其实可以在gui界面上以引导方式一步步配置)
su - oracle
source .bash_profile
netca /silent /responsefile /home/oracle/response/netca.rsp
启动oracle 监听(lsnrctl)
su - oracle
# 启动监听
lsnrctl start
#看看端口是否在监听了
netstat -tunlp|grep 1521
#查看监听状态
lsnrctl status
#查看监听器配置文件 listener.ora
cat $ORACLE_HOME/network/admin/listener.ora
#查看监听服务名配置文件 tnsnames.ora
cat $ORACLE_HOME/network/admin/tnsnames.ora
创建oracle的实例
通过gui方式创建实例
dbca可以在图形化界面下手动一步步引导创建。
直接在图形化界面运行终端,然后输入命令:dbca
图形化可以参考:
通过自响应文件方式创建实例
vim /home/oracle/response/dbca.rsp
# 设置以下参数
# 注意:这里要和前面步骤中的配置oracle环境变量一致:[配置oracle用户环境变量](https://www.wolai.com/2Qg8uuoPwC7Tx7bUsRLeUP#ohcyHazUyV4BnmzUGgKfBQ)
# 全局数据库名
GDBNAME = "orcl"
# 数据库实例的唯一ID,用于给ORACLE区分多个实例
SID = "orcl"
# 密码设置
SYSPASSWORD = "SYS 用户密码"
SYSTEMPASSWORD = "SYSTEM 用户密码"
SYSMANPASSWORD = "sysman"
DBSNMPPASSWORD = "dbsnmp"
# oracle数据的存放的位置
DATAFILEDESTINATION =/data/u01/app/oracle/oradata
# 闪回技术数据的存放位置
RECOVERYAREADESTINATION=/data/u01/app/oracle/flash_recovery_area
# 字符集
CHARACTERSET = "AL32UTF8"
# 物理内存*80%
TOTALMEMORY = "6144"
su - oracle
# 以静默方式创建实例
dbca -silent -responseFile /home/oracle/response/dbca.rsp
重启服务器:
init 6
启动数据库实例
#以 sysdba 身份登录
sqlplus / as sysdba
#启动 oralce 数据库
SQL> startup
开机自启动
(注意:centos7还需要注意rc-local服务是否enable,且可执行权限是否有)
systemctl enable rc-local
/etc/rc.local加入以下内容:
su - oracle -c 'dbstart'
su - oracle -c 'lsnrctl start'
参考
本文来自博客园,作者:运维爱背锅,转载请注明原文链接:https://www.cnblogs.com/juelian/p/17559743.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步