oracle linux7创建asm,RHEL7上安装11gR2单机使用ASM存储搭建Physical Standby笔记

参考文献

一、背景介绍

接到需求要安装单机使用ASM存储的数据库,原本以为是轻车熟路的事情,emm,世界上哪有那么多轻松的活给你干,废话少说,进主题吧。

二、 关于安装思路

一直以来搭建的都是RAC+ASM存储或者单机物理存储,这次说要安装单机+ASM存储,确实有点懵逼,不过还是迷之自信,毕竟是安装过十多套RAC+ASM存储和几十遍单机物理存储的男人。

一上手就按单机物理存储的安装模式直接安装DB软件,看DB创建过程中是不是会有什么选项可以创建并使用asm存储盘,可惜世界上并没有奇迹,在安装好DB软件创建DB的过程中发现要使用asm存储一定要安装GI程序!

于是铲除已安装好的DB程序,按照RAC+ASM存储的方式重新安装,在grid用户下安装GI,安装过程中发现没有分配给grid的那5个1g的存储,于是选择在oracle用户下作死安装GI和DB软件,结果又是一顿铲除重装。

单机+ASM存储的正确安装方式:grid用户安装GI,oracle用户安装DB,所有物理磁盘都拿来做data磁盘组!

三、 安装GI时的问题

安装GI在执行root.sh脚本报错,报如下错误:

ohasd failed to start at /u01/app/11.2.0/grid/crs/install/roothas.pl line 377, line 4.

/u01/app/11.2.0/grid/perl/bin/perl -I/u01/app/11.2.0/grid/perl/lib -I/u01/app/11.2.0/grid/crs/install /u01/app/11.2.0/grid/crs/install/roothas.pl execution failed

解决方案如下:

回退root.sh脚本操作

$ORACLE_HOME/crs/install/roothas.pl -deconfig -force -verbose

清空/var/tmp/.oracle/npohasd文件

在执行root.sh脚本时出现Adding daemon to inittab的时候,在另一个窗口使用root立即执行以下命令:

dd if=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1

顺利安装结束。

但是,以上方法治标不治本,后期一旦停了has,启动has都需要另开窗口执行上面的dd命令。此问题根本原因在于,RHEL7采用systemd启动,而之前的RHEL版本采用init启动。目前搜到的可用解决方案如下:

创建服务ohas.service的服务文件并赋予权限

touch /usr/lib/systemd/system/ohas.service

chmod 777 /usr/lib/systemd/system/ohas.service

往ohas.service服务文件添加启动ohasd的相关信息

cat >> /usr/lib/systemd/system/ohas.service <

[Unit]

Description=Oracle High Availability Services

After=syslog.target

[Service]

ExecStart=/etc/init.d/init.ohasd run >/dev/null 2>&1 Type=simple

Restart=always

[Install]

WantedBy=multi-user.target

EOF

加载、启动服务

重新加载守护进程

systemctl daemon-reload

设置守护进程自动启动

systemctl enable ohas.service

手工启动ohas服务

systemctl start ohas.service

查看ohas服务状态

systemctl status ohas.service

至此,问题得到解决。

四、安装DB时的问题

DB在安装到86%时报错,解决方案为另开一新窗口编辑报错相关文件

vim $ORACLE_HOME/sysman/bin/ins_emagent.mk

用/NMECTL定位我们要修改的地方,在

$(MK_EMAGENT_NMECTL)

后添加-lnnz11,将其修改为

$(MK_EMAGENT_NMECTL) -lnnz11

回到安装窗口retry即可顺利安装完成。

四、Duplicate搭建Physical Standby

简单记录下要点

主库设置归档模式

archive log list;

用此命令检查数据库是否处于归档模式,若不是,停库启动到mount状态,执行

alter database archivelog;

将数据库置于归档模式,并将数据库启至open状态。

主库设置force logging

select force_logging from v$database;

可用以上命令查询主库是否处于force logging状态,若为no,则执行

alter database force logging;

将主库设置为force logging。

主库相关参数配置

配置好主库的以下参数

log_archive_config

log_archive_dest_n

standby_file_management='auto';

fal_server

fal_client

备库相关文件配置

将主库上的pfile参数文件、密码文件拷贝至备库相应目录,修改好备库参数文件里的以下参数

log_archive_config

audit_file_dest

log_archive_dest_n

standby_file_management='auto';

fal_server

fal_client

db_unique_name

control_files

若主库无pfile参数文件,可用以下命令创建:

create pfile from spfile;

记得给备库创建audit_file_dest的目录

配置好主备库的listener.ora与tnsname.ora文件

这两个文件都修改oracle用户目录下的,主库一般有动态监听,不需要手动修改listener.ora文件配置静态监听,备库由于无法open,必须修改listener.ora文件配置静态监听。用lsnrctl status查看监听状态报TNS之类的错误,可先stop监听,再start监听。tnsname.ora文件中添加主备库的相关信息即可。

Duplicate搭建Physical standby

不建议用参考文献4中第5步的方法,对于大库会自动断开ssh连接导致命令执行中断,采取以下方式将命令置于后台执行。

编辑文件

vim rman_duplicate.sh

rman target sys/主库口令@主库连接串 auxiliary sys/备库口令@备库连接串 nocatalog log=rman_duplicate.log << EOF

run{

duplicate target database for standby from active database;

}

exit;

EOF

用命令nohup sh rman_duplicate.sh &将代码置于后台运行,tail -100f rman_duplicate.out查看命令执行情况。

第六步中通道分配与主库RMAN配置有关,可进主库rman后show all查看主库默认通道数量。

cofigure device type disk parallelism 1 backup type to backupset;

主库默认只分配一条通道,可以执行一下命令将其修改为10条,加快数据从主库传输至备库的速率

configure device type disk parallelism 10 backup type to backupset;

五、总结

多搜索,多请教,多干活,多进步*_*

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值