# 02-Oracle测评命令

LLMS index: [llms.txt](/wikis/llms.txt)

---

Oracle数据库三级等级保护现场核查命令脚本（统一编号版）

适用范围：Oracle 11g/12c/19c

## 基础信息

```sql
show user;
select * from v$version;
select * from product_component_version;
select instance_name, instance_number from v$instance;
select name, log_mode from v$database;
```
- **备注**：用于确认数据库版本、实例状态、归档模式和当前连接身份。
- **预期证据**：版本截图、实例信息截图、数据库状态截图。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sql" data-lang="sql"><span class="line"><span class="cl"><span class="k">SQL</span><span class="o">&gt;</span><span class="w"> </span><span class="k">show</span><span class="w"> </span><span class="k">user</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="k">USER</span><span class="w"> </span><span class="k">is</span><span class="w"> </span><span class="s2">&#34;SYS&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="k">SQL</span><span class="o">&gt;</span><span class="w"> </span><span class="k">select</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">v$version</span><span class="p">;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="n">BANNER</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c1">--------------------------------------------------------------------------------
</span></span></span><span class="line"><span class="cl"><span class="n">Oracle</span><span class="w"> </span><span class="k">Database</span><span class="w"> </span><span class="mi">19</span><span class="k">c</span><span class="w"> </span><span class="n">Enterprise</span><span class="w"> </span><span class="n">Edition</span><span class="w"> </span><span class="n">Release</span><span class="w"> </span><span class="mi">19</span><span class="p">.</span><span class="mi">0</span><span class="p">.</span><span class="mi">0</span><span class="p">.</span><span class="mi">0</span><span class="p">.</span><span class="mi">0</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">Production</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="k">SQL</span><span class="o">&gt;</span><span class="w"> </span><span class="k">select</span><span class="w"> </span><span class="n">instance_name</span><span class="p">,</span><span class="w"> </span><span class="n">instance_number</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">v$instance</span><span class="p">;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="n">INSTANCE_NAME</span><span class="w">     </span><span class="n">INSTANCE_NUMBER</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c1">----------------  ---------------
</span></span></span><span class="line"><span class="cl"><span class="n">orcl</span><span class="w">                          </span><span class="mi">1</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="k">SQL</span><span class="o">&gt;</span><span class="w"> </span><span class="k">select</span><span class="w"> </span><span class="n">name</span><span class="p">,</span><span class="w"> </span><span class="n">log_mode</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">v$database</span><span class="p">;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="n">NAME</span><span class="w">      </span><span class="n">LOG_MODE</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c1">--------- ------------
</span></span></span><span class="line"><span class="cl"><span class="n">ORCL</span><span class="w">      </span><span class="n">ARCHIVELOG</span><span class="w">
</span></span></span></code></pre></div>
</details>



## 身份鉴别

### A. 身份标识唯一、口令复杂度、定期更换

```sql
select username, user_id, profile, account_status from dba_users order by username;
select profile, resource_name, limit from dba_profiles
```

where resource_name in ('PASSWORD_VERIFY_FUNCTION','PASSWORD_LIFE_TIME','PASSWORD_REUSE_TIME','PASSWORD_REUSE_MAX','PASSWORD_GRACE_TIME')

order by profile, resource_name;

- **备注**：重点看用户唯一性、口令复杂度函数、口令有效期和重用限制。
- **预期证据**：`dba_users` 查询截图、`dba_profiles` 口令策略截图、账号管理制度。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sql" data-lang="sql"><span class="line"><span class="cl"><span class="k">SQL</span><span class="o">&gt;</span><span class="w"> </span><span class="k">select</span><span class="w"> </span><span class="n">username</span><span class="p">,</span><span class="w"> </span><span class="n">account_status</span><span class="p">,</span><span class="w"> </span><span class="n">profile</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">dba_users</span><span class="w"> </span><span class="k">order</span><span class="w"> </span><span class="k">by</span><span class="w"> </span><span class="n">username</span><span class="p">;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="n">USERNAME</span><span class="w">          </span><span class="n">ACCOUNT_STATUS</span><span class="w">     </span><span class="n">PROFILE</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c1">----------------  -----------------  ----------
</span></span></span><span class="line"><span class="cl"><span class="n">APPUSER</span><span class="w">           </span><span class="k">OPEN</span><span class="w">               </span><span class="k">DEFAULT</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="n">AUDIT_ADMIN</span><span class="w">       </span><span class="k">OPEN</span><span class="w">               </span><span class="n">C__AUDIT</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="n">SYS</span><span class="w">               </span><span class="k">OPEN</span><span class="w">               </span><span class="k">DEFAULT</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="k">SYSTEM</span><span class="w">            </span><span class="k">OPEN</span><span class="w">               </span><span class="k">DEFAULT</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="k">SQL</span><span class="o">&gt;</span><span class="w"> </span><span class="k">select</span><span class="w"> </span><span class="n">profile</span><span class="p">,</span><span class="w"> </span><span class="n">resource_name</span><span class="p">,</span><span class="w"> </span><span class="k">limit</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">dba_profiles</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">  </span><span class="mi">2</span><span class="w">  </span><span class="k">where</span><span class="w"> </span><span class="n">resource_name</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;PASSWORD_VERIFY_FUNCTION&#39;</span><span class="p">,</span><span class="s1">&#39;PASSWORD_LIFE_TIME&#39;</span><span class="p">);</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="n">PROFILE</span><span class="w">    </span><span class="n">RESOURCE_NAME</span><span class="w">                </span><span class="k">LIMIT</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c1">---------- ---------------------------- --------
</span></span></span><span class="line"><span class="cl"><span class="k">DEFAULT</span><span class="w">    </span><span class="n">PASSWORD_LIFE_TIME</span><span class="w">           </span><span class="mi">90</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="k">DEFAULT</span><span class="w">    </span><span class="n">PASSWORD_VERIFY_FUNCTION</span><span class="w">     </span><span class="n">VERIFY_FUNCTION_11G</span><span class="w">
</span></span></span></code></pre></div>
</details>



### B. 登录失败处理、会话超时退出

```sql
select profile, resource_name, limit from dba_profiles
```

where resource_name in ('FAILED_LOGIN_ATTEMPTS', 'PASSWORD_LOCK_TIME', 'IDLE_TIME')

order by profile, resource_name;

- **备注**：重点看失败登录限制、锁定时间、空闲会话超时退出设置。
- **预期证据**：相关 profile 参数截图、会话管理制度、访谈记录。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sql" data-lang="sql"><span class="line"><span class="cl"><span class="k">SQL</span><span class="o">&gt;</span><span class="w"> </span><span class="k">select</span><span class="w"> </span><span class="n">profile</span><span class="p">,</span><span class="w"> </span><span class="n">resource_name</span><span class="p">,</span><span class="w"> </span><span class="k">limit</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">dba_profiles</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">  </span><span class="mi">2</span><span class="w">  </span><span class="k">where</span><span class="w"> </span><span class="n">resource_name</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;FAILED_LOGIN_ATTEMPTS&#39;</span><span class="p">,</span><span class="s1">&#39;PASSWORD_LOCK_TIME&#39;</span><span class="p">,</span><span class="s1">&#39;IDLE_TIME&#39;</span><span class="p">)</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">  </span><span class="mi">3</span><span class="w">  </span><span class="k">order</span><span class="w"> </span><span class="k">by</span><span class="w"> </span><span class="n">profile</span><span class="p">,</span><span class="w"> </span><span class="n">resource_name</span><span class="p">;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="n">PROFILE</span><span class="w">    </span><span class="n">RESOURCE_NAME</span><span class="w">                 </span><span class="k">LIMIT</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c1">---------- ----------------------------- ----------
</span></span></span><span class="line"><span class="cl"><span class="k">DEFAULT</span><span class="w">    </span><span class="n">FAILED_LOGIN_ATTEMPTS</span><span class="w">         </span><span class="mi">5</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="k">DEFAULT</span><span class="w">    </span><span class="n">IDLE_TIME</span><span class="w">                     </span><span class="mi">30</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="k">DEFAULT</span><span class="w">    </span><span class="n">PASSWORD_LOCK_TIME</span><span class="w">            </span><span class="mi">1</span><span class="w">
</span></span></span></code></pre></div>
</details>



### C. 远程管理传输保密

```sql
show parameter sqlnet.authentication_services
show parameter remote_login_passwordfile
show parameter ssl
```
- **备注**：应结合 `sqlnet.ora`、监听配置、证书与远程管理路径判断是否采用加密传输。
- **预期证据**：参数截图、`sqlnet.ora` 配置截图、监听与证书配置截图、堡垒机/远程管理链路说明。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sql" data-lang="sql"><span class="line"><span class="cl"><span class="k">SQL</span><span class="o">&gt;</span><span class="w"> </span><span class="k">show</span><span class="w"> </span><span class="k">parameter</span><span class="w"> </span><span class="n">sqlnet</span><span class="p">.</span><span class="n">authentication_services</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="n">NAME</span><span class="w">                                 </span><span class="k">TYPE</span><span class="w">        </span><span class="n">VALUE</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c1">------------------------------------ ----------- ------------------------------
</span></span></span><span class="line"><span class="cl"><span class="n">sqlnet</span><span class="p">.</span><span class="n">authentication_services</span><span class="w">       </span><span class="n">string</span><span class="w">      </span><span class="k">NONE</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="k">SQL</span><span class="o">&gt;</span><span class="w"> </span><span class="k">show</span><span class="w"> </span><span class="k">parameter</span><span class="w"> </span><span class="n">ssl</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="n">NAME</span><span class="w">                                 </span><span class="k">TYPE</span><span class="w">        </span><span class="n">VALUE</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c1">------------------------------------ ----------- ------------------------------
</span></span></span><span class="line"><span class="cl"><span class="n">ssl_cipher_suites</span><span class="w">                    </span><span class="n">string</span><span class="w">      </span><span class="p">...</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="n">ssl_version</span><span class="w">                          </span><span class="n">string</span><span class="w">      </span><span class="n">TLSv1</span><span class="p">.</span><span class="mi">2</span><span class="w">
</span></span></span></code></pre></div>
</details>



### D. 组合鉴别

- **备注**：Oracle 原生不一定直接体现双因素，需结合堡垒机、统一认证体系、MFA 平台综合判定。

- **预期证据**：双因素界面截图、统一认证策略截图、访谈记录。

## 访问控制

### A. 账户、角色、权限分配

```sql
select username, profile, account_status from dba_users order by username;
select * from dba_sys_privs where grantee in (select username from dba_users where account_status='OPEN');
select * from dba_role_privs;
```
- **备注**：重点核查账户状态、角色划分和高权限授权情况。
- **预期证据**：账户截图、系统权限截图、角色授权截图、岗位职责分工说明。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sql" data-lang="sql"><span class="line"><span class="cl"><span class="k">SQL</span><span class="o">&gt;</span><span class="w"> </span><span class="k">select</span><span class="w"> </span><span class="n">grantee</span><span class="p">,</span><span class="w"> </span><span class="n">privilege</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">dba_sys_privs</span><span class="w"> </span><span class="k">where</span><span class="w"> </span><span class="n">grantee</span><span class="o">=</span><span class="s1">&#39;APPUSER&#39;</span><span class="p">;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="n">GRANTEE</span><span class="w">                         </span><span class="n">PRIVILEGE</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c1">------------------------------- ----------------------------------------
</span></span></span><span class="line"><span class="cl"><span class="n">APPUSER</span><span class="w">                         </span><span class="k">CREATE</span><span class="w"> </span><span class="k">SESSION</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="n">APPUSER</span><span class="w">                         </span><span class="k">SELECT</span><span class="w"> </span><span class="k">ANY</span><span class="w"> </span><span class="k">TABLE</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="k">SQL</span><span class="o">&gt;</span><span class="w"> </span><span class="k">select</span><span class="w"> </span><span class="n">grantee</span><span class="p">,</span><span class="w"> </span><span class="n">granted_role</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">dba_role_privs</span><span class="w"> </span><span class="k">where</span><span class="w"> </span><span class="n">grantee</span><span class="o">=</span><span class="s1">&#39;APPUSER&#39;</span><span class="p">;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="n">GRANTEE</span><span class="w">              </span><span class="n">GRANTED_ROLE</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c1">-------------------- --------------------
</span></span></span><span class="line"><span class="cl"><span class="n">APPUSER</span><span class="w">              </span><span class="k">CONNECT</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="n">APPUSER</span><span class="w">              </span><span class="n">RESOURCE</span><span class="w">
</span></span></span></code></pre></div>
</details>



### B. 默认账户、多余账户、来源与高权限账户

```sql
select * from v$pwfile_users;
```
- **备注**：重点看 SYSDBA、SYSOPER、DBA 等高权限账户是否最小化，是否存在共享管理账户。
- **预期证据**：高权限账户截图、管理员台账、账号审批记录。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sql" data-lang="sql"><span class="line"><span class="cl"><span class="k">SQL</span><span class="o">&gt;</span><span class="w"> </span><span class="k">select</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">v$pwfile_users</span><span class="p">;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="n">USERNAME</span><span class="w">                       </span><span class="n">SYSDB</span><span class="w"> </span><span class="n">SYSOP</span><span class="w"> </span><span class="n">SYSAS</span><span class="w"> </span><span class="n">SYSBA</span><span class="w"> </span><span class="n">SYNDG</span><span class="w"> </span><span class="n">SYSRAC</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c1">------------------------------ ----- ----- ----- ----- ----- ------
</span></span></span><span class="line"><span class="cl"><span class="n">SYS</span><span class="w">                            </span><span class="k">TRUE</span><span class="w">  </span><span class="k">TRUE</span><span class="w">  </span><span class="k">FALSE</span><span class="w"> </span><span class="k">FALSE</span><span class="w"> </span><span class="k">FALSE</span><span class="w"> </span><span class="k">FALSE</span><span class="w">
</span></span></span></code></pre></div>
</details>



### C. 细粒度授权与最小权限

```sql
select * from dba_tab_privs;
select * from dba_col_privs;
```
- **备注**：重点抽查重要对象、敏感字段权限，确认是否符合最小权限原则。
- **预期证据**：对象权限截图、字段权限截图、抽查记录。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sql" data-lang="sql"><span class="line"><span class="cl"><span class="k">SQL</span><span class="o">&gt;</span><span class="w"> </span><span class="k">select</span><span class="w"> </span><span class="n">grantee</span><span class="p">,</span><span class="w"> </span><span class="k">owner</span><span class="p">,</span><span class="w"> </span><span class="k">table_name</span><span class="p">,</span><span class="w"> </span><span class="n">privilege</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">dba_tab_privs</span><span class="w"> </span><span class="k">where</span><span class="w"> </span><span class="n">rownum</span><span class="w"> </span><span class="o">&lt;=</span><span class="w"> </span><span class="mi">4</span><span class="p">;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="n">GRANTEE</span><span class="w">   </span><span class="k">OWNER</span><span class="w">     </span><span class="k">TABLE_NAME</span><span class="w">           </span><span class="n">PRIVILEGE</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c1">--------- --------- -------------------- ---------------
</span></span></span><span class="line"><span class="cl"><span class="n">REPORT</span><span class="w">    </span><span class="n">APPUSER</span><span class="w">   </span><span class="n">T_ORDER</span><span class="w">              </span><span class="k">SELECT</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="n">REPORT</span><span class="w">    </span><span class="n">APPUSER</span><span class="w">   </span><span class="n">T_CUSTOMER</span><span class="w">           </span><span class="k">SELECT</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="n">APPUSER</span><span class="w">   </span><span class="n">SYS</span><span class="w">       </span><span class="n">DBMS_CRYPTO</span><span class="w">          </span><span class="k">EXECUTE</span><span class="w">
</span></span></span></code></pre></div>
</details>



### D. 角色继承与特殊角色

```sql
select * from dba_role_privs;
```
- **备注**：重点说明角色继承链和特殊角色的授权范围。
- **预期证据**：角色继承截图、角色设计说明。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sql" data-lang="sql"><span class="line"><span class="cl"><span class="k">SQL</span><span class="o">&gt;</span><span class="w"> </span><span class="k">select</span><span class="w"> </span><span class="n">grantee</span><span class="p">,</span><span class="w"> </span><span class="n">granted_role</span><span class="p">,</span><span class="w"> </span><span class="n">admin_option</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">dba_role_privs</span><span class="w"> </span><span class="k">where</span><span class="w"> </span><span class="n">grantee</span><span class="o">=</span><span class="s1">&#39;APPUSER&#39;</span><span class="p">;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="n">GRANTEE</span><span class="w">              </span><span class="n">GRANTED_ROLE</span><span class="w">         </span><span class="n">ADM</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c1">-------------------- -------------------- ---
</span></span></span><span class="line"><span class="cl"><span class="n">APPUSER</span><span class="w">              </span><span class="k">CONNECT</span><span class="w">              </span><span class="k">NO</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="n">APPUSER</span><span class="w">              </span><span class="n">RESOURCE</span><span class="w">             </span><span class="k">NO</span><span class="w">
</span></span></span></code></pre></div>
</details>



## 安全审计

### A. 审计功能是否开启

```sql
show parameter audit_trail
show parameter audit_sys_operations
```
- **备注**：重点看数据库审计是否启用，系统级操作是否纳入审计。
- **预期证据**：参数截图、审计启用截图、制度要求。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sql" data-lang="sql"><span class="line"><span class="cl"><span class="k">SQL</span><span class="o">&gt;</span><span class="w"> </span><span class="k">show</span><span class="w"> </span><span class="k">parameter</span><span class="w"> </span><span class="n">audit_trail</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="n">NAME</span><span class="w">                                 </span><span class="k">TYPE</span><span class="w">        </span><span class="n">VALUE</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c1">------------------------------------ ----------- ------------------------------
</span></span></span><span class="line"><span class="cl"><span class="n">audit_trail</span><span class="w">                          </span><span class="n">string</span><span class="w">      </span><span class="n">DB</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="k">SQL</span><span class="o">&gt;</span><span class="w"> </span><span class="k">show</span><span class="w"> </span><span class="k">parameter</span><span class="w"> </span><span class="n">audit_sys_operations</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="n">NAME</span><span class="w">                                 </span><span class="k">TYPE</span><span class="w">        </span><span class="n">VALUE</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c1">------------------------------------ ----------- ------------------------------
</span></span></span><span class="line"><span class="cl"><span class="n">audit_sys_operations</span><span class="w">                 </span><span class="nb">boolean</span><span class="w">     </span><span class="k">TRUE</span><span class="w">
</span></span></span></code></pre></div>
</details>



### B. 审计范围与审计对象

```sql
select * from dba_stmt_audit_opts;
select * from dba_priv_audit_opts;
select * from dba_obj_audit_opts where owner in (select username from dba_users where account_status='OPEN');
```
- **备注**：重点看是否覆盖语句、权限、对象操作等关键事件。
- **预期证据**：审计策略截图、关键操作审计样例截图。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sql" data-lang="sql"><span class="line"><span class="cl"><span class="k">SQL</span><span class="o">&gt;</span><span class="w"> </span><span class="k">select</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">dba_stmt_audit_opts</span><span class="p">;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="n">USER_NAME</span><span class="w">             </span><span class="n">AUDIT_OPTION</span><span class="w">          </span><span class="n">SUCCESS</span><span class="w">    </span><span class="n">FAILURE</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c1">--------------------- --------------------- ---------- ----------
</span></span></span><span class="line"><span class="cl"><span class="w">                      </span><span class="k">CREATE</span><span class="w"> </span><span class="k">SESSION</span><span class="w">        </span><span class="k">BY</span><span class="w"> </span><span class="k">ACCESS</span><span class="w">  </span><span class="k">BY</span><span class="w"> </span><span class="k">ACCESS</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">                      </span><span class="k">ALTER</span><span class="w"> </span><span class="k">USER</span><span class="w">            </span><span class="k">BY</span><span class="w"> </span><span class="k">ACCESS</span><span class="w">  </span><span class="k">BY</span><span class="w"> </span><span class="k">ACCESS</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="k">SQL</span><span class="o">&gt;</span><span class="w"> </span><span class="k">select</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">dba_priv_audit_opts</span><span class="w"> </span><span class="k">where</span><span class="w"> </span><span class="n">rownum</span><span class="w"> </span><span class="o">&lt;=</span><span class="w"> </span><span class="mi">3</span><span class="p">;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="n">USER_NAME</span><span class="w">             </span><span class="n">PRIVILEGE</span><span class="w">             </span><span class="n">SUCCESS</span><span class="w">    </span><span class="n">FAILURE</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c1">--------------------- --------------------- ---------- ----------
</span></span></span><span class="line"><span class="cl"><span class="w">                      </span><span class="k">ALTER</span><span class="w"> </span><span class="k">ANY</span><span class="w"> </span><span class="k">TABLE</span><span class="w">       </span><span class="k">BY</span><span class="w"> </span><span class="k">ACCESS</span><span class="w">  </span><span class="k">BY</span><span class="w"> </span><span class="k">ACCESS</span><span class="w">
</span></span></span></code></pre></div>
</details>



### C. 审计日志保护与留存

```sql
select * from sys.aud$;
```
- **备注**：需结合操作系统、日志平台和制度，核查审计日志目录权限、留存周期和备份情况。
- **预期证据**：审计记录截图、日志目录权限截图、日志留存制度、备份策略。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sql" data-lang="sql"><span class="line"><span class="cl"><span class="k">SQL</span><span class="o">&gt;</span><span class="w"> </span><span class="k">select</span><span class="w"> </span><span class="n">sessionid</span><span class="p">,</span><span class="w"> </span><span class="n">userid</span><span class="p">,</span><span class="w"> </span><span class="n">action</span><span class="o">#</span><span class="p">,</span><span class="w"> </span><span class="k">timestamp</span><span class="o">#</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">sys</span><span class="p">.</span><span class="n">aud$</span><span class="w"> </span><span class="k">where</span><span class="w"> </span><span class="n">rownum</span><span class="w"> </span><span class="o">&lt;=</span><span class="w"> </span><span class="mi">3</span><span class="p">;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"> </span><span class="n">SESSIONID</span><span class="w"> </span><span class="n">USER_ID</span><span class="w">   </span><span class="n">ACTION</span><span class="o">#</span><span class="w"> </span><span class="k">TIMESTAMP</span><span class="o">#</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c1">---------- ------- ---------- ---------
</span></span></span><span class="line"><span class="cl"><span class="w">   </span><span class="mi">1024561</span><span class="w">       </span><span class="mi">88</span><span class="w">        </span><span class="mi">100</span><span class="w"> </span><span class="mi">24</span><span class="o">-</span><span class="n">AUG</span><span class="o">-</span><span class="mi">26</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">   </span><span class="mi">1024562</span><span class="w">       </span><span class="mi">88</span><span class="w">        </span><span class="mi">100</span><span class="w"> </span><span class="mi">24</span><span class="o">-</span><span class="n">AUG</span><span class="o">-</span><span class="mi">26</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">   </span><span class="mi">1024601</span><span class="w">        </span><span class="mi">6</span><span class="w">        </span><span class="mi">103</span><span class="w"> </span><span class="mi">23</span><span class="o">-</span><span class="n">AUG</span><span class="o">-</span><span class="mi">26</span><span class="w">
</span></span></span></code></pre></div>
</details>



### D. 审计失效告警

- **备注**：应补查监控、告警、审计员独立管理和审计失败告警机制。

- **预期证据**：告警规则截图、告警消息样例、审计员管理制度。

## 数据完整性

### A. 传输过程完整性

```sql
show parameter ssl
```
- **备注**：结合监听、`sqlnet.ora`、证书配置判断传输完整性保护是否到位。
- **预期证据**：SSL/TLS 配置截图、链路说明、连接加密截图。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sql" data-lang="sql"><span class="line"><span class="cl"><span class="k">SQL</span><span class="o">&gt;</span><span class="w"> </span><span class="k">show</span><span class="w"> </span><span class="k">parameter</span><span class="w"> </span><span class="n">ssl</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="n">NAME</span><span class="w">                                 </span><span class="k">TYPE</span><span class="w">        </span><span class="n">VALUE</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c1">------------------------------------ ----------- ------------------------------
</span></span></span><span class="line"><span class="cl"><span class="n">ssl_wallet</span><span class="w">                           </span><span class="n">string</span><span class="w">      </span><span class="o">/</span><span class="n">opt</span><span class="o">/</span><span class="n">app</span><span class="o">/</span><span class="n">oracle</span><span class="o">/</span><span class="n">wallet</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="n">ssl_cipher_suites</span><span class="w">                    </span><span class="n">string</span><span class="w">      </span><span class="p">...</span><span class="w">
</span></span></span></code></pre></div>
</details>



### B. 存储过程完整性

```sql
show parameter encryption
```
- **备注**：重要配置数据、审计数据和备份数据应有防篡改或一致性保护说明。
- **预期证据**：参数截图、备份校验记录、配置文件权限截图、制度材料。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sql" data-lang="sql"><span class="line"><span class="cl"><span class="k">SQL</span><span class="o">&gt;</span><span class="w"> </span><span class="k">show</span><span class="w"> </span><span class="k">parameter</span><span class="w"> </span><span class="n">encryption</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="n">NAME</span><span class="w">                                 </span><span class="k">TYPE</span><span class="w">        </span><span class="n">VALUE</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c1">------------------------------------ ----------- ------------------------------
</span></span></span><span class="line"><span class="cl"><span class="n">tablespace_encryption</span><span class="w">                </span><span class="n">string</span><span class="w">      </span><span class="p">...</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="n">encrypt_new_tablespaces</span><span class="w">              </span><span class="n">string</span><span class="w">      </span><span class="n">CLOUD_ONLY</span><span class="w">
</span></span></span></code></pre></div>
</details>



## 数据保密性

### A. 传输过程保密性

```sql
show parameter ssl
```
- **备注**：应证明远程管理和重要业务传输采用了密码技术保护。
- **预期证据**：SSL/TLS 参数截图、远程管理加密链路说明。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sql" data-lang="sql"><span class="line"><span class="cl"><span class="k">SQL</span><span class="o">&gt;</span><span class="w"> </span><span class="k">show</span><span class="w"> </span><span class="k">parameter</span><span class="w"> </span><span class="n">ssl</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="n">NAME</span><span class="w">                                 </span><span class="k">TYPE</span><span class="w">        </span><span class="n">VALUE</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c1">------------------------------------ ----------- ------------------------------
</span></span></span><span class="line"><span class="cl"><span class="n">ssl_wallet</span><span class="w">                           </span><span class="n">string</span><span class="w">      </span><span class="o">/</span><span class="n">opt</span><span class="o">/</span><span class="n">app</span><span class="o">/</span><span class="n">oracle</span><span class="o">/</span><span class="n">wallet</span><span class="w">
</span></span></span></code></pre></div>
</details>



### B. 存储过程保密性

```sql
select * from v$encrypted_tablespaces;
```
- **备注**：重点核查 TDE、磁盘加密、应用层加密等静态数据保护措施。
- **预期证据**：加密表空间截图、磁盘加密截图、加密方案说明。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sql" data-lang="sql"><span class="line"><span class="cl"><span class="k">SQL</span><span class="o">&gt;</span><span class="w"> </span><span class="k">select</span><span class="w"> </span><span class="n">name</span><span class="p">,</span><span class="w"> </span><span class="k">encrypted</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">v$encrypted_tablespaces</span><span class="p">;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="n">NAME</span><span class="w">                            </span><span class="n">ENC</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c1">------------------------------- ---
</span></span></span><span class="line"><span class="cl"><span class="n">APP_TS</span><span class="w">                          </span><span class="n">YES</span><span class="w">
</span></span></span></code></pre></div>
</details>



## 备份恢复

### A. 本地数据备份与恢复

```sql
select * from v$archive_dest;
```
- **备注**：本地备份应结合 RMAN 计划、备份结果和恢复演练记录综合判断。
- **预期证据**：备份任务截图、备份结果、恢复演练报告。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sql" data-lang="sql"><span class="line"><span class="cl"><span class="k">SQL</span><span class="o">&gt;</span><span class="w"> </span><span class="k">select</span><span class="w"> </span><span class="n">dest_id</span><span class="p">,</span><span class="w"> </span><span class="n">status</span><span class="p">,</span><span class="w"> </span><span class="n">destination</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">v$archive_dest</span><span class="w"> </span><span class="k">where</span><span class="w"> </span><span class="n">status</span><span class="o">=</span><span class="s1">&#39;VALID&#39;</span><span class="p">;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">   </span><span class="n">DEST_ID</span><span class="w"> </span><span class="n">STATUS</span><span class="w">    </span><span class="n">DESTINATION</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c1">---------- --------- ------------------------------
</span></span></span><span class="line"><span class="cl"><span class="w">         </span><span class="mi">1</span><span class="w"> </span><span class="k">VALID</span><span class="w">     </span><span class="o">/</span><span class="n">opt</span><span class="o">/</span><span class="n">app</span><span class="o">/</span><span class="n">oracle</span><span class="o">/</span><span class="n">arch</span><span class="w">
</span></span></span></code></pre></div>
</details>



### B. 异地实时备份

```sql
select * from v$archive_gap;
select * from v$parameter where name like 'log_archive%';
```
- **备注**：应说明是否通过 Data Guard、日志归档或其他方式实现异地实时备份。
- **预期证据**：归档参数截图、异地备份架构图、备机状态截图。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sql" data-lang="sql"><span class="line"><span class="cl"><span class="k">SQL</span><span class="o">&gt;</span><span class="w"> </span><span class="k">select</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">v$archive_gap</span><span class="p">;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="k">no</span><span class="w"> </span><span class="k">rows</span><span class="w"> </span><span class="n">selected</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="k">SQL</span><span class="o">&gt;</span><span class="w"> </span><span class="k">select</span><span class="w"> </span><span class="n">name</span><span class="p">,</span><span class="w"> </span><span class="n">value</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">v$parameter</span><span class="w"> </span><span class="k">where</span><span class="w"> </span><span class="n">name</span><span class="w"> </span><span class="k">like</span><span class="w"> </span><span class="s1">&#39;log_archive_dest_1&#39;</span><span class="p">;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="n">NAME</span><span class="w">                              </span><span class="n">VALUE</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="c1">--------------------------------- -------------------------------------------------
</span></span></span><span class="line"><span class="cl"><span class="n">log_archive_dest_1</span><span class="w">                </span><span class="k">LOCATION</span><span class="o">=/</span><span class="n">opt</span><span class="o">/</span><span class="n">app</span><span class="o">/</span><span class="n">oracle</span><span class="o">/</span><span class="n">arch</span><span class="w"> </span><span class="n">VALID_FOR</span><span class="o">=</span><span class="p">(</span><span class="n">ALL_LOGFILES</span><span class="p">)</span><span class="w">
</span></span></span></code></pre></div>
</details>



### C. 热冗余与高可用

- **备注**：结合 RMAN、Data Guard、RAC、双机热备和演练记录判定。

- **预期证据**：高可用架构图、切换截图、演练记录。

## 剩余信息保护

### A. 鉴别信息所在存储空间释放前清除

- **备注**：通常需结合介质清除、存储加密、销毁记录和平台策略综合判定。

- **预期证据**：介质清除制度、销毁记录、存储平台策略说明。

### B. 敏感数据所在存储空间释放前清除

- **备注**：结合存储介质管理、销毁和加密策略判定。

- **预期证据**：磁盘加密截图、销毁记录、设备回收制度。

## 个人信息保护

### A. 个人信息访问控制与审计

- **备注**：抽查敏感字段权限、访问审计、导出控制情况。

- **预期证据**：权限截图、审计样例截图、导出控制说明。

### B. 个人信息存储与传输保护

- **备注**：抽查加密、脱敏、专门保护和分类分级措施。

- **预期证据**：脱敏策略截图、加密设计说明、分类分级文件。

## 入侵防范

### A. 访问来源限制/白名单

- **备注**：结合数据库监听/配置与防火墙策略，确认仅允许授权来源访问。

- **预期证据**：数据库访问控制或监听配置截图、主机/网络防火墙策略、堡垒机访问策略截图。

### B. 异常访问与爆破防护

- **备注**：结合登录失败处理、连接限制、WAF/堡垒机/防暴力破解策略，确认具备阻断或告警能力。

- **预期证据**：失败登录限制参数截图、策略截图、告警样例、访谈记录。

### C. 漏洞扫描与补丁管理

- **备注**：确认数据库漏洞扫描周期、补丁评估与修复流程。

- **预期证据**：漏洞扫描报告、补丁更新记录、变更单。

### D. 恶意代码/工具防护

- **备注**：确认主机侧安全防护软件或EDR对数据库进程的防护与告警能力。

- **预期证据**：安全软件截图、策略配置截图、告警样例。

## 时间同步与日志一致性

- **备注**：确认数据库服务器时间同步（NTP/chrony），保证审计日志时间一致、可溯源。

- **预期证据**：NTP/chrony 配置截图、时间同步状态截图、运维制度或巡检记录。

## 主流版本差异说明

```bash
Oracle主流版本核查差异说明
```

## 版本识别

```sql
select * from v$version;
select * from product_component_version;
```

## 主流版本分档

1. Oracle 11gR2

2. Oracle 12c（12.1/12.2）

3. Oracle 19c

## 重点差异

### A. 架构差异

1. 11g 以传统单库思路为主

2. 12c/19c 常涉及 Multitenant（CDB/PDB）

推荐命令：

```sql
show con_name;
select name, cdb from v$database;
```

兼容提示：

1. 11g 现场若执行 CDB/PDB 相关命令，可能无结果或报错。

2. 12c/19c 测评要注意是否需要分别在 CDB 与 PDB 维度取证。

### B. 身份鉴别

推荐命令：

```sql
select username, profile, account_status from dba_users;
select profile, resource_name, limit from dba_profiles
```

where resource_name in ('PASSWORD_VERIFY_FUNCTION','PASSWORD_LIFE_TIME','FAILED_LOGIN_ATTEMPTS','PASSWORD_LOCK_TIME','IDLE_TIME');

版本提示：

1. 11g/12c/19c 这类口令策略命令整体兼容性较好。

### C. 访问控制

推荐命令：

```sql
select * from dba_sys_privs;
select * from dba_role_privs;
select * from dba_tab_privs;
select * from dba_col_privs;
select * from v$pwfile_users;
```

版本提示：

1. 12c/19c 需额外注意公共用户、本地用户、多租户角色授权边界。

### D. 安全审计

推荐命令：

```sql
show parameter audit_trail
show parameter audit_sys_operations
select * from dba_stmt_audit_opts;
select * from dba_priv_audit_opts;
select * from dba_obj_audit_opts;
```

版本提示：

1. 11g/12c/19c 均可用传统审计思路取证。

2. 19c 现场常需额外关注统一审计或更细粒度审计部署情况。

### E. 备份恢复与高可用

推荐命令：

```sql
select * from v$archive_dest;
select * from v$archive_gap;
select * from v$parameter where name like 'log_archive%';
```

版本提示：

1. 11g 现场常见 Data Guard、双机。

2. 12c/19c 现场可能叠加多租户、RAC、Data Guard 共同存在。

## 现场编制建议

1. 11g 文档重点写传统实例核查逻辑。

2. 12c 文档重点补充 CDB/PDB 区分。

3. 19c 文档重点补充多租户、统一审计、高可用组合架构。

## 取证注意事项

1. 先判断是否 CDB/PDB，再决定是否分别采集容器级证据。

2. Oracle 很多控制点不能只靠 SQL，需要 `sqlnet.ora`、监听配置、OS 日志和堡垒机共同取证。
