Centos7安装Oracle11g数据库并开启归档和备份

一、Centos7上Oracle11g数据库安装

1、创建运行oracle数据库的系统用户和用户组

用Root账号登录,运行下面指令,创建所需要用户和用户组

我这里密码设置的是:356307

groupadd oinstall             #创建用户组oinstall
groupadd dba                   #创建用户组dba
useradd -g oinstall -G dba -m oracle  #创建oracle用户,并加入到oinstall和dba用户组。-g为指定用户的主要组为oinstall组,-G为指定用户的次要组为dba组,
groups oracle                 #查询用户组是否授权成功
passwd oracle                  #设置用户oracle的登陆密码,不设置密码,在CentOS的图形登陆界面没法登陆
Centos7安装Oracle11g数据库并开启归档和备份_第1张图片

2、创建oracle数据库安装目录

 mkdir -p /oracle/oracle  #oracle数据库软件包解压目录 mkdir -p :递归创建目录,即使上级目录不存在,会按目录层级自动创建目录
 mkdir -p /oracle/oraInventory  #oracle数据库配置文件目录
 mkdir -p /oracle/database  #oracle数据库安装目录
 cd /data
 ls  #创建完毕检查一下
 chown -R oracle:oinstall /oracle/oracle  #设置目录所有者为oinstall用户组的oracle用户,chown --授权,-R--递归处理所有文件以及子目录
 chown -R oracle:oinstall /oracle/oraInventory
 chown -R oracle:oinstall /oracle/database

如下图所示:

Centos7安装Oracle11g数据库并开启归档和备份_第2张图片

可以用ftp工具看到刚刚创建的目录的所有者:

Centos7安装Oracle11g数据库并开启归档和备份_第3张图片

3、将下载的oracle 11g 安装包解压到/oracle/oracle目录下

这里是将两个压缩包都解压到安装目录,其中-d表示是将文件解压到指定目录。

需要注意的是两个压缩包解压之后需要给安装目录所有文件授权给oracle

4、修改OS系统标识

oracle默认不支持CentOS系统安装, 修改文件 /etc/redhat-release 内容为RedHat-7(root用户操作)

输入如下命令:

vi /etc/redhat-release
redhat-7
Centos7安装Oracle11g数据库并开启归档和备份_第4张图片

5、 安装oracle所需辅助包下载(通过 yum install {包名} 来验证是否安装)

root用户直接运行以下命令安装:

yum -y install binutils compat-libcap1 compat-libstdc++* gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat elfutils* unixODBC

安装成功如下图所示:

Centos7安装Oracle11g数据库并开启归档和备份_第5张图片

6、关闭防火墙

Root用户执行:
# systemctl status firewalld.service
# systemctl stop firewalld.service
# systemctl disable firewalld.service

如下图所示:

Centos7安装Oracle11g数据库并开启归档和备份_第6张图片

7、配置Linux内核参数

什么都没有配置第一次进去的时候是这样:

Centos7安装Oracle11g数据库并开启归档和备份_第7张图片

输入以下命令:

vi  /etc/sysctl.conf

然后在后面添加如下内容:

net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152 
kernel.shmmax = 4294967295
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.wmem_default= 262144
# 最大发送、接收套接字缓冲区
net.core.rmem_max= 4194304
net.core.wmem_max= 1048576
# 网卡接收队列长度(缺省300)
net.core.netdev_max_backlog=1000
# 侦听请求接收队列的最大长度(默认128)
net.core.somaxconn=256

文件保存之后,执行如下命令使之生效:

# sysctl -p
Centos7安装Oracle11g数据库并开启归档和备份_第8张图片

8、对oracle用户设置限制,提高软件运行性能

Root用户执行如下命令:

vi  /etc/security/limits.conf

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle - memlock 1679361
oracle - stack 32768

然后在最后添加如下内容,如下图所示:

Centos7安装Oracle11g数据库并开启归档和备份_第9张图片

文件保存之后,执行如下命令使之生效:

# sysctl -p

9、配置用户的环境变量

root用户执行如下命令:

#vi  /home/oracle/.bash_profile

执行如上命令后第一次是这样的:

Centos7安装Oracle11g数据库并开启归档和备份_第10张图片

然后在后面添加如下内容:

export ORACLE_BASE=/oracle/database #oracle数据库安装目录
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 #oracle数据库路径
export ORACLE_SID=orcl #oracle启动数据库实例名
export ORACLE_TERM=xterm #xterm窗口模式安装
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH #添加系统环境变量
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib #添加系统环境变量
export LANG=C #防止安装过程出现乱码
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK  #设置Oracle客户端字符集,必须与Oracle安装时设置的字符集保持一致

10、开始安装

执行如下命令:

Centos7安装Oracle11g数据库并开启归档和备份_第11张图片

执行如上命令是不能成功调出安装界面的,需要去安装xmanager,然后通过xmanager软件里面的xstart用oracle用户登录,然后./runInstaller调出安装的图形化界面。

12、配置监听器和创建数据库

需要注意的是,安装完数据库软件之后一定要记得先配置监听器,然后才是去建库。

如何查看数据库实例名:

SQL> select instance_name from v$instance;
Centos7安装Oracle11g数据库并开启归档和备份_第12张图片

我的数据库文件存放在:/oracle/data

二、开启归档模式

oracle用户登录,然后执行如下命令查询是否开启了归档模式:

archive log list
Centos7安装Oracle11g数据库并开启归档和备份_第13张图片

如上图我们可以看到并没有开启归档模式,所有,我们需要开启归档模式,我们需要提前创建归档日志的目录

alter system set db_recovery_file_dest='/beifen/archived'

再依次执行如下命令:

Centos7安装Oracle11g数据库并开启归档和备份_第14张图片

开启归档日志后如下图所示(已开启归档模式):

Centos7安装Oracle11g数据库并开启归档和备份_第15张图片
三、RMAN备份

依次执行如下命令

rman target /
CONFIGURE RETENTION POLICY TO REDUNDANCY 1;
CONFIGURE CONTROLFILE AUTOBACKUP ON;

执行结果如下图所示:

Centos7安装Oracle11g数据库并开启归档和备份_第16张图片

创建一个存放备份文档的目录并且是oracle用户可操作的:

 mkdir -p /beifen/csbackup/bak0  #备份文件存放目录
 chown -R oracle:oinstall /beifen/csbackup/bak0  #设置目录所有者为oinstall用户组的oracle用户

创建备份的执行脚本,如下图所示:

Centos7安装Oracle11g数据库并开启归档和备份_第17张图片

root用户下挂载定时任务

我的备份脚本的路径是:/beifen/csbackup/bak0/

我的备份脚本定时任务的日志路径:/beifen/csbackup/rman_bak_log

执行如下命令:

crontab -e

1 0 * * * /beifen/csbackup/bak0/rman_bak0.sh>/beifen/csbackup/rman_bak_log/rman_bak.log

此处为0点1分开始执行,各个项目需询问私有云项目组明确备份时间点

如下图所示:

Centos7安装Oracle11g数据库并开启归档和备份_第18张图片

你可能感兴趣的:(运维,linux,centos,oracle)