注册
统计信息备份还原及统计信息导入
专栏/技术分享/ 文章详情 /

统计信息备份还原及统计信息导入

雪松 2026/02/27 188 0 0
摘要

统计信息备份还原 统计信息导入
0、重建系统包:sp_create_system_packages(1);
1、测试统计信息还原--新建舞台表
dbms_Stats.create_STAT_table(‘SYSDBA’, ‘TABLE001’);
----删除舞台表--
dbms_stats.drop_STAT_table (‘SYSDBA’, ‘TABLE001’);
2、
--查看用户下的统计信息数量
select count () from stat_TABLE001; 备份统计信息使用CMDS用户登陆188数据库,执行下面备份语句 BEGIN FOR RS IN (SELECT OWNER,TABLE_NAME FROM DBA_TABLES WHERE OWNER='CMDS') LOOP dbms_stats.EXPORT_TABLE_STATS(rs.owner,rs.table_name,stattab=>'TABLE001',statid => 'T1_202108161020'); END LOOP; END; --查看用户下的统计信息数量 select count (*) from stat_TABLE001;
3、导出统计信息表
./dexp userid=SYSDBA/SYSDBA directory=/data/BACKUP FILE=CMDS0731.dmp log=DEXP.log tables=SYSDBA.‘STAT$_TABLE001’
4、目的端库
测试统计信息还原
--新建舞台表
dbms_Stats.create_STAT_table (‘SYSDBA’,‘TABLE001’);
--查看用户下的统计信息数量
select count (
) from stats_TABLE001 where statid=‘T1_202108161020’;
将导出的dmp包上传到新数据库服务器上,执行下面命令导入到dmp数据新库建统计信息导入表
./dimp userid=SYSDBA/SYSDBA file=/data/BACKUP/CMDS0731.dmp TABLE_EXISTS_ACTION=REPLACE
--重建系统包:sp_create_system_packages(1)还原统计信息(如果是用替换bin目录的方式升级后的数据库需要重建系统包)
5、还原统计信息
declare
BEGIN
FOR RS IN
(
SELECT OWNER,TABLE_NAME FROM DBA_TABLES WHERE OWNER=‘CMDS’ order by 2
)
LOOP
begin
dbms_stats.IMPORT_TABLE_STATS(rs.owner,rs.table_name, stattab=>‘TABLE001’, statid => ‘T1_202108161020’);
exception
when others then
print (‘TABLE_NAME:’ || rs.table_name);
print ('code: ’ || sqlcode) ;
print ('errm: ’ || sqlerrm) ;
null;
end;
END LOOP;
END;

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服