查看原文
其他

Oracle数据库环境搭建

Nicholas 杰哥的IT之旅 2022-08-11

1准备环境
主机IP地址操作系统主机名称软件版本备注
10.0.55.130

CentOS-6.10

内核版本:2.6.32-754.3.5.el6.x86_64
db1

Oracle 11gR2

图形界面

单实例安装
2修改主机名[root@db1 u01 ~]# vim /etc/sysconfig/network  #修改主机名
[root@db1 u01 ~]# vim /etc/hosts 
# 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
# ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1         localhost
10.0.55.130       db1

提示: 主机名必须一致

3修改内核参数[root@db1 u01 ~]# vim /etc/sysctl.conf
注释掉存在的四个参数值:
#kernel.msgmnb = 65536
#kernel.msgmax = 65536
#kernel.shmmax = 68719476736
#kernel.shmall = 4294967296
添加以下内容:
# for oracle 11gR2, and tunning kenerl parameters
kernel.shmall = 67108864
kernel.shmmax = 34359738368
kernel.shmmni = 4096
kernel.msgmax = 655360
kernel.msgmnb = 1024000
kernel.msgmni = 4096
kernel.sem = 1010 72420 100 142
fs.aio-max-nr = 1048576
fs.file-max = 6815744
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_max = 1048576
net.ipv4.ip_local_port_range=9000 65500
net.ipv4.tcp_rmem=4096 262144 4194304
net.ipv4.tcp_wmem=4096 262144 1048576
[root@db1 u01 ~]# /sbin/sysctl -p  # 使修改过的内核生效

警告

error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key
error: "net.bridge.bridge-nf-call-iptables" is an unknown key
error: "net.bridge.bridge-nf-call-arptables" is an unknown key

报错分析:本次测试使用的网络方式为nat,那三个参数依赖于bridge模块。
加载bridge模块:
[root@db1 u01]# sudo modprobe bridge
[root@db1 u01]# modprobe bridge
[root@db1 u01]# lsmod|grep bridge
bridge                 83177  0
stp                     2218  2 bridge,garp
llc                     5546  3 bridge,garp,stp
4创建oracle用户和组[root@db1 u01 ~]# groupadd oinstall
[root@db1 u01 ~]# useradd -g oinstall -d /u01 -s /bin/bash oracle
[root@db1 u01 ~]# mkdir /u01
[root@db1 u01 ~]# chown -R oracle:oinstall /u01 # 赋予权限oracle
[root@db1 u01 ~]# passwd oracle # 修改密码;这里密码为:“oracle”
5配置oracle用户环境变量[root@db1 u01 ~]# su - oracle
[oracle@db1 u01]$ vim .bash_profile
export ORACLE_BASE=/u01/oracle/app
export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH:/u01/ggs
export LANG=c
[root@db1 u01 ~]$ source /home/oracle/.bash_profile #到oracle家目录下执行环境变量生效
6安装依赖[root@db1 u01 ~]# rpm -qa gcc gcc-c++ glibc-common binutils libstdc++ libstdc++-devel openmotif pdksh sysstat libaio setarch compat-db libXp make control-center glibc
gcc-4.4.7-23.el6.x86_64
gcc-c++-4.4.7-23.el6.x86_64
libaio-0.3.107-10.el6.x86_64
libstdc++-4.4.7-23.el6.x86_64
make-3.81-23.el6.x86_64
libstdc++-devel-4.4.7-23.el6.x86_64
compat-db-4.6.21-17.el6.x86_64
sysstat-9.0.4-33.el6_9.1.x86_64
glibc-2.12-1.212.el6.i686
glibc-2.12-1.212.el6.x86_64
binutils-2.20.51.0.2-5.48.el6.x86_64
glibc-common-2.12-1.212.el6.x86_64
7修改oracle打开文件数软硬限制[root@db1 u01 ~]# su -  root
[root@db1 u01 ~]# vi /etc/security/limits.conf  添加如下内容
oracle  soft  nproc   65536
oracle  hard  nproc   65536
oracle  soft  nofile  65536
oracle  hard  nofile  65536
oracle  soft  stack   65536
8使用Xmanager图形化工具连接安装oracle环境

如果没有图形化界面请尝试安装

1.yum安装Xmanager图形化需要补丁包

[root@db1 u01 ~]# yum grouplist
[root@db1 u01 ~]# yum groupinstall "X Window System"
[root@db1 u01 ~]# yum groupinstall Desktop
[root@db1 u01 ~]# yum install xterm
[root@db1 u01 ~]# yum install xclock
[root@db1 u01 ~]# xhost +

2.在本地打开Xmanager以oralce用户连接机器

9安装数据库软件

1.使用oracle用户上传安装包 /home/oralce

[oracle@db1 u01]$ ll
-rw-r--r-- 1 oracle oinstall 1239269270 May  6  2013 linux.x64_11gR2_database_1of2.zip
-rw-r--r-- 1 oracle oinstall 1111416131 May  6  2013 linux.x64_11gR2_database_2of2.zip

2.解压安装包

[oracle@db1 u01]$ unzip linux.x64_11gR2_database_1of2.zip  
[oracle@db1 u01]$ unzip -n linux.x64_11gR2_database_2of2.zip  
[oracle@db1 u01]$ cd /u01/database/
[oracle@db1 u01]$ ll
drwxr-xr-x 8 oracle oinstall       4096 Aug 21  2009 database
-rw-r--r-- 1 oracle oinstall 1239269270 May  6  2013 linux.x64_11gR2_database_1of2.zip
-rw-r--r-- 1 oracle oinstall 1111416131 May  6  2013 linux.x64_11gR2_database_2of2.zip

Ø  执行命令: ./runInstaller  进入图形化界面

Ø  提示:注销root用户,切换到oracle用户下执行./runInstaller

如果Linux主机名和/etc/hosts文件名不一致时,则不会出现下面正常步骤的图:

这些关联项需要全部安装完毕如需配置yum源有两种办法参考

下图如遇到错误,则忽略即可【因上面很多依赖包没安装所造成,生产环境中要安装】

安装过程中会执行两个脚本root用户执行以下两个脚本 后点击OK

脚本1、/u01/oracle/oraInventory/orainstRoot.sh

脚本2、/u01/oracle/app/oracle/product/11.2.0/dbhome_1/root.sh

点击close,oracle软件安装完成

10安装监听软件netca

完成oracle软件安装完成,接下来netca创建监听服务

[oracle@db1 ~]$ netca

如果报错请按照如下方法解决处理

cd/u01/oracle/app/oracle/product/11.2.0/dbhome_1/inventory/Scripts/ext/lib

cp libclntsh.so.11.1/u01/oracle/app/oracle/product/11.2.0/dbhome_1/lib/

在执行

此时监听配置完成后,通过下面创建实例进行启动

11标创建oracle数据库实例dbca

执行dbca   出现如下如所示

如果报错

请按照如下方法解决处理

cd/u01/oracle/app/oracle/product/11.2.0/dbhome_1/inventory/Scripts/ext/lib

cp libclntsh.so.11.1/u01/oracle/app/oracle/product/11.2.0/dbhome_1/lib/

[oracle@db1 ~]$ dbca  # 创建数据库实例

这里的实例ID必须与oracle环境变量一样,否则报错

下图,如果创建了多个监听 则配置下图

测试库根据需求来开与不开归档模式,生产库必须开,便于备份。

下图内存:单实例物理内存60%;多实例 平均分配60%

修改字符集

至此oracle安装完成。

12修改oracle监听配置文件

1. 修改监听文件

# 查找要修改的文件位置
[oracle@db1 database]$ find /u01 -name "listener.ora"
/u01/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
/u01/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/samples/listener.ora

#切换目录并查看
[oracle@db1 database]$ cd /u01/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin
[oracle@db1 admin]$ ll
-rw-r--r-- 1 oracle oinstall  321 Oct  4 21:43 listener.ora  # 修改文件如下图所示
drwxr-xr-x 2 oracle oinstall 4096 Oct  4 21:29 samples
-rw-r--r-- 1 oracle oinstall  187 May  7  2007 shrept.lst
-rw-r----- 1 oracle oinstall  327 Oct  4 22:01 tnsnames.ora  # 修改文件如下图所示
# 修改内容如下:

单实例单监听模式下的修改:

2.ORACLE启动监听器

提示:安装完成监听服务后,默认是启动状态;

启动和停止监听方式【oracle用户下操作】

[oracle@db1 admin]$ lsnrctl start  # 启动监听器
[oracle@db1 admin]$ lsnrctl stop   # 停止监听器

3.环境验证

[oracle@db1 admin]$ export ORACLE_SID=hxk # 定义SID环境变量(多实例情况下,切换到哪个库就声明对应SID即可)
[oracle@db1 admin]$ echo $ORACLE_SID
hxk


报错信息:

4. 登录sql方法

[oracle@db1 admin]$ sqlplus / as sysdba
或:
[oracle@db1 admin]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Thu Oct 4 22:30:09 2018
Copyright (c) 1982, 2009, Oracle.  All rights reserved.
SQL> conn /as sysdba # 连接数据库
Connected.
SQL> select name from v$datafile;


13解决Linux命令行下登录sql终端无法使用退格问题# 安装依赖及所需程序,root用户下操作
[root@db1 rlwrap-0.37]# yum install readline readline-devel libtermcap-devel
[root@db1 u01]# ll rlwrap-0.37.tar.gz
-rw-r--r-- 1 oracle oinstall 251438 Sep 29 19:46 rlwrap-0.37.tar.gz
[root@db1 u01]# ./configure
[root@db1 u01]# make && make install

# 切换到oracle用户下设置环境变量
[oracle@db1 ~]$ vim .bash_profile
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
[oracle@db1 ~]$ source .bash_profile


往期精彩回顾TCP/IP协议及三次握手、四次断开详解Linux下MySQL基本操作
Tomcat的三种运行模式
Nginx反向代理upstream模块介绍
Docker基础知识Tomcat和Weblogic的区别高可用Redis服务架构分析与搭建
Linux磁盘扩容 | LVM逻辑卷使用手册
99%的Linux运维工程师必须要掌握的命令及运用
Linux环境搭建 | 手把手教你如何安装Linux虚拟机
Linux环境搭建 | 手把手教你如何安装CentOS7虚拟机
Linux环境下Oracle数据库常用命令

扫一扫 关注我们

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存