1、查看内存和交换区的大小

free -m

centos新建分区并设置分区类型 centos创建data分区_oracle


Mem行显示的是物理内存的大小和使用情况,

Swap行显示的是交换区的大小和使用情况,单位是MB。

安装Oracle的物理内存要求在1024MB以上,交换区的要求如下:

可用内存

交换区小

1024MB–2048MB

1.5倍于物理内存

2049MB–8192MB

1倍于物理内存

大于8192MB

0.75倍于物理内存

2、创建交换区

如果没有交换区或交换区太小,先创建交换区,交换区的大小见上表的对应关系,以下步骤将创建一个2048M的交换区。

1)用root用户执行dd命令创建/swap1文件。

dd if=/dev/zero of=/swap1 bs=1024 count=2048000

centos新建分区并设置分区类型 centos创建data分区_centos新建分区并设置分区类型_02


2)把/swap1文件设置成交换区。

/sbin/mkswap /swap1

centos新建分区并设置分区类型 centos创建data分区_数据库_03


3)把/swap1交换区设置为有效状态。

/sbin/swapon /swap1

centos新建分区并设置分区类型 centos创建data分区_oracle_04


4)用free -m命令查看交换区,确认已生效。

centos新建分区并设置分区类型 centos创建data分区_centos新建分区并设置分区类型_05


5)修改/etc/fstab文件,让CentOS操作系统在每次重启时自动加载/swap1交换区。

在/etc/fstab文件中增加以下内容。

/swap1 swap swap defaults 0 0

centos新建分区并设置分区类型 centos创建data分区_centos新建分区并设置分区类型_06


6)重启操作系统,重启后再确认一下交换区/swap1是否已加载。

3、删除交换区

如果创建的交换区不符合要求,可以用以下步骤删除它。
1)停止正在使用的swap分区。
swapoff /swap1 2)删除swap分区文件。
rm /swap1 3)修改/etc/fstab文件,删除开机自动挂载/swap1的命令。

4、安装对应的依赖包

安装Oracle之前,还需要安装一些CentOS的软件包,用以下命令执行安装(用root用户执行)。
yum install -y binutils* compat-libstdc* elfutils-libelf* gcc* glibc* ksh* libaio* libgcc* libstdc* make* sysstat* libXp* glibc-kernheaders ksh binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel libaio libaio-devel libgcc libstdc++ libstdc++-devel make numactl sysstat libXp unixODBC unixODBC-devel这些软件包依赖关系比较复杂,不管它,多执行几次以上命令,直到全部的软件包都是最新版本。

修改系统核心参数

5、修改/etc/sysctl.conf文件

/etc/sysctl.conf是操作系统的核心参数配置文件,在文件最后增加以下行。

fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax= 1073741824
kernel.shmmni= 4096
kernel.sem = 250 32000100 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
  • 注意,kernel.shmmax参数的值为操作系统内存的一半,单位是字节。例如,操作系统总内存如果是2048MB,那么kernel.shmmax的值应该是1*1024*1024*1024=1073741824,即kernel.shmmax = 1073741824
  • 其它的参数照抄。
6、修改/etc/security/limits.conf文件

/etc/security/limits.conf是操作系统对用户使用资源的配置文件,在文件最后增加以下行。

oracle           soft    nproc     2047
oracle           hard    nproc    16384
oracle           soft    nofile    1024
oracle           hard    nofile   65536
oracle           hard    stack    10240
7、修改/etc/pam.d/login文件

/etc/pam.d/login是用户认证文件,在文件最后增加以下行。
session required /lib64/security/pam_limits.so

8、修改/etc/profile文件

/etc/profile是系统环境参数配置文件,在文件最后增加以下行。

if [ $USER = "oracle" ]; then
        if [ $SHELL = "/bin/ksh" ]; then
              ulimit -p 16384
              ulimit -n 65536
        else
              ulimit -u 16384 -n 65536
        fi
fi
9、修改/etc/selinux/config文件

/etc/selinux/config是SELinux配置文件,修改SELINUX的值,禁用它。
SELINUX=disabled

10、创建Oracle用户和组

Oracle的安装用户是oracle,组是dba,oracle用户的根目录是/oracle,不能采用其它目录(注意是小写的字母),如果/oracle目录的空间不够,可以采用软链接的方式,把有/oracle链接到其它有足够空间的目录。
1)创建dba组。
groupadd dba 2)创建oracle用户,组名是dba,用户根目录是/oracle,其它目录不行。
useradd -n oracle -g dba -d /oracle 3)修改oracle用户的密码。
passwd oracle

11、把Oracle的压缩包文件oracle11gR2.tgz上传到服务器的/tmp目录。

采用su - oracle切换到oracle用户,在根目录下执行解开压缩包,其它目录不行。
su - oraclecd /tar zxvf /tmp/oracle11gR2.tgzexit;注意,解压缩包后,一定要退出oracle用户,否则oracle用户的环境变量不会生效。

12、数据库的启动

oracle用户登录,执行lsnrctl start启动网络监听服务,执行dbstart启动数据库系统。

centos新建分区并设置分区类型 centos创建data分区_重启_07


centos新建分区并设置分区类型 centos创建data分区_重启_08

13、数据库的关闭

oracle用户登录,执行lsnrctl stop关闭网络监听服务,执行dbshut关闭数据库系统。

重启关闭服务器操作系统之前,一定要关闭数据库,否则数据库损坏的概率非常大。

centos新建分区并设置分区类型 centos创建data分区_oracle_09


centos新建分区并设置分区类型 centos创建data分区_centos新建分区并设置分区类型_10

14、采用sqlplus登录数据库

用oracle用户登录CentOS系统。(第12点)

执行sqlplus scott/tiger,以scott用户的身份登录数据库。

centos新建分区并设置分区类型 centos创建data分区_重启_11


在sqlplus中,输入exit;退出sqlplus。

在Shell中,执行sqlplus / as sysdba以系统管理员身份登录数据库。

15、查询数据库的版本

select * from v$version;

centos新建分区并设置分区类型 centos创建data分区_oracle_12

服务器防火墙配置

Oracle数据库缺省的通信端口是1521,如果想从远程连接Oracle数据库,需要开通服务器防火墙的1521端口。
CentOS7和CentOS6的防火墙设置不同,CentOS7采用以下命令开通1521端口:
firewall-cmd --zone=public --add-port=1521/tcp --permanent 以下是CentOS7防火墙的相关操作命令。

16、查看防火墙的命令

1)查看防火墙的版本。
firewall-cmd --version 2)查看firewall的状态。
firewall-cmd --state 3)查看firewall服务状态(普通用户可执行)。
systemctl status firewalld 4)查看防火墙全部的信息。
firewall-cmd --list-all 5)查看防火墙已开通的端口。
firewall-cmd --list-port 6)查看防火墙已开通的服务。
firewall-cmd --list-service 7)查看全部的服务列表(普通用户可执行)。
firewall-cmd --get-services 8)查看防火墙服务是否开机启动。
systemctl is-enabled firewalld

17、配置防火墙的命令

1)启动、重启、关闭防火墙服务。
#启动
systemctl start firewalld #重启
systemctl restart firewalld #关闭
systemctl stop firewalld 2)开放、移去端口。
#开放1521端口
firewall-cmd --zone=public --add-port=1521/tcp --permanent #移去1521端口
firewall-cmd --zone=public --remove-port=1521/tcp --permanent 3)设置开机时启用、禁用防火墙服务。
#启用服务
systemctl enable firewalld #禁用服务
systemctl disable firewalld

作者:码农有道