
# Oracle为源
| 检查项                      | 描述                                                                                 | 操作建议                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|
| DBMS_METADATA权限          | 检查用户是否具有从Oracle数据库字典中检索元数据的权限，该权限用来获取Schema对象的DDL。                                 | 赋权语句： **GRANT SELECT_CATALOG_ROLE TO *\<user\>*;** **GRANT SELECT ANY DICTIONARY TO *\<user\>*;** 或 **GRANT DBA TO *\<user\>*;** 若已授予角色，但是预检查未通过，请通过下述语句检查授予角色是否为用户的DEFAULT_ROLE。 **SELECT GRANTED_ROLE, DEFAULT_ROLE FROM DBA_ROLE_PRIVS WHERE GRANTEE='*\<user\>*' AND GRANTED_ROLE IN ('SELECT_CATALOG_ROLE', 'DBA');** 若查询结果为NO，则需要执行以下语句赋权： **ALTER USER *\<user\>* DEFAULT ROLE SELECT_CATALOG_ROLE;** 或 **ALTER USER *\<user\>* DEFAULT ROLE DBA;** |
| 动态视图权限                   | 检查用户对各种动态性能视图的访问权限，该权限用来获取数据库基础信息。                                                 | 赋予DBA权限即可。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| DDL对象数量检查                | 检查该用户是否至少有一个Schema对象能访问并且存在DDL需要评估。                                                | 用户至少需要能够访问一个存在DDL的Schema对象，否则无法创建评估任务。注意：Oracle系统Schema中的对象不会被采集。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| DBMS_METADATA SQL格式化参数设置 | 检查用户是否可以执行DBMS_METADATA的SQL格式化命令，如果检查结果为警告，评估项目可以创建成功，但是采集出的sql格式可能存在问题，导致评估和转换失败。 | 请检查是否可以执行DBMS_METADATA.SET_TRANSFORM_PARAM(dbms_metadata.SESSION_TRANSFORM, \\'CONSTRAINTS_AS_ALTER\\', false) 和 DBMS_METADATA.SET_TRANSFORM_PARAM(dbms_metadata.SESSION_TRANSFORM, \\'SQLTERMINATOR\\', true)语句。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   
