Oracle11gR2搭建部署超详细

企业级Oracle11gR2搭建部署超详细

1.硬件要求

1.1.内存:2G(官方最低要求,可根据实际环境进行修改)
1.2.硬盘:40G(企业安装所需4.29G和1.7G数据盘,可根据实际环境进行修改)

2.环境准备

2.1.操作系统:Centos7.5 64位
2.2.Oracle版本:Oracle 11gR2
2.3.官网地址:Database Software Downloads | Oracle

Oracle的安装包下载以后是两个压缩包,同时选中两个压缩包右击进行解压,或者在centos系统里边解压也可以

在这里插入图片描述

2.4.检查系统版本

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-25jLkAUG-1687674869966)(.\image\image-20230618180454912.png)]

[root@oracledb ~]# cat /etc/redhat-release

在这里插入图片描述

2.5.修改主机名
[root@oracledb ~]# hostnamectl set-hostname oracledb && bash
2.6.添加主机名与IP对应记录
[root@oracledb ~]# vim /etc/hosts # 编辑 hosts
#格式IP 主机名
192.168.100.102 oracledb

#ping测试连通
[root@oracledb yum.repos.d]# ping oracledb
PING oracledb (192.168.100.102) 56(84) bytes of data.
64 bytes from oracledb (192.168.100.102): icmp_seq=1 ttl=64 time=0.026 ms
64 bytes from oracledb (192.168.100.102): icmp_seq=2 ttl=64 time=0.044 ms
^C
--- oracledb ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.026/0.035/0.044/0.009 ms

2.7.关闭防火墙
[root@oracledb ~]# systemctl stop firewalld.server
[root@oracledb ~]# systemctl disabled firewalld.server
2.8.关闭安全机制
[root@oracledb ~]# setenforce 0
[root@oracledb ~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config 
2.9.创建用户和组
[root@oracledb ~]# groupadd -g 200 oinstall
[root@oracledb ~]# groupadd -g 201 dba
[root@oracledb ~]# useradd -u  440 -g oinstall -G dba oracle
[root@oracledb yum.repos.d]# echo '123' |passwd --stdin oracle

Oracle11gR2搭建部署超详细_第1张图片

2.10.修改内核参数
[root@oracledb ~]# vim /etc/sysctl.conf   #末尾加入如下参数,保存退出

net.ipv4.ip_local_port_range= 9000 65500
fs.file-max = 6815744
kernel.shmall = 10523004
kernel.shmmax = 6465333657
kernel.shmmni = 4096
kernel.sem = 250 32000 100128
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_max=1048576
fs.aio-max-nr = 1048576

刷新生效:sysctl -p
2.11.修改系统资源限制
[root@oracledb ~]# vim /etc/security/limits.conf   #末尾加如如下参数,保存退出
oracle  soft  nproc  2047
oracle  hard  nproc  16384
oracle  soft  nofile  1024
oracle  hard  nofile  65536
2.12.修改用户验证选项
[root@oracledb ~]# vi  /etc/pam.d/login     #在pam_namespace.so下加入标红的这行
session    required     pam_limlts.so
session    required     /lib64/security/pam_limits.so #64位选这个

Oracle11gR2搭建部署超详细_第2张图片

2.13.创建安装目录(自定义)
[root@oracledb ~]# mkdir -p /opt/app/oracle
[root@oracledb ~]# chmod 755 /opt/app/oracle/
[root@oracledb ~]# chown -R oracle:oinstall /opt/app/oracle/

##注:一会在解压数据库的安装包时它会自动生成一个database的目录,那个目录也要给权限和更改属主属组,不然它会因为权限无法生成root.sh的启动脚本
2.14.设置oracle环境变量
切换到创建的Oracle用户环境  (根据自定的安装路径进行填写)

[root@oracledb ~]# su - oracle  #切换到oracle用户
[oracle@oracledb ~]$ vim ~/.bash_profile
export ORACLE_BASE=/opt/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export ORACLE_SID=orcl
export ORACLE_PID=ora11g
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

Oracle11gR2搭建部署超详细_第3张图片

保存退出,并刷新全局变量,使配置生效:

source ~/.bash_profile # 使配置立即生效

env | grep ORA # 查看环境变量是否完成

Oracle11gR2搭建部署超详细_第4张图片

3.安装及配置

3.1.安装所需依赖包,先配置阿里源
[root@oracledb ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
3.2. 切换到root用户环境: 安装所需依赖包 (可以使用rpm -qa 检查依赖包的完整度)
[root@oracledb ~]# yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*i686 compat-libstdc++-33*.devel compat-libstdc++-33 compat-libstdc++-33*.devel gcc gcc-c++ glibc glibc*.i686 glibc-devel glibc-devel*.i686 ksh libaio libaio*.i686 libaio-devel libaio-devel*.devel libgcc libgcc*.i686 libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.devel libXi libXi*.i686 libXtst libXtst*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686

#安装完后检查是否已经全部安装
[root@oracledb ~]# rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
3.3.把下好的oracle压缩包使用xftp或者rz工具传到自建的/opt目录下
#解压
[root@oracledb opt]# ls *.zip | xargs -n1 unzip -o
#或者分开解压
[root@oracledb opt]# unzip linux.x64_11gR2_database_1of2.zip
[root@oracledb opt]# unzip linux.x64_11gR2_database_2of2.zip
3.4.解压后就会出现database目录(记得更改权限和属主属组),该目录下有3个.RSP配置文件

三个文件的作用:

Db_install.rsp: 安装应答

Dbca.rsp: 创建数据库应答

Netca.rsp: 建立监听、本地服务名等网络设置的应答

去到目录下,修改db_install.rsp文件,(这里建议做个备份,方便一会改错了好对照回滚)

[root@oracledb opt]# cd /opt/database/response # 进入 response 目录

[root@oracledb response]# cp db_install.rsp db_install_copy.rsp   #将 db_install.rsp 备份一份,以免修改出错
[root@oracledb response]# chmod +x /opt/database/response/db_install.rsp
[root@oracle response]# chmod +x /opt/database/response/dbca.rsp
[root@oracle response]# chmod +x /opt/database/welcome.html
[root@oracledb response]# chown -R oracle:oinstall /opt/database/

修改如下参数: vim db_install.rsp #标红的必须改

oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0

oracle.install.option=INSTALL_DB_SWONLY

ORACLE_HOSTNAME=oracledb

UNIX_GROP_NAME=oinstall

INVENTORY_LOCATION=/opt/app/oracle/oraInventory

SELECTED_LANGUAGES=en,zh_CN

ORACLE_HOME=/opt/app/oracle/product/11.2.0/db_1

ORACLE_BASE=/opt/app/oracle

oracle.install.db.InstallEdition=EE

oracle.install.db.isCustomInstall=false

oracle.install.db.customComponents=oracle.server:11.2.0.1.0,oracle.sysman.ccr:10.2.7.0.0,oracle.xdk:11.2.0.1.0,oracle.rdbms.oci:11.2.0.1.0,oracle.network:11.2.0.1.0,oracle.network.listener:11.2.0.1.0,oracle.rdbms:11.2.0.1.0,oracle.options:11.2.0.1.0,oracle.rdbms.partitioning:11.2.0.1.0,oracle.oraolap:11.2.0.1.0,oracle.rdbms.dm:11.2.0.1.0,oracle.rdbms.dv:11.2.0.1.0,orcle.rdbms.lbac:11.2.0.1.0,oracle.rdbms.rat:11.2.0.1.0

oracle.install.db.DBA_GROUP=dba

oracle.install.db.OPER_GROUP=oinstall

oracle.install.db.CLUSTER_NODES=

oracle.install.db.config.starterdb.type=GENERAL_PURPOSE

oracle.install.db.config.starterdb.globalDBName=ora11g

oracle.install.db.config.starterdb.SID=ora11g

oracle.install.db.config.starterdb.characterSet=AL32UTF8

oracle.install.db.config.starterdb.memoryOption=true

oracle.install.db.config.starterdb.memoryLimit=1500

oracle.install.db.config.starterdb.installExampleSchemas=false

oracle.install.db.config.starterdb.enableSecuritySettings=true

oracle.install.db.config.starterdb.password.ALL=oracle

oracle.install.db.config.starterdb.password.SYS=

oracle.install.db.config.starterdb.password.SYSTEM=

oracle.install.db.config.starterdb.password.SYSMAN=

orcle.install.db.config.starterdb.password.DBSNMP=

oracle.install.db.config.starterdb.control=DB_CONTROL

oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=

oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=false

oracle.install.db.config.starterdb.dbcontrol.emailAddress=

oracle.install.db.config.starterdb.dbcontrol.SMTPServer=

oracle.install.db.config.starterdb.automatedBackup.enable=false

oracle.install.db.config.starterdb.automatedBackup.osuid=

oracle.install.db.config.starterdb.automatedBackup.ospwd=

oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE

oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=

oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=

oracle.install.db.config.asm.diskGroup=

oracle.install.db.config.asm.ASMSNMPPassword=

MYORACLESUPPORT_USERNAME=

MYORACLESUPPORT_PASSWORD=

SECURITY_UPDATES_VIA_MYORACLESUPPORT=

DECLINE_SECURITY_UPDATES=true //一定要设为 true

PROXY_HOST=

PROXY_PORT=

PROXY_USER=

PROXY_PWD=

保存并退出

[root@oracledb response]# less /opt/database/response/db_install.rsp |grep -v "#"|grep -v "^$"  #查看配置

4.开始静默安装

4.1.切换到Oracle用户环境 去到/opt/database目录会看到安装的脚本文件runInstaller
[root@oracledb response]# su - oracle # 切换到 oracle 用户

[oracle@oracledb ~]$ cd /opt/database/ #进入/opt/database目录

[oracle@oracledb database]$ ./runInstaller -silent -force -responseFile /opt/database/response/db_install.rsp # 安装


#注:这里一般修改都正确的话,不会报错,如果报错去看它的日志,进行排查,不同环境不同报错)

当日志中出现:Successfully  Setup  Software  说明安装成功

如果出现下图错误,可参照 https://www.cnblogs.com/a9999/p/6957280.html 解决,然后重新执行安装命令

Oracle11gR2搭建部署超详细_第5张图片

[WARING]可暂时忽略,此时安装程序仍在后台进行,如果出现[FATAL],则安装程序已经停止了。

安装需要一会儿,如果想看安装进度,可以再打开一个窗口,输出会话日志

tail -f 日志文件(下图中红色框中为日志文件绝对路径)
4.2.当出现 Successfully Setup Software. 证明已经安装成功,然后根据提示以 root 用户执行脚本

切换到root用户环境: 会生成1个目录:product目录里面有root.sh脚本,执行这2个脚本

sh /opt/app/oracle/oraInventory/orainstRoot.sh

sh /opt/app/oracle/product/11.2.0/db_1/root.sh

Oracle11gR2搭建部署超详细_第6张图片

4.3.配置监听: 切换到Oracle用户环境

​ 启动监听的命令:lsnrctl start

​ 停止监听的命令:lsnrctl stop

​ 重启监听的命令:lsnrctl reload

​ 查看监听的命令:lsnrctl status

执行如下命令: (这里是直接引用的环境变量中的路径)

su - oracle # 切换到 oracle 用户

$ORACLE_HOME/bin/netca /silent /responseFile /opt/database/response/netca.rsp # 配置监听

Oracle11gR2搭建部署超详细_第7张图片

查看监听状态
Oracle11gR2搭建部署超详细_第8张图片

4.4.静默建库: 切换到root用户环境,修改完配置文件保存退出
[oracle@oracledb ~]# su - root # 切换到 root 用户
[root@oracledb ~]# vim /opt/database/response/dbca.rsp

修改文件文件如下内容:
GDBNAME = "orcl" # 78 行
SID="orcl" # 149行
CHARACTERSET="AL32UTF8" # 415行
NATIONALCHARACTERSET="UTF8" # 425行

切换到Oracle用户环境,进行建库。
[root@oracledb ~]# su - oracle # 切换到 oracle 用户

[oracle@oracledb ~]# $ORACLE_HOME/bin/dbca -silent -responseFile /opt/database/response/dbca.rsp # 建库

#注:执行命令后,它会把命令行清屏,这是正常状况,清屏后没有任何提示,直接输入Oracle的数据库密码,回车,再输一次,回车,等一会之后它就会自定创建。

Oracle11gR2搭建部署超详细_第9张图片

5.安装完成,启动数据库

输入命令:sqlplus / as sysdba #权限最高用户sys

SQL*Plus: Release 11.2.0.1.0 Production on Mon Feb 16 14:26:57 2015

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup

ORACLE instance started.

 

Total System Global Area 3290345472 bytes

Fixed Size                  2217832 bytes

Variable Size            1795164312 bytes

Database Buffers         1476395008 bytes

Redo Buffers               16568320 bytes

Database mounted.

Database opened.

SQL>

6.后续优化

6.1.切换到root用户环境: 配置开机自定启动监听和启动Oracle数据库
[oracle@oracledb ~]# su - root #切换到 root 用户

[root@oracledb ~]# vim /etc/oratab # 编辑
(改完后的样子)orcl:/home/oracle/oracle92:Y 务必是大写的Y
(未改之前)*:/home/oracle/oracle92:N  ##这一行中的* 改为数据库SID:orcl  N改为Y(注:是大写的Y)

[root@oracledb ~]# vim /etc/rc.local # 编辑  在末尾加入以下内容:
su - oracle -c 'dbstart'
su - oracle -c 'lsnrctl start'

[root@oracledb ~]# chmod +x /etc/rc.local # 配置文件权限
6.2.防火墙的端口开放: 1521Oracle数据库的端口
[root@oracledb ~]# firewall-cmd  --permanent  --zone=public  --add-port=1521/tcp  ##开放1521端口

[root@oracledb ~]# firewall-cmd  --reload    ##重新载入防火墙,使配置生效

[root@oracledb ~]# firewall-cmd  --zone=public  --list-ports   ##查看系统所有开放的端口

7.服务器重启后进入oracle

bash: sqlplus: command not found 解决方法

1.查看环境.bash_profile 配置
[oracle@localhost ~]$ vi .bash_profile
# .bash_profile
# Get the aliases and functions
 
 if [ -f ~/.bashrc ]; then
 
        . ~/.bashrc
 
 fi
 # User specific environment and startup programs
  PATH=$PATH:$HOME/bin
  export PATH
  export ORACLE_BASE=/usr/local/oracle11gr2/oracle
  export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
 export ORACLE_SID=cssid
 export ORACLE_OWNER=oracle
 export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
 
 #这里的环境变量都已经配置了。
2.登录oralce测试
 [root@localhost ~]# sqlplus / as sysdba
 
 -bash: sqlplus: command not found
 
 #找不到sqlplus 可执行文件找不到。 所以我们要去/usr/bin/ 下查看sqlplus 是否存在
3.查找sqlplus所在位置
[root@localhost bin]# find / -name sqlplus

#要么去sqlplus根目录下执行,要么做个ln到/usr/bin/下sqlplus根目录:/usr/local/oracle11gr2/oracle/product/11.2.0/db_1/bin/sqlplus

这里我们做ln。这样操作方便很多
[root@oracle bin]#  ln -s /opt/app/oracle/product/11.2.0/db_1/bin/sqlplus /usr/bin/

#登录验证
[root@oracle ~]# sqlplus / as sysdba
Error 6 initializing SQL*Plus
SP2-0667: Message file sp1.msb not found
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory

#发现登录不进去
[root@oracle ~]# echo $ORACLE_HOME
#查看环境变量没有,定义变量,或者写进/etc/profile永久生效,写完之后刷新生效
[root@oracle ~]# ORACLE_HOME=/opt/app/oracle/product/11.2.0/db_1
[root@oracle ~]# export ORACLE_HOME
[root@oracle ~]# echo $ORACLE_HOME
/opt/app/oracle/product/11.2.0/db_1

[root@oracle bin]# source /home/oracle/.bash_profile
[root@oracle bin]# su oracle
[oracle@oracle bin]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Sun Jun 18 20:29:26 2023

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> 
SQL> startup
ORACLE instance started.

Total System Global Area 1586708480 bytes
Fixed Size		    2213736 bytes
Variable Size		  922749080 bytes
Database Buffers	  654311424 bytes
Redo Buffers		    7434240 bytes
Database mounted.
Database opened.
SQL> 

你可能感兴趣的:(oracle,数据库,java)