以下各節說明如何從完整 + 增量備份映像檔,將 IBM Db2、SAP ASE、SAP IQ 和 SAP MaxDB 資料庫復原至新目標。
程序
如要將以檔案為基礎的備份映像檔還原至新目標,請按照下列操作說明進行:
在「App Manager Applications」清單中,按一下受保護的資料庫,然後選取「Access」。
選取要復原的最新快照,然後按一下「掛載」。
在掛接位置下方提供掛接點,例如:
/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>&1
ARCHIVELOG_MNT
等於 _archivelog。請參閱步驟 3。以超級使用者身分登入資料庫伺服器。在伺服器上,將目錄變更為以下目錄:
cd /act/custom_apps/(database type)/dump
以根使用者身分透過指令列執行指令碼。
卸載已掛載的傾印快照映像檔。
必要指令碼
您必須先準備指令碼,才能將資料庫掛接至新目標。
IBM Db2
/act/custom_apps/db2/dump/ACT_DB2_dumprestore_newTarget.sh \
SOURCE_INSTANCE=SOURCE_INSTANCE_edited_value \
TARGET_MNT=TARGET_MNT_edited_value \
DB_LIST=DB_LIS_edited_value \
ARCHIVELOG_MNT=ARCHIVELOG_MNT_edited_value \
SOURCE_LOGARCHMETH1=SOURCE_LOGARCHMETH1_edited_value \
UNTIL_TIME=UNTIL_TIME_edited_value \
ACT_JOBNAME=ACT_JOBNAME_edited_value
請依指示取代下列項目:
SOURCE_INSTANCE
:Db2 執行個體的名稱TARGET_MNT
:在掛載作業期間提供的掛接點DB_LIST
:以逗號分隔的要還原的資料庫清單ARCHIVELOG_MNT
:封存記錄備份掛載點名稱SOURCE_LOGARCHMETH1
:Db2 來源資料庫封存記錄位置,必須是本機磁碟UNTIL_TIME
:復原時間,格式為 YYYY-MM-DD-HH.MI.SSACT_JOBNAME
:標準掛載工作的工作名稱連線至 Db2 執行個體,並確認資料庫已復原並上線。
db2 connect to <dbname>
db2 select db_status FROM SYSIBMADM.SNAPDB
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' ' -f2
JobID:
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'"' -f2
SRC_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