达梦数据库SYSTEM表空间删除恢复测试
1.存在备份和归档日志
SQL> alter system switch logfile;
SQL> checkpoint(100);
联机备份:
SQL> BACKUP DATABASE FULL BACKUPSET ‘/dm8/data/backup/BACKUP_FILE_03’;
2.误删除system文件
[dmdba@DMP dmdb]$ mv SYSTEM.DBF SYSTEM.DBF.bak
3.数据库服务启动测试
dmdba@DMP bin]$ ./DmServicedmdb start
Starting DmServicedmdb: [ FAILED ]
file dm.key not found, use default license!
version info: develop
/dm8/data/dmdb/SYSTEM.DBF not exist
4.采用初始化新实例,拷贝system文件测试
./dminit PATH=/dm8/data PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=Y LENGTH_IN_CHAR=Y CHARSET=0 SYSDBA_PWD=dmorcl123456 DB_NAME=DM INSTANCE_NAME=DM LOG_SIZE=2048 PORT_NUM=5236
[dmdba@DMP DM]$ cp SYSTEM.DBF /dm8/data/dmdb/
5.测试数据库服务是否正常启动
[dmdba@DMP DM]$ cd /dm8/soft/bin
[dmdba@DMP bin]$ ./DmServicedmdb start
Starting DmServicedmdb: [ FAILED ]
file dm.key not found, use default license!
version info: develop
Server key decrypt failed!!
Server exit!!
[dmdba@DMP dmdb]$ cp dm_service.prikey dm_service.prikey.bak
[dmdba@DMP dmdb]$ cd /dm8/data/DM/
[dmdba@DMP DM]$ cp dm_service.prikey /dm8/data/dmdb/
[dmdba@DMP bin]$ ./DmServicedmdb start
Starting DmServicedmdb: ./DmServicedmdb: 行 418: 7838 浮点数例外 (吐核)eval exec “”$EXEC_PROG_FULL_PATH"" “$STARTUP_PARAMS” -noconsole $TMP_START_MODE > “$SERVICE_LOG_FILE” 2>&1
[ FAILED ]
6.测试修改数据库魔数
[dmdba@DMP bin]$ ./dmmdf TYPE=1 FILE=/dm8/data/dmdb/SYSTEM.dbf
[dmdba@DMP bin]$ ./dmmdf TYPE=1 FILE=/dm8/data/dmdb/SYSTEM.dbf
dmmdf V8
file /dm8/data/dmdb/SYSTEM.dbf is not exist.
[dmdba@DMP bin]$ ./dmmdf TYPE=1 FILE=/dm8/data/dmdb/SYSTEM.DBF
dmmdf V8
1 db_magic=373072256
2 next_trxid=1
3 pemnt_magic=1848074638
7.检查redo log魔数
[dmdba@DMP bin]$ ./dmmdf TYPE=2 FILE=/dm8/data/dmdb/dmdb01.log
db_magic = 500069672
pemnt_magic = 327766355
8.将system 文件魔数修改成redo log魔数一致
9.还是异常
[dmdba@DMP bin]$ ./DmServicedmdb start
Starting DmServicedmdb: ./DmServicedmdb: 行 418: 7838 浮点数例外 (吐核)eval exec “”$EXEC_PROG_FULL_PATH"" “$STARTUP_PARAMS” -noconsole $TMP_START_MODE > “$SERVICE_LOG_FILE” 2>&1
[ FAILED ]
10.只能通过备份恢复
[dmdba@DMP bin]$ ./dmrman
dmrman V8
RMAN> restore database ‘/dm8/data/dmdb/dm.ini’ from backupset ‘/dm8/data/backup/BACKUP_FILE_03’;
RMAN> t
RMAN> recover database ‘/dm8/data/dmdb/dm.ini’ update DB_MAGIC;
11.备份加归档
SQL> create table test as select * from dba_tables;
SQL> BACKUP DATABASE FULL BACKUPSET ‘/dm8/data/backup/BACKUP_FILE_04’;
SQL> alter system switch logfile;
SQL> drop table test;
SQL> commit;
SQL> alter system switch logfile;
SQL> checkpoint(100);
SQL> BACKUP ARCHIVE LOG BACKUPSET ‘/dm8/data/backup/ARCH_BAK_03’;
恢复测试:
[dmdba@DMP bin]$ ./dmrman
dmrman V8
RMAN> restore database ‘/dm8/data/dmdb/dm.ini’ from backupset ‘/dm8/data/backup/BACKUP_FILE_04’;
RMAN> recover database ‘/dm8/data/dmdb/dm.ini’ from backupset ‘/dm8/data/backup/BACKUP_FILE_04’;
RMAN> RESTORE ARCHIVE LOG FROM BACKUPSET ‘/dm8/data/backup/ARCH_BAK_03’ to ARCHIVEDIR ‘/dm8/data/archive’;
RMAN> RECOVER DATABASE ‘/dm8/data/dmdb/dm.ini’ WITH ARCHIVEDIR ‘/dm8/data/archive’;
RMAN> RECOVER DATABASE ‘/dm8/data/dmdb/dm.ini’ UPDATE DB_MAGIC;
[dmdba@DMP bin]$ ./DmServicedmdb start
Starting DmServicedmdb: [ OK ]
SQL> select count() from test;
select count() from test;
第1 行附近出现错误[-2106]:无效的表或视图名[TEST].
已用时间: 0.722(毫秒). 执行号:0.
恢复到test有数据:
[dmdba@DMP bin]$ ./dmrman
dmrman V8
RMAN> restore database ‘/dm8/data/dmdb/dm.ini’ from backupset ‘/dm8/data/backup/BACKUP_FILE_04’;
RMAN> recover database ‘/dm8/data/dmdb/dm.ini’ from backupset ‘/dm8/data/backup/BACKUP_FILE_04’;
RMAN> RECOVER DATABASE ‘/dm8/data/dmdb/dm.ini’ UPDATE DB_MAGIC;
SQL> select count(*) from test;
行号 COUNT(*)
1 67
已用时间: 3.764(毫秒). 执行号:500.
文章
阅读量
获赞