侧边栏壁纸
  • 累计撰写 27 篇文章
  • 累计创建 9 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

Oralce容灾备份,物理standby

仓鼠
2024-03-04 / 0 评论 / 0 点赞 / 43 阅读 / 28572 字 / 正在检测是否收录...

TOC

声明

主要内容来自网易云课堂-繁星老师 容灾备份
的整理学习笔记

20210218120827485.png

以下截图/代码。一部分是视频,一部分是自己实际设置的截图/代码。
存在一些出入,主要是参数的出入(配置第一次未成功0.0!)!繁星老师讲的很细,如有条件配合视频食用更佳。

这些参数请按照如下进行理解区分。存在出入的内容:
htlt 即为 prod
sdbd2 即为 sbdb
TNS 即为 tnsname.ora 中设置的名称
如果下文 请自行转换 (PS:失败一次后更改的的其他参数)
与路径相关的内容,需按照自身安装oracle路径修改

内容开始于两台服务器已经安装好oracle!

我是在 Redhat 7.2 中安装的两个 oracle 11.2.0.4.0 数据库

1号服务器IP:192.168.1.181
2号服务器IP:192.168.1.183

关于主库的配置

1. 开始进行主库的配置

1.1 启动主库的监听

lsnrctl start

1.1 链接主库数据库

sqlplus / as syssdba

2. 日志状态

2.1查询日志打开状态

SELECT force_logging form v$databse;

返回内容:for---NO

2.2修改这状态

alter database force logging;

返回内容:Database altered.

3. 归档模式 修改文件格式名

3.1 查询数据库归档模式

archive log list;

返回内容:Disabled (未归档)

20210218110715105.png

3.2 修改归档模式文件格式参数名称

3.2.1 查询文件格式参数

show parameter log

查询配置,查询详细的为

show parameter 某某名称

3.2.2 修改log_archive_format

文件默认名称:%t_%s_%r.dbf
修改理由:因为系统文件也是dbf,不容易区分

alter system set log_archive_format='%t_%s_%r.arc' scope=spfile;

返回内容:System altered;

4. 主库关闭

干净的关闭方式

shutdown immediate

5. 打开主库SQL

在mout状态下改变归档模式

startup mount

6. 打开主库归档模式

alter database archivelog;

返回内容:Database altered.

7. 打开主库 数据库打开

alter database open;

8. 配置主库的监听

8.1 查找文件目录

$ORACLE_HOME/network/admin

修改listener.ora文件
修改后:

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = oracledb)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

ADR_BASE_LISTENER = /home/oracle/app
LISTENER1 = 
	(DESCRIPTION_LIST = 
		(DESCRIPTION = 
			(ADDRESS_LIST = 
				(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.181)(PORT = 1522))
			)
		)
	)

SID_LIST_LISTENER1 = 
	(SID_LIST = 
		(SID_DESC = 
			(GLOBAL_DBNAME = htlt)
			(SID_NAME = htlt)
			(ORACLE_HOME = /home/oracle/app/oracle/product/11.2.0/dbhome_1)
		)
	)

启动监听

lsnrctl start  
lsnrctl start listener1  

9. 主库配置db_unique_name

9.1 修改db_unique_name

  • 使用 #1.1 连接数据库 使用 #3.2.1 查询该字段内容

默认有个prod的值,没有就改为prod

alter system set db_unique_name='prod' scope=spfile;

修改后重启数据库

10. 主库配置log_archive_config

  • 使用 #1.1 连接数据库 使用 #3.2.1 查询该字段内容
alter system set log_archive_config='DG_CONFIG=(htlt,sbdb2)' scope=both;

DG_CONFIG 中 htlt为主库 sbdb2是备库 -》 是db_unique_name 的名称

11. 主库修改log_archive_dest_X归档位置

  • 使用 #1.1 连接数据库 使用 #3.2.1 查询该字段内容

log_archive_dest_ 从1-31 我们只需要修改log_archive_dest_1、log_archive_dest_2

11.1 修改log_archive_dest_1

文件路径原本不存在,需要自己创建
DB_UNIQUE_NAME=htlt 中htlt为db_unique_name中设置的参数

alter system set log_archive_dest_1='LOCATION=/home/oracle/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=htlt' scope=both;

11.2 修改log_archive_dest_2

tnssbdb2-》备库的tns
DB_UNIQUE_NAME=sbdb2 -》 备库的db_unique_name参数

alter system set log_archive_dest_2='SERVICE=tnssbdb2 LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=sbdb2' scope=both;

12. 主库 配置TNS

文件路径

$ORACLE_HOME/network/admin

HTLT 原本有的服务名,复制他进行修改
host下面的IP如果:cat /etc/hosts下配置了可以用 快捷方式

HTLT =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.181)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = htlt)
    )
  )
tnssbdb2 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.183)(PORT = 1522))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = htlt)
    )
  )
  
tnshtlt =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.181)(PORT = 1522))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = htlt)
    )
  )

13. 主库配置 df_file_name_convert 修改

  • 使用 #1.1 连接数据库 使用 #3.2.1 查询该字段内容

13.1. 查询是否需要修改 df_file_name_convert

文件路径名修改,如果主库和备库路径名称一样就不需要修改
查询文件路径

select * from v$dbfile;

返回需要的内容:/home/oracle/app/oradata/sbdb2(需要截取)

13.2 修改df_file_name_convert

这里的路径 第一个需要时备库的实例名地址!第二个时自己的实例名

alter system set df_file_name_convert='/home/oracle/app/oradata/sbdb2','/home/oracle/app/oradata/htlt' scope=spfile;

返回内容:System altered

14. 主库配置 log_file_name_convert 修改

  • 使用 #1.1 连接数据库 使用 #3.2.1 查询该字段内容

14.1. 查询是否需要修改 log_file_name_convert

文件路径名修改,如果主库和备库路径名称一样就不需要修改
查询文件路径

select * from v$dbfile;

返回需要的内容:/home/oracle/app/oradata/sbdb2(需要截取)

14.2 修改df_file_name_convert

这里的路径 第一个需要时备库的实例名地址!第二个时主库的实例名

alter system set log_file_name_convert='/home/oracle/app/oradata/sbdb2','/home/oracle/app/oradata/htlt' scope=spfile;

返回内容:System altered

15. 主库配置 修改standby_file_management

从MANUAL【手动】转AUTO【自动】

alter system set standby_file_management=auto scope=spfile;

返回内容:System altered

16. 修改 fal_client 和 fal_server

16.1 查询 修改内容

show parameter fal

16.2 修改内容

fal_client:tns主库
fal_server: tns备库

alter system set fal_server='tns主库' scope=both;
alter system set fal_server='tns备库' scope=both;

备库相关配置

17. 主库密码文件复制到备库

路径

$ORACLE_HOME/dbs/orapw主库服务名 -》 文件orapw主库服务名 例:orapworcl

scp $ORACLE_HOME/dbs/orapw主库服务名 备库IP:/$ORACLE_HOME/dbs/

17.1 备库需要修改文件

mv orapw主库服务名 orapw备库服务名

18. 设置备库的init#{服务名}.ora

18.1 创建 init

touch init#{备库服务名}.ora

18.2 修改 init

db_name='htlt'
db_unique_name='sbdb2'
audit_file_dest='/home/oracle/app/admin/sbdb2/adump'
compatible='11.2.0.4.0'
control_files='/home/oracle/app/oradata/sbdb2/control01.ctl','/home/oracle/app/fast_recovery_area/sbdb2/control02.ctl'
log_archive_config='DG_CONFIG=(htlt,sbdb2)'
log_archive_dest_1='LOCATION=/home/oracle/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=sbdb2'
log_archive_dest_2='SERVICE=tnshtlt LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=htlt'
db_file_name_convert='/home/oracle/app/oradata/htlt','/home/oracle/app/oradata/sbdb2'
log_file_name_convert='/home/oracle/app/oradata/htlt','/home/oracle/app/oradata/sbdb2'
db_recovery_file_dest='/home/oracle/app/fast_recovery_area'
db_recovery_file_dest_size=4385144832
fal_client='tnssbdb2'
fal_server='tnshtlt'
log_archive_format='%t_%s_%r.arc'
standby_file_management='AUTO'

18.2.1 解析修改的文件内容

db_name='#{主库服务名}'
db_unique_name='#{备库服务名}'
//需要在服务名下创建 adump 目录 mkidr -p 
audit_file_dest='/home/oracle/app/admin/#{备库服务名}/adump'
compatible='11.2.0.4.0'
control_files='/home/oracle/app/oradata/#{备库服务名}/control01.ctl','/home/oracle/app/fast_recovery_area/#{备库服务名}/control02.ctl'
log_archive_config='DG_CONFIG=(#{主库服务名},#{备库服务名})'
//存放归档的路径 也需要在备库 中新增 mkidr -p 
log_archive_dest_1='LOCATION=/home/oracle/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=#{备库服务名}'
log_archive_dest_2='SERVICE=tns#{主库Tns服务名} LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=#{主库服务名}'

//备库配置需要:主在前,备在后
db_file_name_convert='/home/oracle/app/oradata/#{主库}','/home/oracle/app/oradata/#{备库}'
log_file_name_convert='/home/oracle/app/oradata/#{主库}','/home/oracle/app/oradata/#{备库}'
db_recovery_file_dest='/home/oracle/app/fast_recovery_area'
db_recovery_file_dest_size=4385144832
fal_client='tns#{备库服务名}'
fal_server='tns#{主库服务名}'
log_archive_format='%t_%s_%r.arc'
standby_file_management='AUTO'

18.3 使配置生效

18.3.1 首先通过 shutdown immediate 干净的关闭oracle

18.3.2 然后输入指令

create spfile form pfile;

反馈内容:File created.

18.3.3 通过 nomount 启动备库

startup nomount

19. 检查备库的环境配置

查看环境变量

cat .bash_profile

需要修改ORACL_SID=prod 改成 备库的服务名 sdbd2

20210218172731395.png

20. 备库参数设置

  • 使用 #1.1 连接数据库

20.1 创建一个pfile

create sofile form pfile;
然后退出
exit;

20.2 创建后的效果

在$ORACLE_HOME/dbs目录下

$ORACLE_HOME/dbs

会生成一个 spfilesbdb.ora 文件

20.3 通过生成的文件启动备库

  • 使用 #1.1 连接数据库
    启动数据库
startup nomount

20.3.1 查询是否启动生成的文件

show parameter spfile;

返回内容
在这里插入图片描述
可以查看启动是否为创建的pfile文件启动的。

21. 配置备库的静态监听

配置listener.ora 同 #8 章节讲到的 配置备库

路径地址:$ORACLE_HOME/network/admin

原本备库是是没有这个文件的

选择复制,都可以,
1.供创建文件
touch listener.ora
2.复制主库代码
2.1需要连接到主库当同目录
scp #{ORACLE_HOME}/network/admin/listener.ora 备库IP:#{ORACLE_HOME}/network/admin/
备注:$ORACLE_HOME 用 oracle的路径

参考的修改内容

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.183)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

ADR_BASE_LISTENER = /home/oracle/app
LISTENER1 = 
	(DESCRIPTION_LIST = 
		(DESCRIPTION = 
			(ADDRESS_LIST = 
				(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.183)(PORT = 1522))
			)
		)
	)

SID_LIST_LISTENER1 = 
	(SID_LIST = 
		(SID_DESC = 
			(GLOBAL_DBNAME = htlt)
			(SID_NAME = sbdb2)
			(ORACLE_HOME = /home/oracle/app/oracle/product/11.2.0/dbhome_1)
		)
	)

启动监听

lsnrctl start  
lsnrctl start listener1  

22. 备库配置TNS

文件路径

$ORACLE_HOME/network/admin

tnssbdb2 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.183)(PORT = 1522))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = htlt)
    )
  )
  
tnshtlt =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.181)(PORT = 1522))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = htlt)
    )
  )

tnssbdb2:备库地址

tnshtlt:主库地址,主库tns服务名

23. 配置后 测试两边是否相通的

23.1 通过tnsping 测试是否相通

23.1.1 主库ping备库

tnsping #{备库的tns}

示例

tnsping tnssbdb2

23.1.2 备库ping主库

tnsping #{主库的tns}

示例

tnsping tnshtlt

注:tnsping 是 oracle 安装后自带的工具

如果ping不通,可以尝试ping自己。还报错就是配置问题

返回结果:

20210219094109193.png

23.2 通过tns连接对方数据库 测试是否相通

23.2.1 主库连接备库

sqlplus 账号/密码@#{备库的tns} as sysdba

示例

sqlplus sys/密码@tnssbdb2 as sysdba

23.2.2 备库连接主库

sqlplus 账号/密码@#{主库的tns} as sysdba

示例

sqlplus sys/密码@tnshtlt as sysdba

24. 开始DG前的参数配置检查

主库 备库 都需要检查

如何查询:
通过sqlplus / as sysdba连接后查询

24.1 检查db_unique_name

主库和备库的 核心配置 之一

show parameter db_unique_name

主库为:prod
备库为:sbdb

20210219104710279.png

24.2 检查compatible 版本

主库备库 需要相同

show parameter compatible

20210219110741345.png

24.3 检查log_archive_config

主库:DG_CONFIG=(【主库db_unique_name】,【备库db_unique_name】)
备库:DG_CONFIG=(【主库db_unique_name】,【备库db_unique_name】)
顺序都是一样的 , DG_CONFIG=(prod,sbdb)

show parameter log_archive_config

20210219111615211.png

24.4 检查log_archive_dest_1,_2

请看 #11 如何的配置

24.4.1检查log_archive_dest_1

show parameter log_archive_dest_1

主库:

LOCATION=/home/oracle/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=#{主库db_unique_name}  

备库:

LOCATION=/home/oracle/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=#{备库db_unique_name}  

24.4.1检查log_archive_dest_2

show parameter log_archive_dest_2

主库:

SERVICE={备库TNS地址} LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=#{备库db_unique_name}

20210219113626588.png

备库:

SERVICE={主库TNS地址} LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=#{主库db_unique_name} 

20210219113548406.png

24.5 检查 log_archive_dest_state_

主库:enable 启用状态
备库:enable 启用状态

show parameter log_archive_dest_state_

如果是defer即禁用状态,如果发现未启用,需要设置为启用!

重点检查 log_archive_dest_state_1,log_archive_dest_state_2

24.6 检查 db_file_name_convert

(主备切换)
指定的自己的oracle路径:参考 #14.2 章节说明。包括检查log_file_name_convert.一起

show parameter db_file_name_convert
show parameter log_file_name_convert

主库配置:

20210219114746178.png

备库配置:

20210219115426436.png

注意:相反的!!!
主库:备前主后
备库:主前备后

log_file_name_convert :也是同理

24.7 检查 standby_file_management

需要开启为:AUTO模式 在 #15 中可以查看如何设置

show parameter log_file_name_convert

24.8 检查 log_archive_format

两边都要配置相同的文件格式 请查看 #3.2.2

show parameter log_archive_format

24.9 检查完后 需要重启生效

shutdown immediate  

备库 :

startup nomount

使用Duplicate创建物理standby

  • 目前两台服务器的ORACLE状态:
  • 主库启动状态:startup
  • 备库启动状态:startup nomount

25. 通过 RMAN 连接主备库

25.1 主库连接 RMAN

主库操作

rman target sys/Oracle123@{主库的TNS} 

不要使用 rman target / 进行连接

25.2 主库通过RMAN连接备库

主库操作

connected to auxiliary sys/Oracle123@{备库的TNS}

20210219143154600.png
显示连接成功,prod(本机) 为挂挂载状态

25.3 简化的连接方法

这是一种简化操作:和 #25.1 #25.2 两个命令相同效果
同样在主库上进行

rman target sys/Oracle123@{主库的TNS}  auxiliary sys/Oracle123@{备库的TNS}

25. 进行同步工作

切记:此命令是在连接RMAN后进行的。需要同时连接主库备库。即 #25 做的事情,输入以下同步代码:

duplicate target database for standby from active database nofilenamecheck;

回车后就开始进行同步工作,需要比较长的时间!

20210219144348706.png

26. 查看同步状态

#25 完成后,进行的操作

备库服务器操作

路径是在 #13 中配置的

20210219144642819.png

添加 Standby 日志组并开启同步

需要了解的概念

Standby日志组 = redo日志组+1

27. 新增 standby 日志组

27.1 主库查询redo日志组列表

可以使用 nacatac/PLSQL 工具查询

全部
select * from v$logfile;

20210219151310394.png

27.2 主库新增日志组列表

#27.1 查询可知 group 1,2,3已被占用
#{日志路径} 可以查用查询出来的redo 取其路径

alter database add standby logfile group 4 ('#{日志路径}/#{主库实例名}/standby04.rdo') size 50M;
alter database add standby logfile group 5 ('#{日志路径}/#{主库实例名}/standby05.rdo') size 50M;
alter database add standby logfile group 6 ('#{日志路径}/#{主库实例名}/standby06.rdo') size 50M;
alter database add standby logfile group 7 ('#{日志路径}/#{主库实例名}/standby07.rdo') size 50M;

路径需要参考自己的安装oralce路径。
不推荐 standby07.log log结尾,防止被意外删除!


27.3 备库新增日志组列表

#27.1 查询可知 group 1,2,3已被占用
#{日志路径} 可以查用查询出来的redo 取其路径

alter database add standby logfile group 4 ('#{日志路径}/#{备库实例名}/standby04.rdo') size 50M;
alter database add standby logfile group 5 ('#{日志路径}/#{备库实例名}/standby05.rdo') size 50M;
alter database add standby logfile group 6 ('#{日志路径}/#{备库实例名}/standby06.rdo') size 50M;
alter database add standby logfile group 7 ('#{日志路径}/#{备库实例名}/standby07.rdo') size 50M;

路径需要参考自己的安装oralce路径。
不推荐 standby07.log log结尾,防止被意外删除!

20210219150933963.png

28. 开启同步

28.1 调整备库 将挂载状态打开

  • 目前备库为挂载状态,需要调整打开
alter database open;

28.2 开启 根据日志 实时应用 备份

  1. 开启实时同步
alter database recover managed standby database using current logfile disconnect from session; 

1.1. 开启实时同步 (推荐)

alter database recover managed standby database using current logfile disconnect; 

from session:回车后 控制立马还给 shell命令

  1. 开启同步(日志切换才会同步)
alter database recover managed standby database disconnect from session;

3.停止同步

alter database recover managed standby database cancel;

29 查看试试同步状态(是否成功)

29.1 查看v$database;

open_mode查询状态
READ ONLY WITH APPLY(备库正常)打开并应用日志
READ ONLY (备库异常)只读(未同步日志)
READ WRITE(主库)读写模式
MOUNTED挂载
database_role打开模式
RHYSICAL STANDEY物理STANDEY
PRIMARY主库

模式:protection_mode,protection_level

名称含义修改方式(log_archive_dest_2)切换SQL
MAXIMUM PERFORMANCE最大性能模式LGWR ASYNC NOAFFIRMalter database set standby database to maximize availability;
MAXIMUM PERFORMANCE最大可用模式LGWR SYNC AFFIRMalter database set standby database to maximize performance;
MAXIMUM PERFORMANCE最高保护模式LGWR SYNC AFFIRMalter database set standby database to maximize avilability;

29.1.1 备库执行

select open_mode,database_role,protection_mode,protection_level from v$database;

20210219154135334.png

29.1.2 主库执行

select open_mode,database_role,protection_mode,protection_level from v$database;

20210219154555374.png

疑问/问题 解决方案

1.1 为什么备库一定要配置动态监听?

解答:nomount状态下必须使用静态兼听才能连接到实例

1.2 通过startup nomount启动后,是完全启动吗?

解答:不是的,此指令操作是为了完成(读初始化参数文件,启动实例)
需要通过 alter database open; 在进行启动,才算完全启动。
这里 需要了解 oracle:nomount mount open 三种启动状态含义。百度就有!

1.3 如何重新开关数据库

  • 拒绝突然断电、关机(很容易出问题)

关机顺序 先主机再备机,先实例后监听

开机顺序 先备机再主机

1.3.1 关机详细步骤

1.3.1.1 主库关闭数据库

shutdown immediate;

1.3.1.2 备库关闭同步状态

alter database recover managed standby database cancel;

1.3.1.3 备库关闭数据库

shutdown immediate;

1.3.2 开机详细步骤

1.3.2.1 备库打开监听状态

lsnrctl start
lsnrctl start listener1

1.3.2.2 主库关闭同步状态

lsnrctl start
lsnrctl start listener1

1.3.2.3 连接备库oracle

sqlplus / as sysdba

1.3.2.4 备库打开数据库

startup;

1.3.2.5 备库开启日志同步

alter database recover managed standby database using current logfile disconnect;

1.3.2.6 连接主库oracle

sqlplus / as sysdba

1.3.2.7 主库打开数据库

startup;

1.4 startup启动备库出现 ORA-10458: standby database requires recovery

ORA-10458: standby database requires recovery
ORA-01196: file 1 is inconsistent due to a failed media recovery session
ORA-01110: data file 1: 'oralce路径/system01.dbf'

1.4.1 解决方案二

其他博主解决的方案
这个方案我没解决成功,他是在 #28 步开始的恢复工作!
个人建议:未解决问题,再往前挖,直至解决问题!因为未解决我的问题,所以可以执行方案二。

1.4.2 解决方案二

  • 谨慎的人员,推荐检查一下 #24 参数配置。
  • 问题解析:这一步出现在主备system01.dbf无法进行同步上,所以需要在此同步。
  • 需要重新执行 #25 进行一次同步工作,在从 #25 其中 #27 无需操作,不需要创建新的了往下执行。
    PS:在执行
    channel ORA_DISK_1: starting datafile copy
    input datafile file number=00001 name={路径}/system01.dbf
    的时候,需要很长时间,请耐心等待,随着数据越大同步时间越长。不是报错!
    我大概用了2小时!
  • 然后在启动尝试,运气好的,备库就已经可以启动了!

常用的指令整合

  • 无账号密码快速访问
sqlplus / as sysdba
  • 开启数据库的两张方式
startup
进入归档模式
startup mount
  • 启动监听
lsnrctl start  
lsnrctl start listener1  
  • 干净的关闭数据库
shutdown immediate
0

评论区