sqlserver脱机数据库命令

sqlserver脱机数据库命令,第1张

您好,SQL Server脱机数据库命令是指将数据库从运行状态转换为脱机状态的命令。在脱机状态下,数据库不再接受新的连接请求,同时也不能执行任何的数据 *** 作。这种状态通常用于备份或还原数据库、移动或复制数据库、或在数据库出现问题时进行修复。

下面是SQL Server脱机数据库命令的具体步骤:

1. 打开SQL Server Management Studio,连接到要脱机的数据库实例。

2. 在“对象资源管理器”中选择要脱机的数据库,右键单击并选择“任务”>“脱机”。

3. 在“脱机数据库”对话框中,选择“立即脱机”,然后单击“确定”。

4. 数据库将被脱机,并且无法执行任何 *** 作。如果需要重新连接数据库,请使用相应的命令将其重新连接。

5. 如果需要将数据库重新上线,请在“对象资源管理器”中选择该数据库,右键单击并选择“任务”>“上线”。

需要注意的是,在执行脱机数据库命令之前,必须确保没有任何正在进行的活动会话或事务,否则可能会导致数据丢失或损坏。因此,在执行脱机命令之前,最好先备份数据库以确保数据的完整性和安全性。

一、备份还原简介

数据库备份是 DBA 日常最重要的工作内容。备份的主要目的是数据容灾,保证数据的安全性,在数据库发生故障时,通过还原备份集,将数据恢复到可用状态。

下面主要讲一下以联机执行SQL 语句进行备份还原和脱机工具 DMRMAN 进行备份还原的方式。

二、归档配置

备份与恢复过程都依赖归档日志,归档日志是保证数据一致性和完整性的重要保障。配有归档日志的数据库系统在出现故障时丢失数据的可能性更小,这是因为一旦出现介质故障如磁盘损坏时,利用归档日志,系统可被恢复至故障发生的前一刻,也可以还原到指定的时间点。

使用如下语句检查DM归档是否开启:

select arch_mode from v$database

1

1

ARCH_MODE字段查询结果为“Y”表示已开启,如果为“N”,则DM数据库归档未开启。

或者查看配置文件dm.ini,参数ARCH_INI的值:1表示已开启归档,0表示未开启归档

可以使用如下系列命令开启归档模式。开启归档模式,需要确定归档类型、归档路径、归档文件大小、归档空间大小限制参数,根据实际情况进行设置。

alter database mount

alter database add archivelog 'dest=/dmdata/dmarch/arch,TYPE=local,FILE_SIZE=1024,SPACE_LIMIT=102400'

alter database archivelog

alter database open

1

2

3

4

1

2

3

4

或者修改配置文件dm.ini中的参数ARCH_INI=1,在dm.ini所在目录中,创建dmarch.ini文件并添加以下内容后,重启数据库实例。

[ARCHIVE_LOCAL1]

ARCH_TYPE= LOCAL

ARCH_DEST= /dmdata/dmarch/arch

ARCH_FILE_SIZE = 1024

ARCH_SPACE_LIMIT = 102400

ARCH_FLUSH_BUF_SIZE = 0

ARCH_HANG_FLAG = 1

1

2

3

4

5

6

7

1

2

3

4

5

6

7

三、使用disql进行联机备份还原

使用 DIsql 工具备份数据库、用户表空间、用户表和归档,系统必须处于归档模式下时,才允许进行数据库联机备份且保证数据库处于 OPEN 状态。

1 备份数据库

1.1 完全备份

执行数据库备份,数据库必须处于 OPEN 状态,MOUNT 和 SUSPEND 状态下不允许执行数据库备份。

在disql 中输入备份数据库语句,最简单的不设置其他参数的完全备份语句如下:

指定备份集路径为“/home/dm_bak/db_full_bak_01”

BACKUP DATABASE FULL BACKUPSET ‘/home/dm_bak/db_full_bak_01’

这是最简单的数据库备份语句,如果要设置其他的备份选项需了解联机备份数据库的语法。 详细请参考《DM8备份与还原.pdf》中的3.2.2.1.1 概述。

1.2 设置备份名

系统为每个备份指定一个备份名,它可作为识别备份的一种方式。备份时用户可以采用系统生成的备份名也可以指定属于自己的备份名。

创建备份集,备份名设置为“WEEKLY_FULL_BAK”。

1.3 增量备份

增量备份指基于指定的库(或者表空间)的某个备份(完全备份或者增量备份),备份 自该备份以来所有发生修改的数据页。执行增量备份的主要目的是快速备份数据库中的修改, 减少备份时间和避免重复的备份。

在disql 中输入备份数据库语句,最简单的不设置其他参数的增量备份语句如下:

BACKUP DATABASE INCREMENT WITH BACKUPDIR ‘/home/dm_bak’ BACKUPSET ‘/home/dm_bak/db_increment_bak_02’

2 表空间备份

2.1 完全备份

表空间备份就是拷贝表空间内所有数据文件中的有效数据的过程。DM 仅支持表空间联机备份,完全备份一个表空间步骤如下:

在 disql 中输入备份表空间语句,最简单的不设置其他参数的完全备份表空间语句:

BACKUP TABLESPACE MAIN FULL BACKUPSET ‘/home/dm_bak/ts_full_bak_01’

2.2 增量备份

执行表空间增量备份的主要目的同数据库增量备份一样是为了快速备份数据库中的修改,减少备份时间和避免重复的备份。

在disql 中输入备份表空间语句,最简单的不设置其他参数的增量备份语句如下:

BACKUP TABLESPACE MAIN

INCREMENT WITH BACKUPDIR ‘/home/dm_bak’

BACKUPSET ‘/home/dm_bak/ts_increment_bak_02’

3 表备份

表备份拷贝指定表所使用的所有数据页到备份集中,并记录各个数据页之间的逻辑关系用来恢复表数据结构。表备份均为联机完全备份,不需要备份归档日志,不存在增量备份之说。当数据库中某张表比较重要而又没必要备份整个数据库或表空间时就可以选择表备份。完整的备份表步骤如下:

1.如有需要,可创建待备份的表 TAB1: SQL>CREATE TABLE TAB1(C1 INT)

2.在disql 中输入备份表语句,简单的备份语句如下:

BACKUP TABLE TAB1 BACKUPSET ‘/home/dm_bak/tab_bak_01’

4 归档备份

归档备份拷贝指定归档目录下的所有的归档文件到备份集中,并记录各个归档文件的属性、文件大小以及 LSN 区间等。归档备份不存在增量备份之说。当需要保存库的归档时,可以使用归档备份。

在disql 中输入备份数据库语句。

通过 LSN BETWEEN … AND …来指定起始和截至 LSN。

首先,确定 LSN 范围。:

select ARCH_LSN, CLSN, PATH from V$ARCH_FILE

通过查询结果选出备份的起始 LSN 和截至 LSN。比如 36766 38135

其次,备份归档:

BACKUP ARCHIVELOG LSN BETWEEN 36766 AND 38135 BACKUPSET ‘/home/dm_bak/arch_bak_time_36766-38135’

5 数据还原

DM 仅支持表的联机还原,数据库、表空间和归档日志的还原必须通过脱机工具 DMRMAN执行。

5.1 表还原

执行表还原,数据库必须处于 OPEN 状态,MOUNT 和 SUSPEND 状态下不允许执行表还原。表还原不需要配置归档,因为表还原是联机完全备份还原,所以不需要借助本地归档日志进行恢复。

表结构还原:

表备份和目标表中都包含索引,如果直接执行表数据还原会报错:还原表中存在二级索引或冗余约束。

创建待备份的表;

create table tab1 (a int, b varchar)

备份表数据;

BACKUP TABLE tab1 BACKUPSET ‘/home/dm_bak/tab1_bak_01’

表结构还原:

RESTORE TABLE tab1 STRUCT FROM BACKUPSET

‘/home/dm_bak/tab1_bak_01’

表数据还原:

RESTORE TABLE tab1 FROM BACKUPSET

‘/home/dm_bak/tab1_bak_01’

还原表数据,但不重建索引:

RESTORE TABLE tab1 WITHOUT INDEX

FROM BACKUPSET ‘/home/dm_bak/tab1_bak_01’

还原表数据,但不还原约束:

RESTORE TABLE tab1 WITHOUT CONSTRAINT

FROM BACKUPSET ‘/home/dm_bak/tab1_bak_01’

四、使用 DMRMAN工具进行脱机备份还原

1 备份数据库

1.1 完全备份

执行数据库备份要求数据库处于脱机状态。若是正常退出的数据库,则脱机备份前不需

要配置归档;若是故障退出的数据库,则备份前,需先进行归档修复。

备份到默认目录:

RMAN>BACKUP DATABASE '/dmdata/dmdb/DAMENG/dm.ini'

--命令执行完后会在默认的备份路径下生成备份集目录,默认的备份路径为 dm.ini 中BAK_PATH 的配置值,若未配置,则使用 SYSTEM_PATH 下的 bak 目录。

1

2

1

2

备份到指定目录:

RMAN>BACKUP DATABASE '/dmdata/dmdb/DAMENG/dm.ini' FULL BACKUPSET '/home/dm_bak/db_full_bak_01'

1

1

1.2 增量备份

增量备份指基于指定的库的某个备份(完全备份或者增量备份),备份自该备份以来所有发生修改了的数据页。脱机增量备份要求两次备份之间数据库必须有 *** 作,否则备份会报

错。

RMAN>BACKUP DATABASE '/dmdata/dmdb/DAMENG/dm.ini' INCREMENT WITH BACKUPDIR '/home/dm_bak'BACKUPSET '/home/dm_bak/db_increment_bak_02'

--命令中的 INCREMENT 参数表示执行的备份为增量备份,增量备份时该参数不可省略。如果增量备份的基备份不在默认备份目录中,则必须指定 WITH BACKUPDIR 参数用于搜索基备份集。

1

2

1

2

2 备份归档

2.1 创建归档备份

使用 DMRMAN 备份归档需要设置归档,否则会报错。关闭数据库实例。

备份到默认目录:

RMAN>BACKUP ARCHIVE LOG DATABASE '/dmdata/dmdb/DAMENG/dm.ini'

--命令执行完后会在默认的备份路径下生成备份集目录,默认的备份路径为 dm.ini 中BAK_PATH 的配置值,若未配置,则使用 SYSTEM_PATH 下的 bak 目录。

1

2

1

2

备份到指定目录:

RMAN>BACKUP ARCHIVE LOG ALL DATABASE '/dmdata/dmdb/DAMENG/dm.ini' BACKUPSET

'/home/dm_bak/arch_all_bak_01'

--命令中的 ALL 参数表示执行的备份为备份所有的归档,也可以不指定该参数,DMRMAN默认执行的备份类型为 ALL 类型归档备份。

1

2

3

1

2

3

2.2 创建设置条件的归档备份

设置条件的归档备份指通过设置 LSN 或者时间点,控制需要备份归档的范围。

RMAN>BACKUP ARCHIVE LOG LSN BETWEEN 50000 AND 120000 DATABASE '/dmdata/DAMENG/dm.ini' BACKUPSET '/home/dm_bak/arch_lsn_bak_02'

1

1

3 数据库还原和恢复

使用 RESTORE 命令完成脱机还原 *** 作,在还原语句中指定库级备份集,可以是脱机库级备份集,也可以是联机库级备份集。

3.1 还原数据库

RMAN>RESTORE DATABASE '/dmdata/dmdb/DAMENG_FOR_RESTORE/dm.ini' FROM BACKUPSET '/home/dm_bak/db_full_bak_for_restore'

1

1

3.2数据库恢复

RMAN>RECOVER DATABASE '/dmdata/dmdb/DAMENG_FOR_RESTORE/dm.ini' FROM BACKUPSET '/home/dm_arch/arch'

--使用 RECOVER DATABASE...UNTIL TIME 命令恢复到指定的时间:

RMAN>RECOVER DATABASE '/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini' WITH ARCHIVEDIR'/home/dm_arch/arch' UNTIL TIME'2018-11-16 10:56:40'

--使用 RECOVER DATABASE...UNTIL LSN 命令恢复到指定的 LSN

RMAN>RECOVER DATABASE '/opt

如果不是Oracle11gR2版本,数据文件是无法删除的,要删除数据文件连同表空间一起删除。 Oracle11gR2版可以删除数据文件。但你给的题目没有正确答案。 Oracle11gR2版删除数据文件的步骤如下: 1、保证表空间处在联机状态;


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11610553.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存