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的图形登陆界面没法登陆
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
如下图所示:
可以用ftp工具看到刚刚创建的目录的所有者:
3、将下载的oracle 11g 安装包解压到/oracle/oracle目录下
这里是将两个压缩包都解压到安装目录,其中-d表示是将文件解压到指定目录。
需要注意的是两个压缩包解压之后需要给安装目录所有文件授权给oracle
4、修改OS系统标识
oracle默认不支持CentOS系统安装, 修改文件 /etc/redhat-release 内容为RedHat-7(root用户操作)
输入如下命令:
vi /etc/redhat-release
redhat-7
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
安装成功如下图所示:
6、关闭防火墙
Root用户执行:
# systemctl status firewalld.service
# systemctl stop firewalld.service
# systemctl disable firewalld.service
如下图所示:
7、配置Linux内核参数
什么都没有配置第一次进去的时候是这样:
输入以下命令:
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
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
然后在最后添加如下内容,如下图所示:
文件保存之后,执行如下命令使之生效:
# sysctl -p
9、配置用户的环境变量
root用户执行如下命令:
#vi /home/oracle/.bash_profile
执行如上命令后第一次是这样的:
然后在后面添加如下内容:
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、开始安装
执行如下命令:
执行如上命令是不能成功调出安装界面的,需要去安装xmanager,然后通过xmanager软件里面的xstart用oracle用户登录,然后./runInstaller调出安装的图形化界面。
12、配置监听器和创建数据库
需要注意的是,安装完数据库软件之后一定要记得先配置监听器,然后才是去建库。
如何查看数据库实例名:
SQL> select instance_name from v$instance;
我的数据库文件存放在:/oracle/data
oracle用户登录,然后执行如下命令查询是否开启了归档模式:
archive log list
如上图我们可以看到并没有开启归档模式,所有,我们需要开启归档模式,我们需要提前创建归档日志的目录
alter system set db_recovery_file_dest='/beifen/archived'
再依次执行如下命令:
开启归档日志后如下图所示(已开启归档模式):
依次执行如下命令
rman target /
CONFIGURE RETENTION POLICY TO REDUNDANCY 1;
CONFIGURE CONTROLFILE AUTOBACKUP ON;
执行结果如下图所示:
创建一个存放备份文档的目录并且是oracle用户可操作的:
mkdir -p /beifen/csbackup/bak0 #备份文件存放目录
chown -R oracle:oinstall /beifen/csbackup/bak0 #设置目录所有者为oinstall用户组的oracle用户
创建备份的执行脚本,如下图所示:
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分开始执行,各个项目需询问私有云项目组明确备份时间点
如下图所示: