DM8实操经验 备份归档有关的存储过程总结

mmx007mmx
发布于 2022-8-12 19:35
浏览
0收藏

归档相关:
SQL> select * from v$ifun where name like '%archive%';

SF_ARCHIVELOG_DELETE_BEFORE_LSN
定义:

INT

SF_ARCHIVELOG_DELETE_BEFORE_LSN (

lsn   bigint

)

功能说明:

数据库以归档模式打开的情况下,删除小于指定LSN值的归档日志文件,包括本地归档和远程归档。待删除的文件必须处于未被使用状态

返回值:

删除归档日志文件数,-1表示出错

举例说明:

删除LSN值小于95560的归档日志文件

SELECT SF_ARCHIVELOG_DELETE_BEFORE_LSN(95560);

SF_ARCHIVELOG_DELETE_BEFORE_TIME
定义:

INT

SF_ARCHIVELOG_DELETE_BEFORE_TIME (

time   datetime

)

功能说明:

数据库以归档模式打开的情况下,删除指定时间之前的归档日志文件,包括本地归档和远程归档。待删除的文件必须处于未被使用状态

返回值:

删除归档日志文件数,-1表示出错

SF_REMOTE_ARCHIVE_CHECK    
定义:

int

SF_REMOTE_ARCHIVE_CHECK(

inst_name varchar(256)

)

功能说明:检查本地保存的源实例远程归档目录中归档是否完整

参数说明:

inst_name: 远程归档源实例名

返回值:

检查失败返回报错code

0:不完整,需要修复;1:完整,无需修复

举例说明:

登录DSC01,检查DSC02源实例的对应的远程归档是否完整

select SF_ARCHIVELOG_DELETE_BEFORE_TIME(‘DSC02’);

SP_REMOTE_ARCHIVE_REPAIR
void

SP_REMOTE_ARCHIVE_REPAIR (

src_inst_name varchar(256),

dest_inst_name varchar(256)

)

功能说明:

在dest_inst_name以外的DMDSC实例上调用,修复dest_inst_name上的src_inst_name发到dest_inst_name上的远程归档。该函数自动收集dest_inst_name上缺失的来自src_inst_name的远程归档日志区间,src_inst_name上根据每个区间发送对应的归档到dest_inst_name上,在dest_inst_name上生成归档文件,保存在对应的远程归档目录中。

参数说明:

src_inst_name: 远程归档源实例名

dest_inst_name: 待修复的远程归档目的实例名

返回值:

举例说明:

修复DSC02上来自DSC01的远程归档:

select SP_REMOTE_ARCHIVE_REPAIR(‘DSC01’,’DSC02’);

SF_REMOTE_ARCHIVE_TRUNCATE      
int

SF_REMOTE_ARCHIVE_TRUNCATE(

inst_name varchar(256)

)

功能说明:

截断远程归档中不连续部分,使远程归档连续。若指定inst_name为当前节点实例名,则直接返回。建议在使用SF_REMOTE_ARCHIVE_REPAIR之后,执行SF_REMOTE_ARCHIVE_CHECK仍不完整的情况下使用,避免删除多余归档。但是即使误删除多余归档,也可以使用其他节点修复。

参数说明:

inst_name: 远程归档源实例名

返回值:

检查失败返回报错code

0:截断完成 ;1:当前节点实例无需截断

举例说明:

登录DSC01,截断DSC02源实例的对应的远程归档

select SF_REMOTE_ARCHIVE_TRUNCATE(‘DSC02’);

备份相关:

SF_BAKSET_BACKUP_DIR_ADD
添加备份目录。若添加目录已经存在或者为库默认备份路径,则认为已经存在,不添加,但也不报错。执行以下命令:

INT SF_BAKSET_BACKUP_DIR_ADD(device_type varchar,backup_dir varchar(256))

参数说明

device_type:待添加的备份目录对应存储介质类型,DISK 或者 TAPE。目前,无论指定介质类型为 DISK 或者 TAPE,都会同时搜索两种类型的备份集。
backup_dir:待添加的备份目录。

返回值

1:目录添加成功;其它情况下报错。

SQL> select SF_BAKSET_BACKUP_DIR_ADD('DISK','/u01/dmdbms/data/bak');

SF_BAKSET_BACKUP_DIR_REMOVE  
删除备份目录。若删除目录为库默认备份路径,不进行删除,认为删除失败。若指定目录存在于记录的合法目录中,则删除;不存在或者为空则跳过,正常返回。执行以下命令:  

INT SF_BAKSET_BACKUP_DIR_REMOVE (

device_type varchar,

backup_dir varchar(256)

)

参数说明

device_type:待删除的备份目录对应存储介质类型。待删除的备份目录对应存储介质类型,DISK 或者 TAPE。
backup_dir:待删除的备份目录。

返回值

1:目录删除成功、目录不存在或者目录为空;0:目录为库默认备份路径;其他情况报错。

SQL> select SF_BAKSET_BACKUP_DIR_REMOVE('DISK','/u01/dmdbms/data/bak');            

SF_BAKSET_BACKUP_DIR_REMOVE_ALL
清理全部备份目录,默认备份目录除外,执行以下命令:

INT SF_BAKSET_BACKUP_DIR_REMOVE_ALL ()

返回值

1:目录全部清理成功;其它情况下报错。

SQL> select SF_BAKSET_BACKUP_DIR_REMOVE_ALL();

SP_BACKUP_COPY_BEGIN
SP_BACKUP_COPY_END
SP_BACKUP_HUGE_TABLE             
SP_BACKUP_ALL_HUGE_TABLE

收藏
回复
举报
回复
    相关推荐