最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Oracle控制文件損壞的恢復方案

 更新時間:2025年10月20日 09:38:40   作者:施嘉偉  
本文介紹了將表空間TS_HX_SB_IDX、IDX_SSD_HX中的索引分批遷移至TS_SSD_IDX的流程及腳本編寫,預計用4個晚上完成,無需業(yè)務停機,并詳細說明了遷移前準備、腳本編寫及遷移后的檢查方法,需要的朋友可以參考下

一 說明

1.1 遷移說明

把表空間TS_HX_SB_IDX、IDX_SSD_HX中的全部索引遷移至表空間TS_SSD_IDX。

1.2 遷移流程

整體遷移流程:(因為索引量很大,需要分批進行遷移)

步驟流程計劃時間估算
1遷移用戶HX_YH、HX_RD、HX_JC、HX_PZ、HX_DJ、HX_ZM、HX_RD索引(無分區(qū))一個晚上
2遷移用戶HX_ZS索引(有分區(qū))一個晚上
3遷移用戶HX_SB索引(首先遷移分區(qū)索引(小索引)一節(jié)點上跑,非分區(qū)索引(小索引)二節(jié)點上跑)一個晚上
4遷移用戶HX_SB剩下的索引一個晚上

總結(jié)時間:4個晚上

總計花費業(yè)務停機時間:0

二 索引遷移詳細操作流程

2.1 前期準備

統(tǒng)計各個用戶在此兩表空間的索引量大小,以便計劃遷移。

SQL> select segment_type,sum(bytes)/1024/1024 m from dba_segments where owner='HX_SB' and tablespace_name in('TS_HX_SB_IDX','IDX_SSD_HX') group by segment_type;

SEGMENT_TYPE                M
------------------ ----------
INDEX               494088.25
INDEX PARTITION    236043.688

SQL> select segment_type,sum(bytes)/1024/1024 m from dba_segments where owner='HX_ZS' and tablespace_name in('TS_HX_SB_IDX','IDX_SSD_HX') group by segment_type;

SEGMENT_TYPE                M
------------------ ----------
INDEX                45650.75
INDEX PARTITION    99813.3125

SQL> select segment_type,sum(bytes)/1024/1024 m from dba_segments where owner='HX_RD' and tablespace_name in('TS_HX_SB_IDX','IDX_SSD_HX') group by segment_type;

SEGMENT_TYPE                M
------------------ ----------
INDEX               8373.6875

這些都沒有分區(qū):
單位(M)
HX_YH 50
HX_RD 8373.6875
HX_JC 4.0625
HX_PZ 640.4375
HX_DJ 3732
HX_ZM 39

綜上:計劃先遷移HX_RD、 HX_YH、HX_RD、HX_JC、HX_PZ、HX_DJ、HX_ZM這些用戶的索引,再遷移HX_ZS,最后分批遷移HX_SB索引。

2.2 撰寫遷移腳本(無分區(qū))

重建普通索引腳本:

su – oracle
sqlplus / as sysdba
set lin 400
set pagesize 0
spool /home/oracle/idx/hx_rd.sql
select 'alter index '||a.owner||'.'||a.index_name||' rebuild tablespace TS_SSD_IDX online parallel 4;' from dba_indexes a where a.owner='HX_RD' and not exists(select * from dba_part_indexes b where a.owner=b.owner and a.index_name=b.index_name) and tablespace_name in('TS_HX_SB_IDX','IDX_SSD_HX');
spool off;

修改parallel腳本:

su – oracle
sqlplus / as sysdba
set lin 400
set pagesize 0 
spool /home/oracle/idx/hx_rd_parallel.sql
select 'alter index '||a.owner||'.'||a.index_name||' noparallel;' from dba_indexes a where a.owner='HX_RD' and not exists(select * from dba_part_indexes b where a.owner=b.owner and a.index_name=b.index_name) and tablespace_name in('TS_HX_SB_IDX','IDX_SSD_HX');
spool off;

注意事項:

把hx_dr.sql和hx_rd_parallel.sql中無關(guān)信息刪除。(比如select ‘alter’…… 最后的33 rows selected),hx_rd.sql文件中只保留alter index hx_rd.index_name rebuild TS_SSD_IDX online parallel 4; hx_rd_parallel.sql文件中只保留 alter index hx_rd.index_name noparallel;即可。

最后撰寫hx_rd.sh腳本。

vi hx_rd.sh
[oracle@ljw sql]$ cat 2.sh
#!/bin/sh
sqlplus "/ as sysdba" <<EOF
host echo "*******************begin rebuild*****************",`date`
@idx/hx_rd.sql;
host echo "*******************end rebuild*******************",`date`
host echo "*******************begin noparalel***************",`date`
@hx_rd_parallel.sql;
host echo "*******************end noparalel*****************",`date`
EOF

2.3 撰寫遷移腳本(有分區(qū))

重建普通索引腳本:

su – oracle
sqlplus / as sysdba
set lin 400
set pagesize 0
spool /home/oracle/idx/hx_zs.sql
select 'alter index '||a.owner||'.'||a.index_name||' rebuild tablespace TS_SSD_IDX online parallel 4;' from dba_indexes a where a.owner='HX_ZS' and not exists(select * from dba_part_indexes b where a.owner=b.owner and a.index_name=b.index_name) and tablespace_name in('TS_HX_SB_IDX','IDX_SSD_HX');
spool off;

重建分區(qū)索引腳本:

su – oracle
sqlplus / as sysdba
set lin 400
set pagesize 0
spool /home/oracle/idx/hx_zs_part.sql
select 'alter index '||a.owner||'.'||a.index_name||' rebuild partition '||b.partition_name||' tablespace TS_SSD_IDX online parallel 4;' from dba_part_indexes a,dba_ind_partitions b where a.owner=b.index_owner and a.index_name=b.index_name and a.owner='HX_ZS' and tablespace_name in('TS_HX_SB_IDX','IDX_SSD_HX');
spool off;

修改普通索引parallel腳本:

su – oracle
sqlplus / as sysdba
set lin 400
set pagesize 0 
spool /home/oracle/idx/hx_zs_parallel.sql
select 'alter index '||a.owner||'.'||a.index_name||' noparallel;' from dba_indexes a where a.owner='HX_RD' and not exists(select * from dba_part_indexes b where a.owner=b.owner and a.index_name=b.index_name) and tablespace_name in('TS_HX_SB_IDX','IDX_SSD_HX');
spool off;

修改分區(qū)索引parallel腳本:

su – oracle
sqlplus / as sysdba
set lin 400
set pagesize 0 
spool /home/oracle/idx/hx_zs_part_parallel.sql
select 'alter index '||a.owner||'.'||a.index_name||' noparallel;' from dba_part_indexes a,dba_ind_partitions b where a.owner=b.index_owner and a.index_name=b.index_name and a.owner='HX_ZS' and tablespace_name in('TS_HX_SB_IDX','IDX_SSD_HX') group by a.owner,a.index_name;
spool off;

注意事項和前面一樣,刪除。sql中無關(guān)信息。

最后撰寫hx_rd.sh腳本。

vi hx_rd.sh

#!/bin/sh
sqlplus "/ as sysdba" <<EOF
host echo "*******************begin rebuild*****************",`date`
@idx/hx_zs.sql;
@hx_zs_part.sql;
host echo "*******************end rebuild*******************",`date`
host echo "*******************begin noparalel***************",`date`
@hx_zs_parallel.sql;
@hx_zs_part_parallel.sql;
host echo "*******************end noparalel*****************",`date`
EOF


2.4 執(zhí)行腳本

cd 到相應目錄下

nohup ./hx_rd.sh & 即可

2.5 檢查索引遷移成功與否

檢查源表空間中是否還存在索引:

select index_name,degree,tablespace_name from dba_indexes where owner='HX_RD' and tablespace_name in('TS_HX_SB_IDX','IDX_SSD_HX');

檢查遷移到的表空間中是否有索引:

select index_name,degree,tablespace_name from dba_indexes where owner='HX_RD' and tablespace_name in ('TS_SSD_IDX');

常用語句:

如:

查詢HX_SB用戶下普通索引的大小:

select segment_name,segment_type,bytes/1024/1024 m from dba_segments where owner='HX_SB' and tablespace_name in('TS_HX_SB_IDX','IDX_SSD_HX') and segment_type='INDEX' order by bytes;

查詢HX_SB用戶下分區(qū)索引的大?。?/p>

select segment_name,segment_type,partition_name,bytes/1024/1024 m from dba_segments where owner='HX_SB' and tablespace_name in('TS_HX_SB_IDX','IDX_SSD_HX') and segment_type='INDEX PARTITION' order by bytes;

到此這篇關(guān)于Oracle控制文件損壞的恢復方案的文章就介紹到這了,更多相關(guān)Oracle控制文件損壞內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

垦利县| 深泽县| 静宁县| 保山市| 德兴市| 曲靖市| 酒泉市| 永仁县| 酉阳| 乐山市| 偃师市| 镇康县| 泸定县| 荆州市| 扶余县| 融水| 贞丰县| 丰城市| 枞阳县| 留坝县| 岳池县| 枣庄市| 合水县| 咸宁市| 辽源市| 花垣县| 连江县| 旬阳县| 武穴市| 吉木萨尔县| 宣武区| 武定县| 交口县| 井冈山市| 彰化县| 西畴县| 兴化市| 筠连县| 沧州市| 抚远县| 漯河市|