<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
>
<channel>
<title><![CDATA[运维知识库]]></title> 
<atom:link href="https://www.oame2024.cn/rss.php" rel="self" type="application/rss+xml" />
<description><![CDATA[KnowledgeBase For Operating and Mantence]]></description>
<link>https://www.oame2024.cn/</link>
<language>zh-cn</language>

<item>
    <title>Oracle官网登录收不到手机验证码的解决办法（重置MFA）</title>
    <link>https://www.oame2024.cn/?post=63</link>
    <description><![CDATA[<p>手机验证码收不到了怎么办？</p>
<p>按我下面提供的办法联系在线客服重置MFA，然后重新设置成邮箱登录。</p>
<blockquote>
<h4>下面的截图是官方回复的邮件</h4>
<p>邮件是我在官网留言后官方给的回复，你们只需要直接按照下面的步骤操作就可以了。<br />
<img src="https://www.oame2024.cn/content/uploadfile/202609/a2c31788847175.png" alt="" /></p>
</blockquote>
<h2>重置MFA的操作步骤</h2>
<h4>1. 打开官网</h4>
<p>点击右侧的Chat now按钮，弹出对话框。<br />
<img src="https://www.oame2024.cn/content/uploadfile/202609/6d811788847361.png" alt="" /><br />
点击Get Support按钮。<br />
<img src="https://www.oame2024.cn/content/uploadfile/202609/beec1788847217.png" alt="" /></p>
<h4>2. 依次点击Chat中的选项</h4>
<p><img src="https://www.oame2024.cn/content/uploadfile/202609/818e1788847234.png" alt="" /><img src="https://www.oame2024.cn/content/uploadfile/202609/e2a51788847246.png" alt="" /></p>
<p><img src="https://www.oame2024.cn/content/uploadfile/202609/f1951788848283.png" alt="" /><img src="https://www.oame2024.cn/content/uploadfile/202609/955d1788847265.png" alt="" /></p>
<p><img src="https://www.oame2024.cn/content/uploadfile/202609/4fcf1788847269.png" alt="" /></p>
<h4>3. 点击Chat with a lice agent直接连接在线客服。</h4>
<p>排队等待一会儿，客服就会连线了。</p>
<p><img src="https://www.oame2024.cn/content/uploadfile/202609/9b8e1788847278.png" alt="" /><img src="https://www.oame2024.cn/content/uploadfile/202609/f4561788848369.png" alt="" /></p>
<h4>4. 输入你要获取的帮助</h4>
<p>发送请求重置MFA给客服，找个翻译软件把中文翻译成英文粘进去。</p>
<p>内容写：请求协助重置自己账号的MFA，客服会要求你提供一些信息（账号、手机号等信息）做验证，把要求提供的信息直接翻译后发给客服就行了。</p>
<h4>5. 登录账号重新设置MFA</h4>
<p>账号MFA重置后，首次登录会让你重新设置，把设置改成邮箱就可以了。</p>]]></description>
    <pubDate>Tue, 08 Sep 2026 13:32:47 +0800</pubDate>
    <dc:creator>orange3</dc:creator>
    <guid>https://www.oame2024.cn/?post=63</guid>
</item>
<item>
    <title>H3C SecPath F1030 防火墙 HA联动路由主备模式</title>
    <link>https://www.oame2024.cn/?post=62</link>
    <description><![CDATA[<h2>HA联动路由主备举例</h2>
<ol>
<li>
<h2>方案简介</h2>
<p>在两台路由的上下行接口配置动态路由（如OSPF），双机热备功能通过RBM技术实现。</p>
</li>
</ol>
<p><img src="https://www.oame2024.cn/content/uploadfile/202608/1e021786430499.png" alt="" /><img src="assets/image-20260618134145-qkyvrvl.png" alt="image" /></p>
<p>此方案正常情况下，同一时间只需要一台设备处理业务，另一台不处理业务。</p>
<p>当正在处理业务的设备或其链路故障后，流量平滑到对端设备继续处理，保证业务不中断。</p>
<h4>出现链路故障后</h4>
<p><img src="https://www.oame2024.cn/content/uploadfile/202608/aaa51786430516.png" alt="" />   <img src="assets/image-20260618134246-xmd8rky.png" alt="image" /></p>
<p>另一台设备身份变成Active，链路切换至DeviceB。</p>
<p><img src="https://www.oame2024.cn/content/uploadfile/202608/bd131786430526.png" alt="" />   <img src="assets/image-20260618134523-163uvyt.png" alt="image" /></p>
<ol start="2">
<li>
<h2>配置指南</h2>
<p>如图所示，为提高业务稳定性，使用两台设备进行HA组网，同一时间只需要其中一台设备处理业务。</p>
</li>
</ol>
<p><img src="https://www.oame2024.cn/content/uploadfile/202608/56b21786430546.png" alt="" />   <img src="assets/image-20260618135133-s6qns03.png" alt="image" /></p>
<ul>
<li>
<h4>Step01：配置接口及路由</h4>
<p>在两台设备上分别配置接口IP地址及安全域，并配置路由保证网络路由可达。</p>
</li>
</ul>
<p><img src="https://www.oame2024.cn/content/uploadfile/202608/9c8a1786430558.png" alt="" />     <img src="assets/image-20260618135330-xycc1re.png" alt="image" /></p>
<pre><code> 因为设备默认放行HA通道上的HA报文，因此HA通道上的接口不需要加入安全域。</code></pre>
<ul>
<li>
<h4>Step2：配置安全策略</h4>
<p>在主管理设备DeviceA上，创建Trust安全域与Untrust安全域之间的安全策略，允许所需的业务报文通过设备。</p>
<blockquote>
<p>[!TIP]<br />
从管理设备DeviceB上不需要配置此安全策略，HA通道建立后，主管理设备会自动向从管理设备同步安全策略。</p>
</blockquote>
</li>
<li>
<h4>Step03：配置双机热备</h4>
<p>在两台设备上配置双机热备功能，使两台设备形成双机热备组网，提高网络稳定性。</p>
</li>
<li>
<h4>Step04：配置HA联动路由</h4>
<p>在两台设备上配置HA，调整路由协议开销值功能，实现HA对路由协议哦开销值的统一管理和流量引导。</p>
</li>
<li>
<h4>Step05：其他配置</h4>
<ul>
<li>在运营商网络的接入Router上，将去往内网流量的下一跳设置为RouterA上行接口的IP地址。</li>
<li>将内网Host的默认网关设置为RouterB下行接口的IP地址。</li>
</ul>
</li>
</ul>
<p><img src="https://www.oame2024.cn/content/uploadfile/202608/2e571786430577.png" alt="" />     <img src="assets/image-20260618140803-at60yfa.png" alt="image" /></p>
<ul>
<li>
<h4>Step06：验证配置结果</h4>
<p>以上配置完成后，若HA通道的心跳状态为正常，则说明HA联动路由的主备组网配置成功。</p>
</li>
</ul>
<ol start="3">
<li>
<h2>配置步骤-<strong>主管理设备DeviceA</strong></h2>
<p><strong>下面演示具体配置步骤。</strong></p>
<ul>
<li>
<h4>Step01：配置接口及安全域</h4>
</li>
</ul>
</li>
</ol>
<p><img src="https://www.oame2024.cn/content/uploadfile/202608/b0bb1786430597.png" alt="" />     <img src="assets/image-20260618141121-lov2rsx.png" alt="image" />：</p>
<p><img src="https://www.oame2024.cn/content/uploadfile/202608/2d691786430610.png" alt="" />     <img src="assets/image-20260618141200-fa45n1p.png" alt="image" /></p>
<ul>
<li>
<h4>Step02：配置OSPF路由</h4>
</li>
</ul>
<p><img src="https://www.oame2024.cn/content/uploadfile/202608/56f11786430631.png" alt="" />     <img src="assets/image-20260618142410-tr1dxp9.png" alt="image" /></p>
<p><img src="https://www.oame2024.cn/content/uploadfile/202608/d10a1786430643.png" alt="" />     <img src="assets/image-20260618142458-e0z5mss.png" alt="image" /></p>
<ul>
<li>
<h4>Step03：配置安全策略</h4>
</li>
</ul>
<p><img src="https://www.oame2024.cn/content/uploadfile/202608/f43b1786430653.png" alt="" />     <img src="assets/image-20260618142644-8wgvlhk.png" alt="image" /></p>
<pre><code> **Trust-Untrust策略**</code></pre>
<p><img src="https://www.oame2024.cn/content/uploadfile/202608/fafa1786430667.png" alt="" />     <img src="assets/image-20260618142708-oog457r.png" alt="image" /></p>
<pre><code> **OSPF路由策略**</code></pre>
<p><img src="https://www.oame2024.cn/content/uploadfile/202608/61fe1786430695.png" alt="" />     <img src="assets/image-20260618142804-yxa9zhs.png" alt="image" /></p>
<ul>
<li>
<h4>Step04：配置Track冗余组</h4>
</li>
</ul>
<p><img src="https://www.oame2024.cn/content/uploadfile/202608/88671786430708.png" alt="" />     <img src="assets/image-20260618143114-njdbg2b.png" alt="image" /></p>
<ul>
<li>
<h4>Step05：配置双机热备</h4>
<p>开启双机热备，RBM运行模式选择主备模式管理角色设置主管理设备，设置本端IP地址及对端IP地址，设置数据通道，设置心跳间隔及心跳失效阈值，开启主动抢占及流量回切延迟时间。</p>
</li>
</ul>
<p><img src="https://www.oame2024.cn/content/uploadfile/202608/78841786430721.png" alt="" />     <img src="assets/image-20260618143324-orsza04.png" alt="image" /></p>
<pre><code> **开启配置信息一致性检查和自动同步配置**</code></pre>
<p><img src="https://www.oame2024.cn/content/uploadfile/202608/e47d1786430742.png" alt="" />     <img src="assets/image-20260618143411-27xlqvt.png" alt="image" /></p>
<pre><code> **配置监控项**</code></pre>
<p><img src="https://www.oame2024.cn/content/uploadfile/202608/00de1786430757.png" alt="" />     <img src="assets/image-20260618143901-bg8f6y4.png" alt="image" /></p>
<pre><code> **配置路由联动**

 将cost值调大，确保上下行流量被引流到主设备上进行处理。还能保证当设备或链路出现故障后，上下行流量都能平移到对端设备上进行处理。</code></pre>
<p><img src="https://www.oame2024.cn/content/uploadfile/202608/7a161786430776.png" alt="" />     <img src="assets/image-20260618143951-w711epq.png" alt="image" /></p>
<ol start="4">
<li>
<h1>配置步骤-主管理设备DeviceA</h1>
<p><strong>下面演示具体配置步骤。</strong></p>
<ul>
<li>
<h4>Step01：配置接口</h4>
</li>
</ul>
</li>
</ol>
<p><img src="https://www.oame2024.cn/content/uploadfile/202608/84a31786430877.png" alt="" />     <img src="assets/image-20260618144446-wz9f40l.png" alt="image" /></p>
<ul>
<li>
<h4>Step02：配置路由</h4>
</li>
</ul>
<p><img src="https://www.oame2024.cn/content/uploadfile/202608/77af1786430888.png" alt="" />     <img src="assets/image-20260618144524-qplbzlc.png" alt="image" /></p>
<p><img src="https://www.oame2024.cn/content/uploadfile/202608/9e391786430901.png" alt="" />     <img src="assets/image-20260618144549-eyi6pfe.png" alt="image" /></p>
<ul>
<li>
<h4>Step03：配置Track</h4>
</li>
</ul>
<p><img src="https://www.oame2024.cn/content/uploadfile/202608/13aa1786430914.png" alt="" />     <img src="assets/image-20260618144641-js8mh3b.png" alt="image" /></p>
<ul>
<li>
<h4>Step04：配置双机热备</h4>
</li>
</ul>
<p><img src="https://www.oame2024.cn/content/uploadfile/202608/371c1786430925.png" alt="" />     <img src="assets/image-20260618144805-qf02jbj.png" alt="image" /></p>
<p><img src="https://www.oame2024.cn/content/uploadfile/202608/ab361786430935.png" alt="" />     <img src="assets/image-20260618144857-9fmiztn.png" alt="image" /></p>
<p><img src="https://www.oame2024.cn/content/uploadfile/202608/51811786430945.png" alt="" />     <img src="assets/image-20260618144923-63cx6j1.png" alt="image" /></p>
<p><img src="https://www.oame2024.cn/content/uploadfile/202608/c7f21786430955.png" alt="" />     <img src="assets/image-20260618145045-mvcctyh.png" alt="image" /></p>]]></description>
    <pubDate>Tue, 11 Aug 2026 14:39:57 +0800</pubDate>
    <dc:creator>orange3</dc:creator>
    <guid>https://www.oame2024.cn/?post=62</guid>
</item>
<item>
    <title>华为交换机常用巡检+模板</title>
    <link>https://www.oame2024.cn/?post=59</link>
    <description><![CDATA[<h4>巡检命令</h4>
<p>关闭分页显示：</p>
<pre><code class="language-bash">screen-length disable</code></pre>
<h4>设备信息</h4>
<p>查看系统版本：</p>
<pre><code class="language-bash">display version</code></pre>
<p>查看硬件及板卡状态：</p>
<pre><code class="language-bash">dis device</code></pre>
<p>查看硬件序列号：</p>
<pre><code class="language-bash">display device manuinfo</code></pre>
<p>查看硬件详细信息：</p>
<pre><code class="language-bash">display device verbose</code></pre>
<h4>设备状态信息</h4>
<p>查看系统时间：</p>
<pre><code class="language-bash">display clock</code></pre>
<pre><code class="language-bash">display cpu-usage</code></pre>
<pre><code class="language-bash">display cpu-usage history</code></pre>
<pre><code class="language-bash">display memory summary</code></pre>
<p>查看风扇状态:</p>
<pre><code class="language-bash">display fan</code></pre>
<p>查看电源状态:</p>
<pre><code class="language-bash">display power-supply</code></pre>
<p>查看电源:</p>
<pre><code class="language-bash">display power</code></pre>
<p>查看温度:</p>
<pre><code class="language-bash">display environment</code></pre>
<p>查看所有接口简要状态：</p>
<pre><code class="language-bash">display interface brief</code></pre>
<p>查看UP状态的接口：</p>
<pre><code class="language-bash">display interface brief | include up</code></pre>
<p>查看接口描述总览：</p>
<pre><code class="language-bash">display interface description</code></pre>
<p>查看UP接口 | 列表显示：</p>
<pre><code class="language-bash">dis int brief | include UP</code></pre>
<p>端口UP描述 | 列表显示：</p>
<pre><code class="language-bash">display interface brief description | include UP</code></pre>
<p>查看接口带宽使用率：</p>
<pre><code class="language-bash">dis interface link-info | include UP</code></pre>
<p>查看包统计inbound：</p>
<pre><code class="language-bash">dis counters inbound interface</code></pre>
<p>查看接口光功率：</p>
<pre><code class="language-bash">dis transceiver diagnosis interface</code></pre>
<h4>堆叠信息</h4>
<pre><code class="language-bash">display irf</code></pre>
<pre><code class="language-bash">display irf link</code></pre>
<pre><code class="language-bash">display irf configuration</code></pre>
<pre><code class="language-bash">display irf topology</code></pre>
<h4>附录一：巡检命令速查表</h4>
<table>
<thead>
<tr>
<th>巡检类别</th>
<th>命令</th>
<th>主要用途</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>基础信息</strong></td>
<td><code>display clock</code></td>
<td>查看系统时间</td>
</tr>
<tr>
<td>-</td>
<td><code>display version</code></td>
<td>查看软件版本、运行时间</td>
</tr>
<tr>
<td>-</td>
<td><code>display device</code></td>
<td>查看硬件及单板状态</td>
</tr>
<tr>
<td>-</td>
<td><code>display device manuinfo</code></td>
<td>查看序列号</td>
</tr>
<tr>
<td><strong>硬件状态</strong></td>
<td><code>display environment</code></td>
<td>查看温度传感器</td>
</tr>
<tr>
<td>-</td>
<td><code>display fan</code></td>
<td>查看风扇状态</td>
</tr>
<tr>
<td>-</td>
<td><code>display power</code></td>
<td>查看电源状态</td>
</tr>
<tr>
<td><strong>接口状态</strong></td>
<td><code>display interface brief</code></td>
<td>查看接口简要状态</td>
</tr>
<tr>
<td>-</td>
<td><code>display interface Gi1/0/1</code></td>
<td>查看接口详细信息</td>
</tr>
<tr>
<td>-</td>
<td><code>display counters error</code></td>
<td>查看接口错包统计</td>
</tr>
<tr>
<td>-</td>
<td><code>display transceiver diagnosis</code></td>
<td>查看光模块光功率</td>
</tr>
<tr>
<td><strong>系统资源</strong></td>
<td><code>display cpu-usage</code></td>
<td>查看CPU使用率</td>
</tr>
<tr>
<td>-</td>
<td><code>display memory</code></td>
<td>查看内存使用率</td>
</tr>
<tr>
<td>-</td>
<td><code>display dir</code></td>
<td>查看存储空间</td>
</tr>
<tr>
<td><strong>高可用性</strong></td>
<td><code>display irf</code></td>
<td>查看IRF成员信息</td>
</tr>
<tr>
<td>-</td>
<td><code>display irf topology</code></td>
<td>查看IRF拓扑</td>
</tr>
<tr>
<td>-</td>
<td><code>display link-aggregation summary</code></td>
<td>查看链路聚合</td>
</tr>
<tr>
<td>-</td>
<td><code>display stp brief</code></td>
<td>查看生成树状态</td>
</tr>
<tr>
<td>-</td>
<td><code>display vrrp brief</code></td>
<td>查看VRRP状态</td>
</tr>
<tr>
<td><strong>路由转发</strong></td>
<td><code>display ip routing-table</code></td>
<td>查看路由表</td>
</tr>
<tr>
<td>-</td>
<td><code>display arp</code></td>
<td>查看ARP表</td>
</tr>
<tr>
<td>-</td>
<td><code>display mac-address</code></td>
<td>查看MAC地址表</td>
</tr>
<tr>
<td>-</td>
<td><code>display ospf peer</code></td>
<td>查看OSPF邻居</td>
</tr>
<tr>
<td>-</td>
<td><code>display bgp peer</code></td>
<td>查看BGP邻居</td>
</tr>
<tr>
<td><strong>配置日志</strong></td>
<td><code>display current-configuration</code></td>
<td>查看当前配置</td>
</tr>
<tr>
<td>-</td>
<td><code>display saved-configuration</code></td>
<td>查看保存配置</td>
</tr>
<tr>
<td>-</td>
<td><code>display logbuffer</code></td>
<td>查看系统日志</td>
</tr>
<tr>
<td>-</td>
<td><code>display alarm</code></td>
<td>查看告警信息</td>
</tr>
<tr>
<td><strong>安全检查</strong></td>
<td><code>display users</code></td>
<td>查看在线用户</td>
</tr>
<tr>
<td>-</td>
<td><code>display acl all</code></td>
<td>查看ACL配置</td>
</tr>
<tr>
<td><strong>网络发现</strong></td>
<td><code>display lldp neighbor-information</code></td>
<td>查看LLDP邻居</td>
</tr>
</tbody>
</table>
<h4>附录二：巡检记录表（模板）</h4>
<table>
<thead>
<tr>
<th>日期</th>
<th>设备名称</th>
<th>巡检人</th>
<th>项目</th>
<th>状态</th>
<th>异常描述</th>
<th>处理情况</th>
</tr>
</thead>
<tbody>
<tr>
<td>YYYY-MM-DD</td>
<td>核心交换机A</td>
<td>XXX</td>
<td>系统版本</td>
<td>✅ 正常</td>
<td>—</td>
<td>—</td>
</tr>
<tr>
<td>运行时间</td>
<td>✅ 正常（XX天）</td>
<td>—</td>
<td>—</td>
<td>—</td>
<td>—</td>
<td>—</td>
</tr>
<tr>
<td>CPU使用率</td>
<td>✅ 正常（XX%）</td>
<td>—</td>
<td>—</td>
<td>—</td>
<td>—</td>
<td>—</td>
</tr>
<tr>
<td>内存使用率</td>
<td>✅ 正常（XX%）</td>
<td>—</td>
<td>—</td>
<td>—</td>
<td>—</td>
<td>—</td>
</tr>
<tr>
<td>温度传感器</td>
<td>✅ 正常（XX℃）</td>
<td>—</td>
<td>—</td>
<td>—</td>
<td>—</td>
<td>—</td>
</tr>
<tr>
<td>风扇状态</td>
<td>✅ 正常</td>
<td>—</td>
<td>—</td>
<td>—</td>
<td>—</td>
<td>—</td>
</tr>
<tr>
<td>电源状态</td>
<td>✅ 正常</td>
<td>—</td>
<td>—</td>
<td>—</td>
<td>—</td>
<td>—</td>
</tr>
<tr>
<td>IRF堆叠</td>
<td>✅ 正常</td>
<td>—</td>
<td>—</td>
<td>—</td>
<td>—</td>
<td>—</td>
</tr>
<tr>
<td>接口错误</td>
<td>✅ 无错包</td>
<td>—</td>
<td>—</td>
<td>—</td>
<td>—</td>
<td>—</td>
</tr>
<tr>
<td>系统日志</td>
<td>⚠️ 警告</td>
<td>端口XX存在CRC错误</td>
<td>已排查链路</td>
<td>—</td>
<td>—</td>
<td>—</td>
</tr>
<tr>
<td>配置一致性</td>
<td>✅ 一致</td>
<td>—</td>
<td>—</td>
<td>—</td>
<td>—</td>
<td>—</td>
</tr>
</tbody>
</table>]]></description>
    <pubDate>Tue, 04 Aug 2026 14:41:10 +0800</pubDate>
    <dc:creator>orange3</dc:creator>
    <guid>https://www.oame2024.cn/?post=59</guid>
</item>
<item>
    <title>3. Oracle安全检查</title>
    <link>https://www.oame2024.cn/?post=58</link>
    <description><![CDATA[<h1>3. 安全检查</h1>
<h4>3.1 检查拥有DBA权限的用户</h4>
<pre><code class="language-sql">SELECT grantee, granted_role, admin_option, default_role 
FROM dba_role_privs
WHERE granted_role = 'DBA'
ORDER BY grantee;

--WINDOWS ORACLE11G
SELECT grantee, granted_role, admin_option, default_role FROM dba_role_privs WHERE granted_role = 'DBA'ORDER BY grantee;</code></pre>
<h4>3.2 检查拥有SYSDBA权限的用户</h4>
<pre><code class="language-sql">SELECT username, sysdba, sysoper
FROM v$pwfile_users
WHERE sysdba = 'TRUE'
ORDER BY username;

--WINDOWS ORACLE11G
SELECT username, sysdba, sysoper FROM v$pwfile_users WHERE sysdba = 'TRUE' ORDER BY username;</code></pre>
<h4>3.3 备份检查</h4>
<ul>
<li>
<h5><span data-type="text" style="color: var(--b3-font-color8);">归档日志检查</span></h5>
<ul>
<li><strong>检查归档日志是否已备份</strong></li>
</ul>
<pre><code class="language-SQL">-- 查看未备份的归档日志数量
SELECT COUNT(*) AS unbacked_archivelogs
 FROM v$archived_log
 WHERE backup_count = 0;</code></pre>
<ul>
<li><strong>检查归档日志备份的连续性</strong></li>
</ul>
<pre><code class="language-SQL">-- 检查最近备份的归档日志范围
SELECT MIN(sequence#) AS min_seq, MAX(sequence#) AS max_seq
FROM v$backup_redolog;</code></pre>
</li>
<li>
<h5><span data-type="text" style="color: var(--b3-font-color8);">RMAN 备份检查</span></h5>
<ul>
<li><strong>检查最近7天的备份记录</strong></li>
</ul>
<pre><code class="language-sql">SELECT session_key, input_type, status, start_time, end_time, 
       ROUND(elapsed_seconds/60,2) AS duration_min, 
       input_bytes/1024/1024/1024 AS input_gb, 
       output_bytes/1024/1024/1024 AS output_gb
FROM v$rman_backup_job_details
WHERE start_time &gt; SYSDATE - 7
ORDER BY start_time DESC;</code></pre>
<ul>
<li><strong>检查备份集中是否包含必要的文件</strong></li>
</ul>
<pre><code class="language-sql">19C版本
SELECT recid, bs_key, bp_key, handle, media, file_type,
       ROUND(bytes/1024/1024,2) AS mb
FROM v$backup_piece
ORDER BY recid DESC;</code></pre>
</li>
</ul>
<h5>3.4 数据库启动时间</h5>
<pre><code class="language-sql">SELECT startup_time FROM v$instance;</code></pre>
<p>‍</p>]]></description>
    <pubDate>Tue, 04 Aug 2026 14:15:56 +0800</pubDate>
    <dc:creator>orange3</dc:creator>
    <guid>https://www.oame2024.cn/?post=58</guid>
</item>
<item>
    <title>常用运维命令</title>
    <link>https://www.oame2024.cn/?post=57</link>
    <description><![CDATA[<h3>Linux常用命令</h3>
<h4>1.查看日志</h4>
<ol>
<li><a href="https://www.oame2024.cn/?post=22" title="journal日志">查看 <code>journal</code> 日志</a></li>
<li><a href="https://www.oame2024.cn/?post=23" title="查看message日志">查看 <code>message</code> 日志</a></li>
<li><a href="https://www.oame2024.cn/?post=24" title="查看dmesg日志">查看 <code>dmesg</code> 日志</a></li>
</ol>
<h4>2.文件操作</h4>
<ol start="4">
<li><a href="https://www.oame2024.cn/?post=27" title="批量删除文件">批量删除文件</a></li>
<li><a href="https://www.oame2024.cn/?post=26" title="查找大文件">查找大文件</a></li>
<li><a href="https://www.oame2024.cn/?post=25" title="查找大目录">查找大目录</a></li>
<li><a href="https://www.oame2024.cn/?post=29" title="find常用命令"><code>find</code> 常用命令</a> </li>
</ol>
<h3>Oracle常用命令</h3>
<ol start="0">
<li><a href="https://www.oame2024.cn/?post=49" title="数据库日常巡检脚本">数据库日常巡检脚本</a></li>
<li><a href="https://www.oame2024.cn/?post=33" title="数据库常见检查项">数据库常见检查项</a></li>
<li><a href="https://www.oame2024.cn/?post=34" title="数据库性能综合检查">数据库性能综合检查</a></li>
<li><a href="https://www.oame2024.cn/?post=58" title="数据库安全检查">数据库安全检查</a></li>
<li><a href="https://www.oame2024.cn/?post=56" title="数据库表空间检查">数据库表空间检查</a></li>
</ol>
<h3>交换机防火墙</h3>
<ol>
<li><a href="https://www.oame2024.cn/?post=59" title="华为交换机巡检命令">华为交换机巡检命令</a></li>
</ol>]]></description>
    <pubDate>Tue, 04 Aug 2026 14:06:53 +0800</pubDate>
    <dc:creator>orange3</dc:creator>
    <guid>https://www.oame2024.cn/?post=57</guid>
</item>
<item>
    <title>4.1 Oracle表空间检查11g</title>
    <link>https://www.oame2024.cn/?post=54</link>
    <description><![CDATA[<h1>1. 表空间检查</h1>
<p>Oracle 表空间检查是数据库日常运维的核心任务，确保存储空间充足、性能稳定。以下从多个维度给出检查方法、SQL 脚本及处理建议。</p>
<h2>一、表空间总体使用率</h2>
<h3>1. 查询所有表空间的使用率（11g+）</h3>
<pre><code class="language-sql">SELECT tablespace_name,
       ROUND(used_space * 100 / tablespace_size, 2) AS used_pct,
       ROUND(tablespace_size / 1024 / 1024, 2) AS size_mb,
       ROUND(used_space / 1024 / 1024, 2) AS used_mb,
       ROUND((tablespace_size - used_space) / 1024 / 1024, 2) AS free_mb
FROM dba_tablespace_usage_metrics
ORDER BY used_pct DESC;</code></pre>
<p><strong>说明</strong>：该视图仅统计已分配的数据文件空间，不包含自动扩展的潜在空间。</p>
<h3>2. 传统方法（兼容所有版本）</h3>
<pre><code class="language-sql">SELECT df.tablespace_name,
       ROUND((df.total_bytes - NVL(fs.free_bytes, 0)) / df.total_bytes * 100, 2) AS used_pct,
       ROUND(df.total_bytes / 1048576, 2) AS size_mb,
       ROUND((df.total_bytes - NVL(fs.free_bytes, 0)) / 1048576, 2) AS used_mb,
       ROUND(NVL(fs.free_bytes, 0) / 1048576, 2) AS free_mb
FROM (SELECT tablespace_name, SUM(bytes) total_bytes
      FROM dba_data_files
      GROUP BY tablespace_name) df,
     (SELECT tablespace_name, SUM(bytes) free_bytes
      FROM dba_free_space
      GROUP BY tablespace_name) fs
WHERE df.tablespace_name = fs.tablespace_name(+)
ORDER BY used_pct DESC;</code></pre>
<h2>二、数据文件详细信息（含自动扩展）</h2>
<pre><code class="language-sql">SELECT file_id, tablespace_name, file_name,
       ROUND(bytes / 1024 / 1024, 2) AS size_mb,
       ROUND(maxbytes / 1024 / 1024, 2) AS max_mb,
       autoextensible,
       ROUND((bytes - NVL(free_bytes, 0)) / 1024 / 1024, 2) AS used_mb
FROM dba_data_files d,
     (SELECT file_id, SUM(bytes) free_bytes FROM dba_free_space GROUP BY file_id) f
WHERE d.file_id = f.file_id(+);</code></pre>
<p><strong>关注点</strong>：</p>
<ul>
<li><code>autoextensible = 'YES'</code>​ 表示允许自动扩展，但需确保 <code>max_mb</code> 足够大。</li>
<li>若多个数据文件接近满且无法自动扩展，需立即添加或扩展。</li>
</ul>
<h2>三、临时表空间检查</h2>
<h3>1. 临时文件信息</h3>
<pre><code class="language-sql">SELECT tablespace_name, file_name,
       ROUND(bytes / 1024 / 1024, 2) AS size_mb,
       autoextensible,
       ROUND(maxbytes / 1024 / 1024, 2) AS max_mb
FROM dba_temp_files;</code></pre>
<h3>2. 临时表空间当前使用情况（近似）</h3>
<pre><code class="language-sql">SELECT tablespace_name,
       ROUND(SUM(bytes_used) / SUM(bytes_allocated) * 100, 2) AS used_pct
FROM v$temp_space_header
GROUP BY tablespace_name;</code></pre>
<ul>
<li>若 <code>used_pct</code> 长期 &gt; 90%，可能需增大临时表空间或优化 SQL。</li>
</ul>
<h2>四、Undo 表空间监控</h2>
<pre><code class="language-sql">11G：

SELECT tablespace_name,
       ROUND(SUM(bytes) / 1024 / 1024, 2) AS total_mb,
       ROUND(SUM(NVL(used_bytes, 0)) / 1024 / 1024, 2) AS used_mb,
       ROUND(SUM(NVL(used_bytes, 0)) / SUM(bytes) * 100, 2) AS used_pct
FROM dba_undo_extents
GROUP BY tablespace_name;

19C：

SELECT tablespace_name,
       ROUND(SUM(bytes_used) / (SUM(bytes_used) + SUM(bytes_free)) * 100, 2) AS used_pct
FROM v$temp_space_header
GROUP BY tablespace_name;</code></pre>
<ul>
<li>若 <code>used_pct</code> 持续 &gt; 90%，可能存在长事务或 Undo 表空间配置不足。</li>
</ul>
<h2>五、快速恢复区（FRA）检查</h2>
<p>如果使用 <code>DB_RECOVERY_FILE_DEST</code>，需监控空间：</p>
<pre><code class="language-sql">SELECT name,
       ROUND(space_limit / 1024 / 1024, 2) AS limit_mb,
       ROUND(space_used / 1024 / 1024, 2) AS used_mb,
       ROUND(space_used / space_limit * 100, 2) AS used_pct
FROM v$recovery_file_dest;</code></pre>
<ul>
<li>使用率超过 85% 时应及时清理（RMAN 删除过期归档/备份）。</li>
</ul>
<h2>六、表空间 I/O 性能（可选）</h2>
<p>查看表空间级的 I/O 统计（需 <code>STATISTICS_LEVEL = TYPICAL</code>）：</p>
<pre><code class="language-sql">SELECT tablespace_name,
       ROUND(SUM(phyblkrd) / DECODE(SUM(phyblkwrt), 0, 1, SUM(phyblkwrt)), 2) AS read_write_ratio
FROM v$filestat fs, dba_data_files df
WHERE fs.file# = df.file_id
GROUP BY tablespace_name;</code></pre>
<h2>七、常见问题与处理建议</h2>
<table>
<thead>
<tr>
<th>问题</th>
<th>检查方法</th>
<th>处理措施</th>
</tr>
</thead>
<tbody>
<tr>
<td>表空间使用率 ≥ 90%</td>
<td>使用率查询</td>
<td>添加数据文件：<code>ALTER TABLESPACE ... ADD DATAFILE ... SIZE 1G AUTOEXTEND ON</code>​；或扩展现有文件：<code>ALTER DATABASE DATAFILE ... RESIZE 2G</code></td>
</tr>
<tr>
<td>临时表空间不足</td>
<td><code>v$temp_space_header</code></td>
<td>增加临时文件：<code>ALTER TABLESPACE temp ADD TEMPFILE ... SIZE 1G</code></td>
</tr>
<tr>
<td>Undo 表空间高水位</td>
<td><code>dba_undo_extents</code></td>
<td>检查长事务，适当增加 Undo 表空间大小</td>
</tr>
<tr>
<td>FRA 空间满</td>
<td><code>v$recovery_file_dest</code></td>
<td>使用 RMAN 删除过期备份：<code>DELETE OBSOLETE</code>；或增加 FRA 大小</td>
</tr>
<tr>
<td>数据文件无法扩展</td>
<td><code>dba_data_files</code>​ 的 <code>maxbytes</code> 限制</td>
<td>修改 MAXSIZE：<code>ALTER DATABASE DATAFILE ... AUTOEXTEND ON MAXSIZE 32G</code> 或添加新文件</td>
</tr>
<tr>
<td>表空间碎片（高水位线过高）</td>
<td><code>dba_tables</code>​ 的 <code>blocks</code>​ 与 <code>empty_blocks</code></td>
<td>使用 <code>SHRINK SPACE</code>​ 或 <code>MOVE</code> 重组表</td>
</tr>
</tbody>
</table>
<h2>八、一键巡检脚本（11g 兼容）</h2>
<p>将以下 SQL 保存为 <code>tablespace_check.sql</code>​，在 SQL*Plus 中执行 <code>@tablespace_check</code>：</p>
<p>sql</p>
<pre><code>set pages 100 lines 200
col tablespace_name for a20
col file_name for a50

prompt === 1. 表空间使用率（Top 10） ===
select * from (
  select tablespace_name,
         round(used_space*100/tablespace_size,2) used_pct,
         round(tablespace_size/1024/1024,2) size_mb,
         round(used_space/1024/1024,2) used_mb
  from dba_tablespace_usage_metrics
  order by used_pct desc
) where rownum &lt;= 10;

prompt === 2. 数据文件与自动扩展 ===
select file_id, tablespace_name, file_name,
       round(bytes/1024/1024,2) size_mb,
       autoextensible, round(maxbytes/1024/1024,2) max_mb
from dba_data_files
order by tablespace_name, file_id;

prompt === 3. 临时文件信息 ===
select tablespace_name, file_name,
       round(bytes/1024/1024,2) size_mb,
       autoextensible, round(maxbytes/1024/1024,2) max_mb
from dba_temp_files;

prompt === 4. Undo 表空间使用 ===
select tablespace_name,
       round(sum(bytes)/1024/1024,2) total_mb,
       round(sum(nvl(used_bytes,0))/1024/1024,2) used_mb,
       round(sum(nvl(used_bytes,0))/sum(bytes)*100,2) used_pct
from dba_undo_extents
group by tablespace_name;

prompt === 5. FRA 使用率（如配置） ===
select name, round(space_limit/1024/1024,2) limit_mb,
       round(space_used/1024/1024,2) used_mb,
       round(space_used/space_limit*100,2) used_pct
from v$recovery_file_dest;</code></pre>
<p>执行后可快速获取所有关键表空间信息。建议将此巡检纳入每日自动化监控，及时发现并处理空间问题。</p>]]></description>
    <pubDate>Tue, 04 Aug 2026 13:58:04 +0800</pubDate>
    <dc:creator>orange3</dc:creator>
    <guid>https://www.oame2024.cn/?post=54</guid>
</item>
<item>
    <title>4. Oracle表空间检查</title>
    <link>https://www.oame2024.cn/?post=56</link>
    <description><![CDATA[<h1>4. 表空间检查</h1>
<ul>
<li>
<h5><span data-type="text" style="color: var(--b3-font-color8);">查询所有表空间的使用率</span></h5>
<pre><code class="language-sql">SELECT df.tablespace_name,
     ROUND((df.total_bytes - NVL(fs.free_bytes, 0)) / df.total_bytes * 100, 2) AS used_pct,
     ROUND(df.total_bytes / 1048576, 2) AS size_mb,
     ROUND((df.total_bytes - NVL(fs.free_bytes, 0)) / 1048576, 2) AS used_mb,
     ROUND(NVL(fs.free_bytes, 0) / 1048576, 2) AS free_mb
FROM (SELECT tablespace_name, SUM(bytes) total_bytes
    FROM dba_data_files
    GROUP BY tablespace_name) df,
   (SELECT tablespace_name, SUM(bytes) free_bytes
    FROM dba_free_space
    GROUP BY tablespace_name) fs
WHERE df.tablespace_name = fs.tablespace_name(+)
ORDER BY used_pct DESC;</code></pre>
<p><strong>==注意事项==</strong></p>
<ol>
<li><strong>不包括临时表空间</strong>​：<code>DBA_FREE_SPACE</code>​ 不包含临时表空间的空间信息，临时表空间应查询 <code>DBA_TEMP_FILES</code>​ 和 <code>V$TEMP_SPACE_HEADER</code>。</li>
<li><strong>不包含大文件表空间 (Bigfile) 的扩展潜力</strong>​：仅统计当前数据文件分配的大小，未考虑 <code>AUTOEXTEND</code> 的剩余上限。</li>
<li><strong>空闲空间可能包含可回收的碎片</strong>​：<code>DBA_FREE_SPACE</code> 统计的是完全空闲的 extent，但表空间内部可能因碎片而无法分配大 extent（查询未反映该问题）。</li>
</ol>
</li>
<li>
<h5><span data-type="text" style="color: var(--b3-font-color8);">表空间使用率（Top 10）</span>==不准确==</h5>
<pre><code class="language-sql">select * from (
select tablespace_name,
       round(used_space*100/tablespace_size,2) used_pct,
       round(tablespace_size/1024/1024,2) size_mb,
       round(used_space/1024/1024,2) used_mb
from dba_tablespace_usage_metrics
order by used_pct desc
) where rownum &lt;= 10;</code></pre>
</li>
<li>
<h5><span data-type="text" style="color: var(--b3-font-color8);">数据文件与自动扩展</span></h5>
<pre><code class="language-sql">select file_id, tablespace_name, file_name,
     round(bytes/1024/1024,2) size_mb,
     autoextensible, round(maxbytes/1024/1024,2) max_mb
from dba_data_files
order by tablespace_name, file_id;</code></pre>
</li>
<li>
<h5><span data-type="text" style="color: var(--b3-font-color8);">临时文件扩展</span></h5>
<pre><code class="language-sql">select tablespace_name, file_name,
     round(bytes/1024/1024,2) size_mb,
     autoextensible, round(maxbytes/1024/1024,2) max_mb
from dba_temp_files;</code></pre>
</li>
<li>
<h4><strong>UNDO表空间检查</strong></h4>
<ul>
<li>
<h5><span data-type="text" style="color: var(--b3-font-color8);">查看UNDO区状态与使用率</span></h5>
</li>
</ul>
<pre><code class="language-sql">SELECT TABLESPACE_NAME, STATUS, COUNT(*) AS EXTENT_COUNT,
       ROUND(SUM(BYTES) / 1024 / 1024, 2) AS SIZE_MB,
       ROUND(SUM(BYTES) / SUM(SUM(BYTES)) OVER (PARTITION BY TABLESPACE_NAME) * 100, 2) AS PCT
FROM DBA_UNDO_EXTENTS
GROUP BY TABLESPACE_NAME, STATUS
ORDER BY TABLESPACE_NAME, STATUS;</code></pre>
<blockquote>
<ul>
<li>
<p><strong>​<code>ACTIVE</code>​</strong>​：当前被活跃事务所使用，​<strong>不可覆盖</strong>，是空间压力的主要来源。</p>
</li>
<li>
<p><strong>​<code>UNEXPIRED</code>​</strong>​：事务已提交，但保留时间未超过 <code>UNDO_RETENTION</code>​ 设置，​<strong>通常不可覆盖</strong>。</p>
</li>
<li>
<p><strong>​<code>EXPIRED</code>​</strong>​：事务已提交，且保留时间已超过 <code>UNDO_RETENTION</code>​ 设置，​<strong>可以被覆盖重用</strong>。</p>
</li>
<li>
<h5><span data-type="text" style="color: var(--b3-font-color8);">计算 Undo 表空间实际使用率</span></h5>
</li>
</ul>
</blockquote>
<pre><code class="language-sql">SELECT round(((SELECT (NVL(SUM(bytes), 0))
               FROM dba_undo_extents
               WHERE tablespace_name = (select value from v$parameter where lower(name) = 'undo_tablespace')
                 AND status IN ('ACTIVE', 'UNEXPIRED')) * 100) /
              (SELECT SUM(bytes) FROM dba_data_files
               WHERE tablespace_name = (select value from v$parameter where lower(name) = 'undo_tablespace')), 2) AS PCT_INUSE
FROM dual;</code></pre>
<ul>
<li>
<p>计算 <code>ACTIVE</code>​ 和 <code>UNEXPIRED</code> 状态的区占整个 Undo 表空间的比例。</p>
</li>
<li>
<h5><span data-type="text" style="color: var(--b3-font-color8);">查找长时间运行的 Undo 事务</span></h5>
</li>
</ul>
<pre><code class="language-sql">SELECT s.sid, s.username, s.program, t.name AS undo_segment_name,
       t.used_ublk * (SELECT value/1024/1024 FROM v$parameter WHERE name='db_block_size') AS undo_mb,
       t.start_time, t.status
FROM v$transaction t, v$session s
WHERE t.addr = s.taddr(+)
ORDER BY t.used_ublk DESC;</code></pre>
<ul>
<li>如果 <code>ACTIVE</code> 区占用过高，说明有长事务。使用下面的查询找出这些会话</li>
</ul>
<p>‍</p>
</li>
</ul>]]></description>
    <pubDate>Tue, 04 Aug 2026 13:56:56 +0800</pubDate>
    <dc:creator>orange3</dc:creator>
    <guid>https://www.oame2024.cn/?post=56</guid>
</item>
<item>
    <title>1.1 Oracle数据库版本及补丁</title>
    <link>https://www.oame2024.cn/?post=55</link>
    <description><![CDATA[<h1>1.1 数据库版本及补丁</h1>
<h3>系统下查询</h3>
<pre><code class="language-sql">[oracle@hostname ~]$ sqlplus -v

SQL*Plus: Release 11.2.0.1.0 Production

[oracle@lxmes ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Wed Apr 1 08:42:43 2026

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options</code></pre>
<h3>数据库内查询</h3>
<pre><code class="language-sql">SQL&gt; SELECT * FROM v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE    11.2.0.1.0  Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production</code></pre>]]></description>
    <pubDate>Tue, 04 Aug 2026 13:45:49 +0800</pubDate>
    <dc:creator>orange3</dc:creator>
    <guid>https://www.oame2024.cn/?post=55</guid>
</item>
<item>
    <title>3.4 Oracle数据库启动时间</title>
    <link>https://www.oame2024.cn/?post=53</link>
    <description><![CDATA[<p>查看 Oracle 数据库启动时间最直接的方法是查询 <code>V$INSTANCE</code> 视图：</p>
<pre><code>SELECT startup_time FROM v$instance;</code></pre>
<p>输出示例：</p>
<pre><code>STARTUP_TIME
-------------------
2024-03-01 10:15:23</code></pre>
<p>如果需要更详细的启动信息（如启动参数、耗时等），可以查询 <code>V$PARAMETER</code>​ 结合 <code>V$INSTANCE</code>，或查看 alert 日志中 &quot;Starting ORACLE instance&quot; 的时间。</p>
<h3>其他方法</h3>
<ol>
<li>
<p><strong>通过 alert 日志</strong><br />
查看实例最后一次启动的时间：</p>
<pre><code>grep "Starting ORACLE instance" $ORACLE_BASE/diag/rdbms/*/*/trace/alert_*.log | tail -1</code></pre>
</li>
<li>
<p><strong>使用</strong>  <strong>​<code>V$DATABASE</code>​</strong>​  <strong>的</strong>  <strong>​<code>CREATED</code>​</strong>（不准确，表示数据库创建时间，非实例启动）</p>
<pre><code>SELECT created FROM v$database;</code></pre>
</li>
<li>
<p><strong>系统级记录（如</strong>  <strong>​<code>ps</code>​</strong>​  <strong>进程）</strong><br />
查看 <code>pmon</code> 进程启动时间：</p>
<pre><code>ps -ef | grep ora_pmon | grep -v grep</code></pre>
</li>
</ol>
<p>建议在 SQL 中使用 <code>V$INSTANCE</code>，它直接反映了当前数据库实例的启动时间点。</p>]]></description>
    <pubDate>Tue, 04 Aug 2026 13:39:18 +0800</pubDate>
    <dc:creator>orange3</dc:creator>
    <guid>https://www.oame2024.cn/?post=53</guid>
</item>
<item>
    <title>3.3 Oracle备份检查</title>
    <link>https://www.oame2024.cn/?post=52</link>
    <description><![CDATA[<p>Oracle 数据库备份检查是确保数据可恢复性的核心环节。以下是系统的备份检查方法，涵盖 RMAN、数据泵（expdp）、归档日志及备份验证等方面。</p>
<h2>一、RMAN 备份检查</h2>
<h3>1. 检查最近的备份记录</h3>
<pre><code class="language-sql">-- 查询最近的备份集（全库、数据文件、归档日志等）
SELECT session_key, input_type, status, start_time, end_time, 
       ROUND(elapsed_seconds/60,2) AS duration_min, 
       input_bytes/1024/1024/1024 AS input_gb, 
       output_bytes/1024/1024/1024 AS output_gb
 FROM v$rman_backup_job_details
 WHERE start_time &gt; SYSDATE - 7
 ORDER BY start_time DESC;</code></pre>
<ul>
<li><code>status</code>​：<code>COMPLETED</code>​ 表示成功，<code>FAILED</code> 表示失败。</li>
<li><code>input_type</code>​：<code>DB FULL</code>​（全库）、<code>DATAFILE FULL</code>​（数据文件全备）、<code>ARCHIVELOG</code>（归档日志备份）。</li>
</ul>
<h3>2. 检查备份集中是否包含必要的文件</h3>
<pre><code class="language-sql">-- 查看备份集中的数据文件、控制文件、参数文件
SELECT recid, bs_key, bp_key, handle, media, file_type, 
       ROUND(bytes/1024/1024,2) AS mb
FROM v$backup_piece
ORDER BY recid DESC;</code></pre>
<h3>3. 检查备份是否完整</h3>
<pre><code class="language-sql">-- 查看最后一次全库备份的SCN
SELECT MAX(completion_time) AS last_full_backup, 
       checkpoint_change# AS scn
 FROM v$backup_set
 WHERE input_type = 'DB FULL'
  AND status = 'A'
 GROUP BY checkpoint_change#;</code></pre>
<h3>4. 检查控制文件和参数文件的自动备份</h3>
<pre><code class="language-sql">-- 查询控制文件自动备份记录
SELECT name, status, completion_time
 FROM v$autobackup
 ORDER BY completion_time DESC;</code></pre>
<h3>5. 验证备份集是否可用（不实际恢复）</h3>
<pre><code># 使用 RMAN 验证备份
RMAN&gt; RESTORE DATABASE PREVIEW;
RMAN&gt; VALIDATE BACKUPSET &lt;backupset_key&gt;;</code></pre>
<h2>二、数据泵（expdp）备份检查</h2>
<h3>1. 检查数据泵导出作业日志</h3>
<pre><code class="language-sql">-- 查看最近的导出作业
SELECT job_name, operation, job_mode, state, 
       attached_sessions, start_time, end_time
FROM dba_datapump_jobs
ORDER BY start_time DESC;</code></pre>
<h3>2. 检查导出文件是否存在及大小</h3>
<pre><code># 在操作系统层面查看文件
ls -lh /backup/expdp/*.dmp</code></pre>
<h3>3. 验证导出文件完整性</h3>
<pre><code># 使用 impdp 的 SQLFILE 参数验证（不实际导入）
impdp directory=DATA_PUMP_DIR dumpfile=expfull.dmp sqlfile=check.sql</code></pre>
<h2>三、归档日志备份检查</h2>
<h3>1. 检查归档日志是否已备份</h3>
<pre><code class="language-SQL">-- 查看未备份的归档日志数量
SELECT COUNT(*) AS unbacked_archivelogs
 FROM v$archived_log
 WHERE backup_count = 0;</code></pre>
<h3>2. 检查归档日志备份的连续性</h3>
<pre><code class="language-SQL">-- 检查最近备份的归档日志范围
SELECT MIN(sequence#) AS min_seq, MAX(sequence#) AS max_seq
 FROM v$backup_piece
 WHERE file_type = 'ARCHIVELOG';</code></pre>
<h2>四、备份完整性验证</h2>
<h3>1. 使用 RMAN 验证所有备份</h3>
<pre><code>RMAN&gt; RESTORE DATABASE VALIDATE;
RMAN&gt; RESTORE ARCHIVELOG ALL VALIDATE;</code></pre>
<h3>2. 检查备份是否过期</h3>
<pre><code>-- 查看备份保留策略
RMAN&gt; SHOW RETENTION POLICY;</code></pre>
<h3>3. 检查备份日志中的错误</h3>
<pre><code># 查看 RMAN 日志文件（通常位于 $ORACLE_BASE/diag/rdbms/*/*/trace/）
grep -i "error\|fail\|ORA-" rman.log</code></pre>
<h2>五、备份报告与告警</h2>
<h3>1. 使用 RMAN 生成备份报告</h3>
<pre><code>RMAN&gt; LIST BACKUP SUMMARY;
RMAN&gt; REPORT OBSOLETE;
RMAN&gt; REPORT UNRECOVERABLE;</code></pre>
<h3>2. 设置备份失败告警</h3>
<ul>
<li>监控 <code>v$rman_backup_job_details</code>​ 中 <code>status</code>​ 为 <code>FAILED</code> 的记录。</li>
<li>检查 <code>alert.log</code> 中备份相关错误。</li>
</ul>
<h2>六、恢复测试（关键）</h2>
<p>定期执行恢复演练是验证备份可用性的最佳方式：</p>
<ul>
<li>在测试环境恢复数据库到最新时间点（或指定时间）。</li>
<li>验证数据一致性（如通过 <code>dbv</code> 或业务逻辑）。</li>
<li>记录恢复耗时，优化备份策略。</li>
</ul>
<h2>七、备份检查脚本示例（SQL*Plus + RMAN）</h2>
<p>以下脚本可生成备份状态报告：</p>
<pre><code>-- 1. 最近3天备份成功率
SELECT TRUNC(start_time) day,
       COUNT(*) total,
       SUM(CASE WHEN status='COMPLETED' THEN 1 ELSE 0 END) completed,
       ROUND(100 * SUM(CASE WHEN status='COMPLETED' THEN 1 ELSE 0 END) / COUNT(*),2) success_pct
FROM v$rman_backup_job_details
WHERE start_time &gt; SYSDATE - 3
GROUP BY TRUNC(start_time);

-- 2. 未备份的归档日志数量
SELECT COUNT(*) unbacked_archivelogs FROM v$archived_log WHERE backup_count=0;

-- 3. 最后一次全备时间
SELECT MAX(completion_time) last_full_backup
FROM v$backup_set WHERE input_type='DB FULL' AND status='A';</code></pre>
<p>将以上输出纳入日常巡检报告。</p>
<h2>八、总结</h2>
<table>
<thead>
<tr>
<th>检查项</th>
<th>方法</th>
<th>频率</th>
</tr>
</thead>
<tbody>
<tr>
<td>备份记录</td>
<td><code>v$rman_backup_job_details</code></td>
<td>每日</td>
</tr>
<tr>
<td>归档日志备份完整性</td>
<td><code>v$archived_log</code>​ 的 <code>backup_count</code></td>
<td>每日</td>
</tr>
<tr>
<td>备份集有效性</td>
<td><code>RESTORE VALIDATE</code></td>
<td>每周</td>
</tr>
<tr>
<td>恢复演练</td>
<td>测试环境恢复</td>
<td>每月</td>
</tr>
<tr>
<td>备份日志错误</td>
<td>扫描日志文件</td>
<td>每日</td>
</tr>
</tbody>
</table>
<p>通过定期执行上述检查，可以确保在灾难发生时能够快速、完整地恢复数据。</p>]]></description>
    <pubDate>Tue, 04 Aug 2026 13:39:16 +0800</pubDate>
    <dc:creator>orange3</dc:creator>
    <guid>https://www.oame2024.cn/?post=52</guid>
</item>
</channel>
</rss>