1、锁定所有用户和查看授权文件信息
--批量生成锁定用户命令
select 'alter user "'||username||'" account lock;' from dba_users where username not in ('SYS','SYSSSO','SYSAUDITOR','SYSDBA');
查看key信息
select id_code(); #只查看小版本
select * from v$version; #大版本、小版本都查看
select * from v$instance; #大版本、小版本都查看
select series_no 序列号,expired_date 过期时间,authorized_customer 用户单位 from v$license;
2、数据库暂停正在执行的的作业,禁用作业
--检查数据库作业触发器是否正常
select j.name,o.name,o.VALID from SYSJOB.SYSJOBSCHEDULES d join SYSJOB.SYSJOBS j on d.JOBID=j.ID
left join sysobjects o on d.TRIGNAME=o.NAME;
--导出数据库作业
使用DM管理工具导出所有作业到文件
--停止正在运行的作业
select 'SP_STOP_RUNNING_JOB('||id||');' from sysjob.sysjobs;
--暂停所有作业
select 'SP_ENABLE_JOB('''||name||''',0);' from sysjob.sysjobs;
3、检查是否有存在活动会话和业务IP的连接
select * from v$sessions where state='ACTIVE';
select clnt_ip,count(1) from gV$sessions group by clnt_ip;
4、刷新检查点
SELECT CHECKPOINT(100);
5、切换归档
--查看归档
select status,arch_lsn,path from V$ARCH_FILE order by arch_lsn;
--切换归档
alter database archivelog current;
--查看归档切换情况
select status,arch_lsn,path from V$ARCH_FILE order by arch_lsn;
6、是否存在空间索引、函数索引
--查询空间索引的语句
select (SELECT NAME FROM SYSOBJECTS SS WHERE SS.ID=S.SCHID) SCH,
(SELECT NAME FROM SYSOBJECTS SS WHERE SS.ID=S.PID) TAB,NAME IDX from sysobjects s left join sysindexes idx on s.id=idx.id where s.subtype$='INDEX' AND idx.type$ ='ST';
--查询函数索引的语句
select * from all_indexes where index_type like '%FUNCTION-BASED%';
--查询inject注入
select * from SYSINJECTHINT;
结果集保存至TXT中
升级后进行重建
1.查看函数索引大小
SELECT 'SELECT INDEX_USED_SPACE('||OBJECT_ID||')*32/1024/1024.0 AS GB;' FROM DBA_OBJECTS A,ALL_INDEXES B WHERE A.OBJECT_NAME = B.INDEX_NAME AND B.INDEX_TYPE LIKE '%FUNCTION-BASED%';
--如果索引很大重建将会非常慢,需要与用户沟通是否能够进行重建
2.重建函数索引
select 'alter index "'||SCH||'"."'||IDX||'" rebuild;' from
(select (SELECT NAME FROM SYSOBJECTS SS WHERE SS.ID=S.SCHID) SCH,
(SELECT NAME FROM SYSOBJECTS SS WHERE SS.ID=S.PID) TAB,
NAME IDX
from sysobjects s
left join sysindexes idx
on s.id=idx.id
where s.subtype$='INDEX'
AND idx.type$ ='ST');
select 'alter index "'||owner||'"."'||index_name||'" rebuild;' from all_indexes where index_type like;
7、数据库全量备份
nohup ./disql SYSDBA/SYSDBA -e "BACKUP DATABASE FULL BACKUPSET '/backupstor/DB_FULL_BAK'" >> /home/dmdba/backup.log 2>&1 &su - dmdba
cd /dm/dmdbms/bin
./dmrman DCR_INI=/dm/dmdba/dmdbms/dsc_config/dmdcr.ini
##检查备份文件有效性
RMAN> check backupset '/backupstor/DB_FULL_BAK';
8、通过监视器停止实例
su - dmdba
cd /dm/dmdbms/bin
./dmcssm INI_PATH=/dm/dmdbms/bin/dmcssm.ini
通过监视器执行ep stop GRP_DSC关闭实例
9、停止剩余其他服务,两个节点服务都停止
su - dmdba
cd /dm/dmdbms/bin
./dmcssm INI_PATH=/dm/dmdbms/bin/dmcssm.ini
通过监视器执行ep stop GRP_ASM关闭实例
--检查数据对应服务是否存在异常
两个节点停止CSS服务
./DmCSSServiceCSS stop
停止监视器服务
./DmCSSMonitorServiceMonitor stop
停止ap服务
./ DmAPService stop
--集群停止完成后查看日志信息有无告警或报错
10、备份数据库bin目录,两个节点做同样的操作
su - dmdba cd /dm/dmdbms cp -r bin /home/dmdba mv bin binOLD20250519
11、将新版本bin文件拷贝至要升级的两台服务器下
--测试环境安装新版本镜像
mount dm8_20250428_x86_kylin10_64.iso /mnt/
cd /mnt
./DMInstall -i
--数据库安装完成后将bin目录拷贝至生产环境bin目录下
cd /tmp/DMInstall/source
cp -r bin /dm/dmdbms/bin
scp -r bin ip:/dm/dmdbms/bin
cd /dm/dmdbms
chown -R dmdba:dinstall bin
12、将原启动脚本拷贝至新bin目录下,两个节点做同样的操作
su - dmdba cd /dm/dmdbms/bin/ #替换CSS服务 cp /home/dmdba/bin/DmCSSServiceCSS /dm/dmdbms/bin/ #替换ASM服务 cp /home/dmdba/bin/DmASMSvrServiceASM /dm/dmdbms/bin/ #替换DSC服务 cp /home/dmdba/bin/DmServiceDSC /dm/dmdbms/bin/ #替换监视器 cp /home/dmdba/bin/DmCSSMonitorServiceMonitor /dm/dmdbms/bin/ #替换APS cp /home/dmdba/bin/DmAPService /dm/dmdbms/bin/ #复制监视器文件 cp /home/dmdba/bin/dmcssm.ini /dm/dmdbms/bin/
13、启动服务,两个节点同时启动
su - dmdba
cd /dm/dmdbms/bin/
#启动CSS服务,两个节点启动
./DmCSSServiceCSS start
#启动ASM服务,两个节点启动
./DmASMSvrServiceASM start
#启动DSC服务,两个节点启动
./DmServiceDSC start
#启动监视器
./DmCSSMonitorServiceMonitor start
#启动APS,两个节点启动
./DmAPService start
14、通过监视器查看数据库服务是否正常
su - dmdba cd /dm/dmdbms/bin/ ./dmcssm INI_PATH=/dm/dmdbms/bin/dmcssm.ini
15、检查数据库作业触发器是否正常
select j.name,o.name,o.VALID from SYSJOB.SYSJOBSCHEDULES d join SYSJOB.SYSJOBS j on d.JOBID=j.ID
left join sysobjects o on d.TRIGNAME=o.NAME;
查看存储类型
SELECT '字符数据类型' NAME, CASE VALUE WHEN 0 THEN 'BYTE' WHEN 1 THEN 'CHAR' end FROM v$parameter WHERE name = 'LENGTH_IN_CHAR';
16、重建系统包
SP_CREATE_SYSTEM_PACKAGES(0); SP_CREATE_SYSTEM_PACKAGES(1);
17、启用定时作业
select 'SP_ENABLE_JOB('''||name||''',1);' from sysjob.sysjobs;
18、解锁用户和查看授权文件
--批量生成解锁用户命令
select 'alter user "'||username||'" account unlock;' from dba_users where username not in ('SYS','SYSSSO','SYSAUDITOR','SYSDBA');
授权文件激活
sp_load_lic_info();
查看授权文件信息
select id_code(); #只查看小版本
select * from v$version; #大版本、小版本都查看
select * from v$instance; #大版本、小版本都查看
select series_no 序列号,expired_date 过期时间,authorized_customer 用户单位 from v$license;
文章
阅读量
获赞