以下部分包含有关将 SAP ASE、SAP IQ 和 SAP MaxDB 数据库从完整备份+增量备份恢复到新目标的信息。
过程
如需将基于文件的备份恢复到新目标,请按照以下说明操作:
在 App Manager Applications 列表中,右键点击受保护的数据库,然后选择访问。
选择要恢复的最新快照,然后点击装载。
在装载位置下提供装载点,例如:
/mymountpoint。数据库备份装载在
/mymountpoint下,日志备份装载在/mymountpoint_archivelog下。运行以下命令,从
/var/act/log/UDSAgent.log中检索装载的JobID:grep "mount -t " /var/act/log/UDSAgent.log | grep -w "(mountPoint provided in step 3)"|tail -1例如:
# grep "mount -t " /var/act/log/UDSAgent.log| grep -w "/db2mnp" |tail -1 2019-11-18 23:59:19.740 GEN-INFO 22488 Job_0404207 Spawning cmd: mount -t ext4 /dev/act403764_DBDump_1574101677612/act_staging_vol /db2mnp 2>&1ARCHIVELOG_MNT等于 _archivelog。请参阅第 3 步。以根用户身份登录数据库服务器。在服务器上,将目录更改为以下内容:
cd /act/custom_apps/(database type)/dump以根用户身份从命令行运行脚本。
卸载已挂载的 dump 备份。
必需的脚本
在将数据库装载到新目标之前,您必须准备一个脚本。
SAP ASE
/act/custom_apps/sybase/dump/ACT_SYBASE_dumprestore_newTarget.sh
SYBOSUSER
SRC_SYBASE_SQLD
TARGET_DB_USER
TARGET_DBUSER_PASSWD
ACT_NAME
TARGET_MNT_PNT
SRC_DBNAME
UNTIL_TIME
BEGIN_TIME
LOG_BKP_MNTPT
SRC_PAGE_SIZE
连接到 SAP ASE 实例,并确认数据库已恢复且处于在线状态。
isql -U<username> -P<password> -S<SAP ASE server name>
sp_helpdb
go
SAP IQ
/act/custom_apps/sybase/dump/ACT_SYBASE_dumprestore_newTarget.sh
OSUSER
TARGET_MNT
SRC_DB_DBA_USER
SRC_DB_DBA_PWD
SYBIQ_HOME
VERSION
ACT_NAME
CATALOG_DB_FILE
LOG_BKP_MNTPT
连接到 IQ 数据库,并确认数据库已恢复且处于在线状态。
dbisql -c "uid=<username>;pwd=<password>;eng=<engine name>;dbn=<database name>;" -nogui
SAP MaxDB
/act/custom_apps/maxdb/dump/ACT_Maxdb_dumpRestore_newTarget.conf
OSUSER
SRC_DBSID
TARGET_DB_USER
TARGET_DBUSER_PASSWD
TARGET_SERVER_NAME
DUMPBKPLOC
DBADMIN_PWD
UNTIL_TIME
LOG_MNT_PNT
DATA_MNT_PNT
JobID
MANIFEST_FILE_LOC
LOG_BKP_MNTPT
BEGIN_TIME
SRC_DB_VERSION
您可以通过运行以下命令获取这些值:
DUMPBKPLOC:
df -h | grep <DUMPBKPLOC> | awk '{print $NF}' cat /var/act/log/UDSAgent.log | grep -w <DUMPBKPLOC> | tail -1 | cut -d']' -f2 | cut -d' ' -f2JobID:
cat /var/act/log/UDSAgent.log | grep <JOBID> | awk -F"disk at " '{print $2}'MANIFEST_FILE_LOC:
cat /var/act/log/UDSAgent.log | grep -i "Manifest_File_" | awk -F"disk at " '{print $2}'LOG_BKP_MNTPT:
df -h | grep "_archivelog" | awk '{print $NF}'BEGIN_TIME:
cat /var/act/log/UDSAgent.log | grep "BEGIN_TIME" | awk -F"BEGIN_TIME=" '{ print $2 }' | cut -d' ' -f1-2 | cut -d'"' -f2SRC_DB_VERSION:
dbmcli -d <SRC_DBSID> dbm_version | grep "VERSION" | awk -F"= " '{print $2}'
连接到 MaxDB 实例,并确认数据库已恢复且处于在线状态:
dbmcli -d <TARGET_SERVER_NAME> -u
<TARGET_DB_USER>,<TARGET_DBUSER_PASSWD>
db_state