VMware 下安装 Linux7.6 环境,在 Linux 环境下安装 Oracle11g 数据库、数据库参数设置、数据库创建,监听创建、客户端连接。

第一章 数据库安装前准备

1.1 环境规划

操作系统

数据库版本

数据库名

数据块大小

字符集

IP地址

redhat 7.6

oracle11.2.04

lxorcldb

8192

GBK

192.168.8.130

1.2 部署硬盘规划

目录

空间大小

目录说明

备注

/

80G

根据目录

/u01

100G

Oracle安装目录

/oradate

200G

Oracle数据文件目录

/backup

400G

备份目录

/arch

200G

归档目录

第二章 VMware workstation安装Redhat7系统

2.1 Linux版本

rhel-server-7.6-x86_64-dvd.iso

2.2 虚拟机搭建

  • 新建虚拟机

  • 选择兼容性

  • 选择安装来源

  • 选择安装系统环境

  • 设置虚拟机名称

  • 选择处理器配置

  • 选择内存大小配置

  • 配置网络类型

  • 配置下一步操作

  • 点击“编辑虚拟设置”

  • 选择添加ISO镜像文件

  • 增加硬盘设置

2.3 安装redhat7系统

  • 点击如下按钮开始安装

  • 选择安装redhat7,选中第一个

  • 选择语言

选择第二门语言

  • 软件安装

  • 磁盘规划分区(可以选择自动或者按照个人意愿进行手动分区)这里我先设置如何手动分区

分区:添加swap分区

分区:添加/u01分区添加容量为100G

分区:剩余容量全都添加根路径/分区

分区点击完成设置成功,接受更改确定。

  • 设置网络主机名

选择IPV4地址手动添加ip地址

选择IPV4地址手动添加

ip地址:192.168.8.140

子网掩码:255.255.255.0

网关:192.168.8.2

DNS:原ip地址或者8.8.8.8

打开网络配置开关,常看网络是否能正常相应成功,选择完成即可

  • 设置管理员用户和普通用户

管理员

普通用户

  • 完成最后的安装系统步骤

点击重启

添加完成许可设置

第三章 数据库安装前Linux基础设置

3.1 修改主机名,把里面的主机名进行更改即可。更后,退出重新登陆即可生效

--设置主机名
vi /etc/hostname
--配置主机名
lxorcldb
--保存退出
:wq

3.2 可修改IP地址

 vi /etc/sysconfig/network-scripts/ifcfg-ens33
--增加如下内容
--static设置成静态地址,dhcp动态地址
BOOTPROTO="static"
--修改ONBOOT="yes"
ONBOOT="yes"
IPADDR="192.168.8.128"
NETMASK="255.255.255.0"
GATEWAY="192.168.8.2"
DNS1="192.168.8.2"
DNS1="8.8.8.8"
ZONE=public

--重启网络设置,使其生效
service network restart 或 systemctl restart nerwork
--查看修改后IP地址
ip a 或 ifconfig

3.3 关闭防火墙或者其添加防火墙规则

--1、关闭防火墙
systemctl stop firewalld.service
--重启系统并永久生效
systemctl disable firewalld.service
--查看防火墙心态
systemctl status firewalld.service

--2、添加防火墙规则
--重启系统并永久生效
systemctl enable firewalld.service
--添加ssh端口
firewall-cmd --permanent --add-port=22/tcp
--添加Oracle端口
firewall-cmd --permanent --add-port=1521/tcp
--重启防火墙命令
firewall-cmd --reload
--查看防火墙设置规则
firewall-cmd --list-all

3.4 设置非图形化界面启动

systemctl set-default multi-user.target
--重启服务器后生效

3.5 关闭Linux系统安全配置

vi /etc/selinux/config
--将:SELINUX=enabled 改为:SELINUX=disabled
--重启服务器后生效

3.6 磁盘查询情况

[root@lxorcldb ~]# df -h 
文件系统 容量 已用 可用 已用% 挂载点 
/dev/sda2 72G 4.9G 68G 7% / 
devtmpfs 3.8G 0 3.8G 0% /dev 
tmpfs 3.9G 0 3.9G 0% /dev/shm 
tmpfs 3.9G 13M 3.8G 1% /run 
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup 
/dev/sdb1 100G 33M 100G 1% /oracle 
tmpfs 781M 4.0K 781M 1% /run/user/42 
tmpfs 781M 48K 781M 1% /run/user/0 
/dev/sr0 4.2G 4.2G 0 100% /run/media/root/RHEL-7.6 Server.x86_64 

3.7 内存使用及交换Swap查询情况

[root@lxorcldb ~]# free -m 
total used free shared buff/cache available 
Mem: 7803 900 5984 15 918 6579 
Swap: 8191 0 8191 

第四章 Oracle数据库安装

4.1 软件下载

4.2 Oracle数据库磁盘设置

/oradate

200G

Oracle数据文件目录

/backup

400G

备份目录

/arch

200G

归档目录

按照如下增加硬盘设置方法扩建磁盘。

4.3 磁盘格式化及挂载磁盘

#将新磁盘格式化

[root@lxorcldb ~]# fdisk /dev/sdc 

[root@lxorcldb ~]# fdisk /dev/sdd 

[root@lxorcldb ~]# fdisk /dev/sde

#格式化具体操作示例(三个磁盘同样操作)

[root@lxorcldb ~]# fdisk /dev/sde
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): n   ---输入n ,创建一个新的分区
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p     ---输入p,创建一个主分区
Partition number (1-4, default 1):   ---回车,默认第1分区号
First sector (2048-419430399, default 2048):   ---回车,默认设置初始开始段
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-419430399, default 419430399):    ---回车,默认最大为结束段
Using default value 419430399
Partition 1 of type Linux and of size 200 GiB is set

Command (m for help): p   ---输入p,查看新创建的分区

Disk /dev/sde: 214.7 GB, 214748364800 bytes, 419430400 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x230dbf76

   Device Boot      Start         End      Blocks   Id  System
/dev/sde1            2048   419430399   209714176   83  Linux    ---新创建的分区/dev/sde1

Command (m for help): w   ---输入w,保存并退出 
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

使用fdisk -l命令查看当前配置好的分区状态

#格式化磁盘,将磁盘设置成ext4格式

[root@lxorcldb ~]# mkfs.ext4 /dev/sdc1 
[root@lxorcldb ~]# mkfs.ext4 /dev/sdd1 
[root@lxorcldb ~]# mkfs.ext4 /dev/sde1 

#新建挂载目录

mkdir /oradata
mkdir /backup 
mkdir /arch 

#将磁盘挂载到文件夹上

[root@lxorcldb ~]# mount /dev/sdc1 /oradata 
[root@lxorcldb ~]# mount /dev/sdd1 /arch 
[root@lxorcldb ~]# mount /dev/sde1 /backup 

#配置开机启动后磁盘自动挂载文件

vi /etc/fstab
/dev/sdc1 /oradata ext4 defaults 0 0 
/dev/sdd1 /arch    ext4 defaults 0 0 
/dev/sde1 /backup  ext4 defaults 0 0 

4.4 服务器参数设置

#hosts文件参数设置

vi /etc/hosts   
192.168.8.130 lxorcldb

#配置服务器语言环境

echo "export LANG=en_US">>/etc/bash_profile 

#创建Oracle用户和用户组

/usr/sbin/groupadd -g 5001 oinstall 
/usr/sbin/groupadd -g 5002 dba 
/usr/sbin/groupadd -g 5003 oper

useradd -u 61001 -g oinstall -G dba,oper oracle 
passwd oracle
---密码随机设置,输入密码后再输入一次即可完成

#创建Oracle数据库安装存放目录及权限设置

mkdir -p /u01/app/oracle/product/11.2.0/db_1
mkdir -p /u01/app/oraInventory
 
chown -R oracle:oinstall /u01
chown -R oracle:dba /oradata
chown -R oracle:dba /backup
chown -R oracle:dba /arch
 
chmod -R 775 /u01
chmod -R 775 /oradata
chmod -R 775 /backup

#本地服务器配置yum源及软件包

mount /dev/cdrom /mnt
cd /etc/yum.repos.d
rm -rf  /etc/yum.repos.d/*.repo
vi lxorcldb.repo

---添加内容
[EL]
name=lxorcl 
baseurl=file:///mnt 
gpgcheck=0
enabled=1

#安装yum软件包

yum -y install autoconf 
yum -y install automake 
yum -y install binutils 
yum -y install binutils-devel 
yum -y install bison 
yum -y install cpp 
yum -y install dos2unix 
yum -y install ftp 
yum -y install gcc 
yum -y install gcc-c++ 
yum -y install lrzsz 
yum -y install python-devel 
yum -y install compat-db* 
yum -y install compat-gcc-34 
yum -y install compat-gcc-34-c++ 
yum -y install compat-libcap1 
yum -y install compat-libstdc++-33 
yum -y install compat-libstdc++-33.i686 
yum -y install glibc-* 
yum -y install glibc-*.i686 
yum -y install libXpm-*.i686 
yum -y install libXp.so.6 
yum -y install libXt.so.6 
yum -y install libXtst.so.6 
yum -y install libXext 
yum -y install libXext.i686 
yum -y install libXtst 
yum -y install libxtst.i686 
yum -y install libX11 
yum -y install libX11.i686 
yum -y install libXau 
yum -y install libXau.i686 
yum -y install libxcb 
yum -y install libxcb.i686 
yum -y install libXi 
yum -y install libXi.i686 
yum -y install libgcc_s_so.1 
yum -y install libstdc++.i686 
yum -y install libstdc++-devel 
yum -y install libstdc++-devel.i686 
yum -y install libaio 
yum -y install libaio.i686 
yum -y install libaio-devel 
yum -y install libaio-devel.i686 
yum -y install ksh 
yum -y install libXp 
yum -y install libaio-devel 
yum -y install numactl 
yum -y install mumactl-devel 
yum -y install make -y 
yum -y install sysstat -y 
yum -y install unixODBC 
yum -y install unixODBC-devel 
yum -y install dlfutils-libelf-devel-0.97 
yum -y install elfutils-libelf-devel 
yum -y install redhat-lsb-core 
yum -y install unzip

#修改资源限参数

vi /etc/security/limits.conf

---添加内容
---nproc 进程的最大数目
---nofile 打开文件的最大数目
---stack 最大栈大小
oracle soft nproc 16384 
oracle hard nproc 16384 
oracle soft nofile 16384 
oracle hard nofile 65536 
oracle soft stack 10240 
oracle hard stack 32768 
oracle hard memlock 6291456 
oracle soft memlock 6291456

#控制给用户分配的资源

echo "session required pam_limits.so">>/etc/pam.d/login

#修改内核参数

vi /etc/sysctl.conf

---添加内容
---fs.file-max 这个参数表示进程可以同时打开的最大句柄数,这个参数直接限制最大并发连接数
---net.ipv4.ip_local_port_range 这个参数定义了在UDP和TCP连接中本地端口的取值范围
---net.core.rmem_default  这个参数表示内核套接字接收缓存区默认的大小
---net.core.rmem_max 这个参数表示内核套接字接收缓存区默认的最大大小
---net.core.wmem_default 这个参数表示内核套接字发送缓存区默认的大小
---net.core.wmem_max 这个参数表示内核套接字发送缓存区默认的最大大小
---kernel.shmmax 单个共享内存段的大小(单位:字节)限制,计算公式64G*1024*1024*1024(字节) 
---kernel.shmall 所有内存大小(单位:页,1页 = 4Kb),计算公式16G*1024*1024*1024/4KB(页) 
---kernel.shmmni 整个系统共享内存段的最大数目,注意这个参数不是 shmmin,是shmmni, shmmin 表示内存段最小大小 
#ORACLE SETTING 
fs.aio-max-nr=1048576 
fs.file-max=6815744 
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 
kernel.panic_on_oops=1 
vm.nr_hugepages=1500 
kernel.shmmax=4294967296 
kernel.shmall=1048576 
kernel.shmmni=4096 

---输入命令使其生效
sysctl -p

#修改nproc参数

echo "* - nproc 16384 ">/etc/security/limits.d/90-nproc.conf
---Linux7 设置路径:
/etc/security/limits.d/20-nproc.conf 
Linux6 设置路径:
/etc/security/limits.d/90-nproc.conf

#关闭透明页

---查看透明页情况 
cat /sys/kernel/mm/transparent_hugepage/enabled 
  [always] madvise never(显示结果) 
---设置 
vi /etc/rc.d/rc.local

if test -f /sys/kernel/mm/transparent_hugepage/enabled;then 
  echo never>/sys/kernel/mm/transparent_hugepage/enabled 
fi

if test -f /sys/kernel/mm/transparent_hugepage/defrag;then 
  echo never>/sys/kernel/mm/transparent_hugepage/defrag 
fi

#关闭numactl

vi /etc/default/grub 
在quiet后面加上:numa=off

---输入命令生效 
grub2-mkconfig -o /etc/grub2.cfg 

#修改共享内存段

vi /etc/fstab 
none /dev/shm tmpfs defaults,size=7000m  0 0
---挂载
mount -o remount /dev/shm 

#配置oracle环境变量

---切换oracle用户登录
su – oracle
---配置oracle用户环境变量
vi ~/.bash_profile

---添加内容
PS1="[`whoami`@`hostname`:"'$PWD]$'
export PS1 
umask 022
export TMP=/tmp
export LANG=en_US
export TMPDIR=$TMP
export ORACLE_UNQNAME=lxorcldb
ORACLE_BASE=/u01/app/oracle;
export ORACLE_BASE 
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1;
export ORACLE_HOME 
ORACLE_SID=lxorcldb;
export ORACLE_SID 
ORACLE_TERM=xterm;
export ORACLE_TERM 
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
export LD_LIBRARY_PATH 
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
export CLASSPATH 
NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS";
export NLS_DATE_FORMAT 
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;
export NLS_LANG 
PATH=.:$PATH:$HOME/bin:$ORACLE_HOME/bin:$PATH;
export PATH 
THREADS_FLAG=native;
export THREADS_PLAG 
if [ $USER = "oracle" ] || [ $USER = "grid" ];then
        if [ $SHELL = "/bin/ksh" ];then
                ulimit -p 16384
                ulimit -n 65536
        else
                ulimit -u 16384 -n 65536
        fi
     umask 022
fi                                  

#上传oracle服务端安装包,然后解压软件

---使用Linux系统rz命令或ftp软件上传文件
rz p13390677_112040_Linux-x86-64_1of7
rz p13390677_112040_Linux-x86-64_2of7

---解压文件
unzip p13390677_112040_Linux-x86-64_1of7
unzip p13390677_112040_Linux-x86-64_2of7

#启用vnc软件图形界面

---安装vnc软件包
yum -y install *vnc* 

---登录Oracle用户,启动vnc
su - oracle
vncserver
---输入密码
---再次输入密码
---选择n否,即可设置成功
---在vnc viewer软件添加已配置好的server点击connect启动

#登陆vnc软件图形界面,打开命令行窗口执行安装命令

[oracle@lxorcldb ~]$ cd /backup/database/
[oracle@lxorcldb ~]$ ./runInstaller -jreLoc /etc/alternatives/jre_1.8.0
  • 配置安全更新

  • 点击跳过软件更新

  • 选择安装项

  • 安装的数据库类型

  • 选择数据库语言English+Chinese

  • 选择数据库版本

  • 选择数据库安装目录

  • 选择对应组信息

  • 数据库安装校验信息

---解决第一个OS kernel Parameter校验,切换root用户登陆执行Script内的sh脚本,点击check again
/tmp/CVU_11.2.0.40_oracle/runfixup.sh

2025-05-26_194058-xWNd.jpg

---解决第二个Package: compat-libstdc++-33-3.2.3校验,需要使用百度网盘里rpm安装包,点击check again
rpm -ivh compat-libstdc-33-3.2.3-72.el7.x86_64.rpm

2025-06-03_112045.jpg

---解决第三个Package: pdksh-5.2.14校验,需要使用百度网盘里rpm安装包,点击check again
rpm -ivh pdksh-5.2.14-37.el5.x86_64.rpm
rpm -ivh pdksh-5.2.14-37.el5_8.1.i386.rpm
  • 数据库服务安装

2025-06-03_112045-YSnA.jpg

  • 解决安装过程报错,如果出现target 'agent nmhs' of makefile :这个是RHEL 7与oracle11的一个BUG,具体处理

    如下:

2025-06-03_112046.jpg

---切换root用户下登陆使用
cd $ORACLE_HOME
---VM虚拟机各类操作系统安装 第64页/共82页错误!未 指 定 书 签 。
cd sysman/lib
cp ins_emagent.mk ins_emagent.mk.bak
vi ins_emagent.mk
查到:NMECTL ,增加 -lnnz11

2025-06-03_112047.jpg

  • 安装过程中.sh脚本执行(一定要在root用户下执行)

2025-06-03_132048.jpg

第五章 Oracle数据库创建

5.1 创建数据库

---在vnc界面输入DBCA命令
dbca
  • 选择创建数据库

选择创建数据库.jpg

  • 选择自定义数据库

选择自定义数据库.jpg

  • 创建实例名

创建实例名.jpg

  • 这里不创建Oracle自带的EM

这里不创建Oracle自带的EM.jpg

  • 配置数据库密码

配置数据库密码.jpg

  • 选择文件系统

选择文件系统.jpg

  • Oracle归档和闪回跳过,先暂时不设置

Oracle归档和闪回跳过,先暂时不设置.jpg

  • 设置安装内容

设置安装内容.jpg

  • 参数设置

参数设置1.jpg

参数设置2.jpg

参数设置3.jpg

  • 修改表空间大小和日志文件数量,选择安装完成

修改表空间大小和日志文件数量,选择安装完成1.jpg

修改表空间大小和日志文件数量,选择安装完成2.jpg

5.2 监听创建,客户端连接

  • 两种,第一:本地已安装Oracle创建监听,第二:客户端连接配置创建

第一:使用netca创建

使用netca创建1.jpg

使用netca创建2.jpg

使用netca创建3.jpg

使用netca创建4.jpg

使用netca创建5.jpg

使用netca创建6.jpg

使用netca创建7.jpg

第二:客户端文件连接,创建tnsname.ora文件

windows系统 /app/oracle/product/11.2.0/db_1/network/admin

Linux系统 /u01/app/oracle/product/11.2.0/db_1/network/admin

---增加如下内容
lxorcldb =
 (DESCRIPTION =
 (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.13)(PORT = 1521))
 (CONNECT_DATA =
 (SERVER = DEDICATED)
 (SERVICE_NAME = lxorcldb)
 )
 )

--------配置好后,测试
[oracle@lxorcl:/u01/app/oracle/product/11.2.0/db_1/network/admin]$tnsping lxorcldb
TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 04-AUG-2021 00:10:39
Copyright (c) 1997, 2013, Oracle. All rights reserved.
Used parameter files:
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 
192.168.1.13)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME 
= lxorcldb)))
OK (10 msec)

第六章 数据库日常命令

6.1 数据库启动或关闭

Sqlplus "/as sysdba"
---数据库关闭
Shutdown immediate
---数据库开启
startup

6.2 密码过期处理

Sqlplus "/as sysdba"
select * from dba_profiles where profile='DEFAULT';
alter profile default limit PASSWORD_LIFE_TIME UNLIMITED;

6.3 关闭审计

Sqlplus "/as sysdba"
Show parameter audit_trail 
---如果非none,则代表已开始
alter system set audit_trail=none scope=spfile;

6.4 开启数据库闪回和归档

Sqlplus "/as sysdba"
查看归档是否开启
Archive log list #归档是否开启
查看闪回是否开启
select flashback_on from v$database;
开启归档和闪回(先开归档,再开闪回)
show parameter recovery
alter system set db_recovery_file_dest_size=150g;
alter system set db_recovery_file_dest=' G:\arch';
shutdown immediate
startup mount
alter database archivelog
alter database flashback on ;
shutdown immediate
startup mount

6.5 关闭数据库闪回和归档

Sqlplus "/as sysdba"
查看归档是否开启
Archive log list #归档是否开启
查看闪回是否开启
select flashback_on from v$database;
关闭归档和闪回(先关闪回,再关归档)
shutdown immediate
startup mount
alter database flashback off ;
alter database unarchivelog
shutdown immediate
startup mount

6.6 查看日志

Sqlplus "/as sysdba"
Show parameter dump

6.7 监听管理

---查看监听状态
Lsnrctl status
---停止监听
Lsnrctl stop
---启动监听
Lsnrctl start