> ## Documentation Index
> Fetch the complete documentation index at: https://doc.lwops.cn/llms.txt
> Use this file to discover all available pages before exploring further.

# 8.1. Oracle

> 注意：Oracle需要使用有SYSDBA权限的账号去创建监控账号，否则会提示视图或表不存在的弹窗！ 8.1.1. 添加配置监控用户 8.1.1.1. 登录数据库 #su – oracle #sqlplus /nolog SQL&gt;conn /as sysdba 8.1.1.2. 12C版本 创建...

**注意：Oracle需要使用有SYSDBA权限的账号去创建监控账号，否则会提示视图或表不存在的弹窗**！

### 8.1.1. 添加配置监控用户

#### 8.1.1.1. 登录数据库

```
#su – oracle
#sqlplus /nolog
SQL>conn /as sysdba
```

#### 8.1.1.2. 12C版本

创建账户和权限（密码不可以有特殊符号）

创建用户：

```
CREATE USER itimjk IDENTIFIED BY "Itim_p@ssw0rd"  DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP PROFILE DEFAULT ACCOUNT UNLOCK;
```

赋予角色权限：

```
--授权监控账号连接权限
GRANT ALTER SESSION TO itimjk;
GRANT CREATE SESSION TO itimjk;
GRANT CONNECT TO itimjk;
ALTER USER itimjk DEFAULT ROLE ALL;
--授权监控账号系统表、数据文件查询权限
GRANT SELECT ON DBA_USERS TO itimjk;
GRANT SELECT ON DBA_REGISTRY TO itimjk;
GRANT SELECT ON DBA_DATA_FILES TO itimjk;
GRANT SELECT ON DBA_TEMP_FILES TO itimjk;
GRANT SELECT ON DBA_FREE_SPACE TO itimjk;
GRANT SELECT ON SYS.DBA_DATA_FILES TO itimjk;
GRANT SELECT ON SYS.DBA_TEMP_FILES TO itimjk;
GRANT SELECT ON DBA_TEMP_FREE_SPACE to itimjk;
GRANT SELECT ON dba_objects to itimjk;
GRANT SELECT ON dba_indexes to itimjk;
GRANT SELECT ON dba_triggers to itimjk;
GRANT SELECT ON dba_constraints to itimjk;
GRANT SELECT ON dba_tablespaces TO itimjk;
--授权监控账号可查询系统视图权限
GRANT SELECT ON V_$INSTANCE TO itimjk;
GRANT SELECT ON V_$LOG_HISTORY TO itimjk;
GRANT SELECT ON V_$PARAMETER TO itimjk;
GRANT SELECT ON SYS.DBA_AUDIT_SESSION TO itimjk;
GRANT SELECT ON V_$LOCK TO itimjk;
GRANT SELECT ON V_$LIBRARYCACHE TO itimjk;
GRANT SELECT ON V_$SYSSTAT TO itimjk;
GRANT SELECT ON V_$PARAMETER TO itimjk;
GRANT SELECT ON V_$LATCH TO itimjk;
GRANT SELECT ON V_$PGASTAT TO itimjk;
GRANT SELECT ON V_$SGASTAT TO itimjk;
GRANT SELECT ON V_$LIBRARYCACHE TO itimjk;
GRANT SELECT ON V_$PROCESS TO itimjk;
GRANT SELECT ON V_$SYSTEM_EVENT TO itimjk;
GRANT SELECT ON v_$session TO itimjk;
GRANT SELECT ON v_$version TO itimjk;
GRANT SELECT ON v_$event_name TO itimjk;
GRANT SELECT ON V_$SORT_USAGE TO itimjk;
GRANT SELECT ON V$TEMPSEG_USAGE TO itimjk;
GRANT SELECT ON v_$asm_diskgroup_stat TO itimjk;
GRANT SELECT ON gv_$lock TO itimjk;
GRANT SELECT ON v_$LOG TO itimjk;
GRANT SELECT ON gv_$transaction TO itimjk;
GRANT SELECT ON gv_$session TO itimjk;
GRANT SELECT ON v_$sysmetric TO itimjk;
GRANT SELECT ON V_$RECOVERY_FILE_DEST TO itimjk;
GRANT SELECT ON v_$system_parameter TO itimjk;
GRANT SELECT ON v_$asm_diskgroup TO itimjk;
GRANT SELECT ON V_$SQLAREA to itimjk;
GRANT SELECT ON V_$SQL to itimjk;
GRANT SELECT ON sys.sm$ts_free TO itimjk;
GRANT SELECT ON sys.sm$ts_avail TO itimjk;
GRANT SELECT ON v_$loghist TO itimjk;
GRANT SELECT ON v_$archived_log TO itimjk;
GRANT SELECT ON v_$locked_object to itimjk;
GRANT SELECT ON v_$session to itimjk;
GRANT SELECT ON v_$process to itimjk;
GRANT SELECT ON v_$sql to itimjk;
GRANT SELECT ON v_$lock to itimjk;
GRANT SELECT ON gv_$process to itimjk;
GRANT SELECT ON gv_$session to itimjk;
GRANT SELECT ON gv_$locked_object to itimjk;
```

### 8.1.2. 测试脚本连接

```
/usr/bin/python3 /itops/itimjk/scripts/pyora.py --username itimjk --password Itimjk_p@ssw0rd --address 192.168.1.32 --port 1521 --database racdb version
```

![8.1. Oracle 操作截图 1](https://lwweb.oss-cn-shenzhen.aliyuncs.com/docs/images/yuque/oracle/image-01.png)

### 8.1.3 11G版本

**同样，也需要使用SYSDBA权限的账号创建**！

```
完全权限：
CREATE USER itimjk IDENTIFIED BY "Itim_p@ssw0rd" DEFAULT TABLESPACE SYSTEM TEMPORARY TABLESPACE TEMP PROFILE DEFAULT ACCOUNT UNLOCK;
GRANT CONNECT TO itimjk;
GRANT RESOURCE TO itimjk;
ALTER USER itimjk DEFAULT ROLE ALL;
GRANT SELECT ANY TABLE TO itimjk;
GRANT CREATE SESSION TO itimjk;
GRANT SELECT ANY DICTIONARY TO itimjk;
GRANT UNLIMITED TABLESPACE TO itimjk;
GRANT SELECT ANY DICTIONARY TO itimjk;

最低权限：
CREATE USER itimjk IDENTIFIED BY "Itim_p@ssw0rd" DEFAULT TABLESPACE SYSTEM TEMPORARY TABLESPACE TEMP PROFILE DEFAULT ACCOUNT UNLOCK;
--授权itimjk账号连接权限
GRANT ALTER SESSION TO itimjk;
GRANT CREATE SESSION TO itimjk;
GRANT CONNECT TO itimjk;
ALTER USER itimjk DEFAULT ROLE ALL;
--授权itimjk账号查询用户表、数据文件
GRANT SELECT ON DBA_USERS TO itimjk;
GRANT SELECT ON DBA_REGISTRY TO itimjk;
GRANT SELECT ON SYS.DBA_AUDIT_SESSION TO itimjk;
GRANT SELECT ON DBA_DATA_FILES TO itimjk;
GRANT SELECT ON DBA_TEMP_FILES TO itimjk;
GRANT SELECT ON DBA_FREE_SPACE TO itimjk;
--授权itimjk账号查询系统视图权限
GRANT SELECT ON V_$INSTANCE TO itimjk;
GRANT SELECT ON V_$LOG_HISTORY TO itimjk;
GRANT SELECT ON V_$PARAMETER TO itimjk;
GRANT SELECT ON V_$LOCK TO itimjk;
GRANT SELECT ON V_$LIBRARYCACHE TO itimjk;
GRANT SELECT ON V_$SYSSTAT TO itimjk;
GRANT SELECT ON V_$PARAMETER TO itimjk;
GRANT SELECT ON V_$LATCH TO itimjk;
GRANT SELECT ON V_$PGASTAT TO itimjk;
GRANT SELECT ON V_$SGASTAT TO itimjk;
GRANT SELECT ON V_$LIBRARYCACHE TO itimjk;
GRANT SELECT ON V_$PROCESS TO itimjk;
GRANT SELECT ON V_$SYSTEM_EVENT TO itimjk;

--以下分三次执行，意思是给itimjk账号创建一个acl策略，授权允许itimjk账号访问，host=>'*' 可以改成采集服务器的IP地址，高可用就写vip，写上IP后，只允许此IP通过此策略才能访问。
exec dbms_network_acl_admin.create_acl(acl => 'resolve.xml',description => 'resolve acl', principal =>'itimjk', is_grant => true, privilege => 'resolve');
exec dbms_network_acl_admin.assign_acl(acl => 'resolve.xml', host =>'*');
commit;
```

### 8.1.4. 添加监控对象

![8.1. Oracle 操作截图 2](https://lwweb.oss-cn-shenzhen.aliyuncs.com/docs/images/yuque/oracle/image-02.png)

监控填写说明：

![8.1. Oracle 操作截图 3](https://lwweb.oss-cn-shenzhen.aliyuncs.com/docs/images/yuque/oracle/image-03.png)
