部署同服务名,同实例名dg

2024-05-27 20:48
文章标签 部署 服务 实例 dg

本文主要是介绍部署同服务名,同实例名dg,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

借鉴博客(参数详解和备库控制文件恢复):
https://blog.csdn.net/u011016933/article/details/107063991
https://blog.csdn.net/u011016933/article/details/107059359一.环境模拟
1,主库环境:
ip地址:192.168.6.30
hosts文件添加
192.168.6.30 enmotech1 oracle
192.168.6.31 enmotech2 oracle$ORACLE_BASE=/u01/app/oracle
$ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
数据文件路径:/u02/oradata/orcl/
归档路径:/u01/app/oracle/archivelog/
rman备份路径:/home/oracle/rmanbak/
服务名:orcl
实例名:orcl
db_name=orcl
db_unique_name=orcl2,备库环境:
ip地址:192.168.6.31
hosts文件添加
192.168.6.30 enmotech1 oracle
192.168.6.31 enmotech2 oracle$ORACLE_BASE=/u01/app/oracle
$ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
数据文件路径:/u02/oradata/orcl/
归档路径:/u01/app/oracle/archivelog/
rman备份路径:/home/oracle/rmanbak/
服务名:orcl
实例名:orcl
db_name=orcl
db_unique_name=orcl2.操作步骤
主库(192.168.6.30)操作:
1.1创建orcl实例
dbca -silent \
-createDatabase \
-templateName General_Purpose.dbc \
-databaseType OLTP \
-gdbname orcl \
-sid orcl \
-emConfiguration NONE \
-sysPassword abc123 \
-systemPassword abc123 \
-responseFile NO_VALUE \
-storageType FS \
-datafileDestination /u02/oradata \
-redoLogFileSize 500 \
-recoveryAreaDestination /u01/app/oracle/fast_recovery_area \
-sampleSchema false \
-memoryPercentage 40 \
-characterSet ZHS16GBK \
-nationalCharacterSet AL16UTF16 \
-initParams processes=1000,audit_trail=none1.2开启归档和强制日志
alter database archivelog;(mount状态下执行)
alter database force logging;(open状态下执行)2.主库(192.168.6.30)操作:
alter system set log_archive_config='';
alter system set log_archive_dest_1='location=/u01/app/oracle/archivelog valid_for=(all_logfiles,all_roles)';
alter system set log_archive_dest_2='service=orcldg lgwr async affirm valid_for=(online_logfiles,primary_role)'
alter system set standby_file_management=auto;
alter system set fal_server='orcldg';3.创建pfile文件
create pfile from spfile;4.修改监听listener.ora和tnsnames.ora文件
修改监听文件listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))(ADDRESS = (PROTOCOL = TCP)(HOST = enmotech1)(PORT = 1521))))SID_LIST_LISTENER=(SID_LIST=(SID_DESC=(GLOBAL_DBNAME=orcl)(ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1/)(SID_NAME=orcl)))ADR_BASE_LISTENER = /u01/app/oracle修改tnsnames.ora文件
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.ORCLDG =(DESCRIPTION =(ADDRESS = (PROTOCOL = tcp)(HOST = enmotech2)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = orcl)))ORCL =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = enmotech1)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = orcl)))启动监听:lsnrctl start4.主库rman备份
RMAN> run{
allocate channel c1 type disk;
allocate channel c2 type disk;
backup database tag='db_full_bak' format='/home/oracle/rmanbak/db_%d_%T_%s_%p.bkp';
sql 'alter system archive log current';
backup archivelog all delete input tag='arch_bak' format='/home/oracle/rmanbak/log_%d_%T_%s_%p.bkp';
backup current controlfile tag='ctl_bak' format='/home/oracle/rmanbak/ctl_%d_%T_%s_%p.bkp';
release channel c1;
release channel c2;
}5.拷贝文件
拷贝listener.ora和tnsnames.ora文件到192.168.6.31:/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/
拷贝initorcl.ora和orapworcl文件到192.168.6.31:/u01/app/oracle/product/11.2.0/dbhome_1/dbs/
拷贝备份到192.168.6.31:/home/oracle/rmanbak/备库(192.168.6.31)操作
1.1修改initorcl.ora文件(对应的目录,自行创建)
orcl.__large_pool_size=394264576
orcl.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
orcl.__pga_aggregate_target=16777216
orcl.__sga_target=746586112
orcl.__shared_io_pool_size=0
orcl.__shared_pool_size=209715200
orcl.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/orcl/adump'
*.audit_trail='none'
*.compatible='11.2.0.4.0'
*.control_files='/u02/oradata/orcl/control01.ctl','/u01/app/oracle/fast_recovery_area/orcl/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='orcl'
*.db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'
*.db_recovery_file_dest_size=8631877632
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.fal_server='orcl'
*.log_archive_config=''
*.log_archive_dest_1='location=/u01/app/oracle/archivelog valid_for=(all_logfiles,all_roles)'
*.log_archive_dest_2='service=orcl lgwr async affirm valid_for=(online_logfiles,primary_role)'
*.memory_target=761266176
*.open_cursors=300
*.processes=1000
*.remote_login_passwordfile='EXCLUSIVE'
*.standby_file_management='AUTO'
*.undo_tablespace='UNDOTBS1'1.2创建spfile文件
create spfile from pfile='/u01/app/oracle/product/11.2.0/dbhome_1/dbs/initorcl.ora'2.修改监听listener
LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))(ADDRESS = (PROTOCOL = TCP)(HOST = enmotech2)(PORT = 1521))))SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = orcl)(ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1/)(SID_NAME = orcl)))ADR_BASE_LISTENER = /u01/app/oracle启动监听:lsnrctl start2.启动数据库到nomount状态
startup nomount;3.恢复备库控制文件
RMAN> restore standby controlfile from '/home/oracle/rmanbak/ctl_%d_%T_%s_%p.bkp'4.启动数据库文件到mount状态
RMAN> alter database mount;5.恢复数据库
run{
allocate channel c1 type disk;
allocate channel c2 type disk;
restore database;
recover database;
release channel c1;
release channel c2;
}recover database until scn XXXXX;(可能会报错,有scn号,重新执行recover database)6.备库添加standby_redo.log
alter database add standby logfile group 11 '/u02/oradata/orcl/standby_redo11.log' size 500M;
alter database add standby logfile group 12 '/u02/oradata/orcl/standby_redo12.log' size 500M;
alter database add standby logfile group 13 '/u02/oradata/orcl/standby_redo13.log' size 500M;
alter database add standby logfile group 14 '/u02/oradata/orcl/standby_redo14.log' size 500M;7.打开备库
alter database recover managed standby database disconnect from session;
alter database recover managed standby database cancel;
alter database open;
alter database recover managed standby database disconnect from session;检测同步.
1.查看主库状态
SYS@orcl> archive log list;
Database log mode	       Archive Mode
Automatic archival	       Enabled
Archive destination	       /u01/app/oracle/archivelog
Oldest online log sequence     4
Next log sequence to archive   6
Current log sequence	       6
2.查看备库应用日志
[oracle@enmotech2 orcl]$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.4.0 Production on Wed Jul 1 17:20:37 2020Copyright (c) 1982, 2013, Oracle.  All rights reserved.Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing optionsSYS@orcl> select process, status, sequence# from v$managed_standby;PROCESS 		    STATUS				  SEQUENCE#
--------------------------- ------------------------------------ ----------
ARCH			    CONNECTED					  0
ARCH			    CONNECTED					  0
ARCH			    CONNECTED					  0
ARCH			    CONNECTED					  0
RFS			    IDLE					  0
RFS			    IDLE					  0
RFS			    IDLE					  6
MRP0			    WAIT_FOR_LOG				  68 rows selected.注意:细心的哥们会发现主库缺少standby_redo.log,备库缺少redo.log,(极端操作,可以相互拷贝日志文件到主备库的数据文件路径)
1.备库重建redo日志
alter database recover managed standby database cancel;
alter system set log_file_name_convert='/u02/oradata/orcl/','/u02/oradata/orcl/' scope=spfile;
startup force mount;
recover managed standby database disconnect from session;
到此备库redo日志就自动重建了
关闭数据库重建spfile(如过log_file_name_convert不置为空的话,rfs进程起不来)
create spfile from pfile='/u01/app/oracle/product/11.2.0/dbhome_1/dbs/initorcl.ora'
打开数据库
alter database recover managed standby database disconnect from session;2.主库添加standby_redo.log
alter database add standby logfile group 11 '/u02/oradata/orcl/standby_redo11.log' size 500M;
alter database add standby logfile group 12 '/u02/oradata/orcl/standby_redo12.log' size 500M;
alter database add standby logfile group 13 '/u02/oradata/orcl/standby_redo13.log' size 500M;
alter database add standby logfile group 14 '/u02/oradata/orcl/standby_redo14.log' size 500M;#!/bin/sh
# Create_time:2019.11.27
# Author:
# Description:Delete the archived logs on Standby which had been applied
# Usage:
# Last modify: 2019.11.27
# Note:#Initial Parameters
_SCRIPTPATH=/usr/local/shells/del_applied_archivelog/
_DAYBEFOR=0#OSTYPE
OSTYPE=`uname -s`
if [ $OSTYPE = "AIX" ]
then. ~/.profile
else. ~/.bash_profile
fi#Main
cd ${_SCRIPTPATH}
echo "rman target / log=rman_delete_arch.log << EOF" > tmp_delete_archive_rman.tmpecho /dev/null > tmp_delete_archive_rman.sh
sqlplus -s "/ as sysdba" >> tmp_delete_archive_rman.tmp << EOF
set head off
set feedback off
SELECT 'delete noprompt archivelog until logseq ' || MAX(D.SEQUENCE#) ||' thread ' || D.THREAD# || ';'
FROM V\$ARCHIVED_LOG D,(SELECT MAX(A.COMPLETION_TIME) -${_DAYBEFOR} COMPLETION_TIME, A.THREAD#FROM V\$ARCHIVED_LOG AWHERE APPLIED = 'YES'GROUP BY A.THREAD#) TMP
WHERE D.THREAD# = TMP.THREAD#
AND D.COMPLETION_TIME < TMP.COMPLETION_TIME
GROUP BY D.THREAD#;
exit
EOFecho "exit" >> tmp_delete_archive_rman.tmp
echo "EOF" >> tmp_delete_archive_rman.tmp
sed '/^$/d' tmp_delete_archive_rman.tmp > tmp_delete_archive_rman.sh
#execute delete script
sh tmp_delete_archive_rman.sh

 

这篇关于部署同服务名,同实例名dg的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1008555

相关文章

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

MySQL中的LENGTH()函数用法详解与实例分析

《MySQL中的LENGTH()函数用法详解与实例分析》MySQLLENGTH()函数用于计算字符串的字节长度,区别于CHAR_LENGTH()的字符长度,适用于多字节字符集(如UTF-8)的数据验证... 目录1. LENGTH()函数的基本语法2. LENGTH()函数的返回值2.1 示例1:计算字符串

如何在Ubuntu 24.04上部署Zabbix 7.0对服务器进行监控

《如何在Ubuntu24.04上部署Zabbix7.0对服务器进行监控》在Ubuntu24.04上部署Zabbix7.0监控阿里云ECS服务器,需配置MariaDB数据库、开放10050/1005... 目录软硬件信息部署步骤步骤 1:安装并配置mariadb步骤 2:安装Zabbix 7.0 Server

关于DNS域名解析服务

《关于DNS域名解析服务》:本文主要介绍关于DNS域名解析服务,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录DNS系统的作用及类型DNS使用的协议及端口号DNS系统的分布式数据结构DNS的分布式互联网解析库域名体系结构两种查询方式DNS服务器类型统计构建DNS域

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

java向微信服务号发送消息的完整步骤实例

《java向微信服务号发送消息的完整步骤实例》:本文主要介绍java向微信服务号发送消息的相关资料,包括申请测试号获取appID/appsecret、关注公众号获取openID、配置消息模板及代码... 目录步骤1. 申请测试系统2. 公众号账号信息3. 关注测试号二维码4. 消息模板接口5. Java测试

MySQL数据库的内嵌函数和联合查询实例代码

《MySQL数据库的内嵌函数和联合查询实例代码》联合查询是一种将多个查询结果组合在一起的方法,通常使用UNION、UNIONALL、INTERSECT和EXCEPT关键字,下面:本文主要介绍MyS... 目录一.数据库的内嵌函数1.1聚合函数COUNT([DISTINCT] expr)SUM([DISTIN

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析

《Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析》InstantiationAwareBeanPostProcessor是Spring... 目录一、什么是InstantiationAwareBeanPostProcessor?二、核心方法解