(1) 检查确认数据库实例相关的各种路径,如数据库系统表空间初始路径、自定义添加表空间数据文件路径、归档路径、跟踪日志路径、备份作业备份路径、审计日志路径;
(2) 提前创建好预期更改后目录;
(3) 停止应用系统,对数据库进行备份;
(4) 数据库实例拷贝或移动到新目录;
(5) 根据前期路径检查情况,修改各种路径(数据库系统表空间初始路径、自定义添加表空间数据文件路径、归档路径、跟踪日志路径、备份作业备份路径、审计日志路径),涉及dm.ini、dmarch.ini、sqllog.ini、dm.ctl等文件;
(6) 重新注册数据库服务;
(7) 启动数据库服务,登录数据库检查确认路径修改情况;
(8) 连接数据库,修改备份作业路径情况。
DM v8 03134284368-20260306-316451-20149 Pack62 + Kylin 10 + x86_64
初始数据库实例目录为/data/dmdata 更改为/datas/dmdata
如果有用户表空间,新增不同路径数据文件 更改为/datas/dmdata
如果有归档,归档路径改为/datas/dmarch
如果有备份,备份路径改为/datas/dmbak
如果其它路径相关,都改为/datas/下
(1)安装部署初始数据库环境
select id_code,* from v$version;
(2)构造环境
–创建测试表空间
create tablespace TEST datafile ‘/datatest/test.dbf’ size 128 autoextend on maxsize 67108863 CACHE = NORMAL;
–创建测试用户
CREATE USER “TEST” IDENTIFIED BY HUN_admin2026 DEFAULT TABLESPACE “TEST” DEFAULT INDEX TABLESPACE “TEST”;
grant “RESOURCE”,“PUBLIC”,“VTI”,“SOI”,“SVI” to TEST;
grant CREATE SESSION to TEST;
–创建测试表及测试数据
create table test.test(id int,info varchar2(10),sjtime DATETIME);
insert into test.test values(1,‘test1’,now());
commit;
select * from test.test;
–开启归档
alter database mount;
alter database ARCHIVELOG;
ALTER DATABASE ADD ARCHIVELOG ‘DEST=/data/dmarch/DAMENG, TYPE=LOCAL, FILE_SIZE=2048, SPACE_LIMIT=102400’;
–开启全备、增量备份、删除备份作业、sql日志跟踪等
开启过程略
(3)数据库各种路径梳理检查
–参数文件中路径设置查询
select PARA_NAME,PARA_VALUE from v$dm_ini where PARA_NAME like ‘%PATH’;
–查看表空间与数据文件对应关系
select * from v$tablespace;
select * from v$huge_tablespace;
select * from v$datafile;
–检查归档文件路径
select arch_mode from v$database;
select arch_type,arch_dest,arch_file_size,arch_space_limit from v$dm_arch_ini;
–检查是否开启跟踪日志
select PARA_NAME,PARA_VALUE from v$dm_ini where PARA_NAME =‘SVR_LOG’;
[dmdba@192 ~]$ cat /data/dmdata/DAMENG/sqllog.ini
–检查是否开启审计及审计日志相关
[dmdba@192 ~]$ disql SYSAUDITOR/HUN_admin2026@localhost:5237
SELECT * FROM V$DM_INI WHERE PARA_NAME=‘ENABLE_AUDIT’;
select * from V$AUDIT_SPACE;
–检查备份作业文件路径
select * from SYSJOB.SYSJOBS;
select * from SYSJOB.SYSJOBSTEPS;
(4)数据库备份
关闭应用系统,数据库物理热备份;
停止数据库服务,数据库物理冷备份或者操作系统级别文件备份。
过程略
(5)创建目标目录与拷贝数据库实例目录到新目录
[root@192 ~]# mkdir /datas
[root@192 ~]# mkdir -p /datas/dmdata
[root@192 ~]# mkdir -p /datas/dmbak/
[root@192 ~]# chown -R dmdba:dinstall /datas
[root@192 ~]#su - dmdba
[dmdba@192 ~]$ cp -r /data/dmdata/DAMENG /datas/dmdata/
[dmdba@192 ~]$ cp -r /data/dmbak/DAMENG /datas/dmbak/
[dmdba@192 ~]$ cp -r /datatest/test.dbf /datas/dmdata/DAMENG/
(6)修改dm.ini文件中路径修改
vi /datas/dmdata/DAMENG/dm.ini
cat /datas/dmdata/DAMENG/dm.ini |grep PATH
–如果有开启审计,如果需要修改审计日志路径再 dm_ini中修改AUD_PATH值
AUD_PATH = /data/dmdata/DAMENG/aud_pathlog
(7)修改/datas/dmdata/DAMENG/sqllog.ini文件中配置
[dmdba@192 ~]$ vi /datas/dmdata/DAMENG/sqllog.ini
[dmdba@192 ~]$ cat /datas/dmdata/DAMENG/sqllog.ini
(8)修改/datas/dmdata/DAMENG/dmarch.ini归档路径配置
[dmdba@192 DAMENG]$ vi /datas/dmdata/DAMENG/dmarch.ini
[dmdba@192 DAMENG]$ cat /datas/dmdata/DAMENG/dmarch.ini
(9)修改控制文件中配置并检查确认
[dmdba@192 ~]$ dmctlcvt TYPE=1 SRC=/datas/dmdata/DAMENG/dm.ctl DEST=/datas/dmdata/DAMENG/dmctl.txt
[dmdba@192 ~]$ vi /datas/dmdata/DAMENG/dmctl.txt
[dmdba@192 ~]$ cat /datas/dmdata/DAMENG/dmctl.txt |grep data
[dmdba@192 ~]$ mv /datas/dmdata/DAMENG/dm.ctl /datas/dmdata/DAMENG/dm.ctlbak
[dmdba@192~]$dmctlcvt TYPE=2 SRC=/datas/dmdata/DAMENG/dmctl.txt DEST=/datas/dmdata/DAMENG/dm.ctl
(10)重新注册实例并启动数据库服务
##取消原数据库服务注册
bash /opt/dmdbms/script/root/dm_service_uninstaller.sh -n DmServiceDAMENG
##使用root用户新注册数据库服务
[root@]#bash /opt/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /datas/dmdata/DAMENG/dm.ini -p DAMENG
[root@]# systemctl enable DmServiceDAMENG.service
##启动数据库服务
[root@]# systemctl start DmServiceDAMENG.service
(11)登录数据库查询操作
[dmdba@192 ~]$ disql sysdba/HUN_admin2026@localhost:5237
–数据检查
select * from test.test;
–参数检查
select PARA_NAME,PARA_VALUE from v$dm_ini where PARA_NAME like ‘%PATH’;
–表空间路径检查
select * from v$datafile
–归档路径检查
select ARCH_TYPE,ARCH_DEST,ARCH_FILE_SIZE,ARCH_SPACE_LIMIT from v$dm_arch_ini;
–修改备份作业备份路径及检查
call SP_JOB_CONFIG_START(‘bak_full’);
call SP_ALTER_JOB_STEP_EX(‘bak_full’, ‘bak_full’, 6, ‘01000000/datas/dmbak/DAMENG/bak’, 3, 1, 0, 0, NULL, 0, ‘’);
call SP_ALTER_JOB_STEP_EX(‘bak_full’, ‘bak_del’, 0, ‘CALL SF_BAKSET_BACKUP_DIR_ADD(’‘DISK’’,’’/datas/dmbak/DAMENG/bak’’);
CALL SP_DB_BAKSET_REMOVE_BATCH(’‘DISK’’,NOW()-15);’, 1, 1, 0, 0, NULL, 0, ‘’);
call SP_JOB_CONFIG_COMMIT(‘bak_full’);
call SP_JOB_CONFIG_START(‘bak_inc’);
call SP_ALTER_JOB_STEP_EX(‘bak_inc’, ‘bak_inc’, 6, ‘11000000/data/dmbak/DAMENG/bak|/datas/dmbak/DAMENG/bak’, 1, 3, 2, 6, NULL, 0, ‘’);
call SP_ALTER_JOB_STEP_EX(‘bak_inc’, ‘switch_bak_full’, 6, ‘01000000/datas/dmbak/DAMENG/bak’, 1, 1, 0, 0, NULL, 0, ‘’);
call SP_JOB_CONFIG_COMMIT(‘bak_inc’);
select * from SYSJOB.SYSJOBS;
select * from SYSJOB.SYSJOBSTEPS;
文章
阅读量
获赞
