

# 使用 sqlnet.ora 参数修改连接属性
<a name="USER_ModifyInstance.Oracle.sqlnet"></a>

sqlnet.ora 文件包括在 Oracle 数据库服务器和客户端上配置 Oracle Net 功能的参数。使用 sqlnet.ora 文件中的参数，您可以修改传入和传出数据库的连接的属性。

有关可能需要设置 sqlnet.ora 参数的原因的更多信息，请参阅 Oracle 文档中的[对配置文件参数进行配置](https://docs.oracle.com/database/121/NETAG/profile.htm#NETAG009)。

## 设置 sqlnet.ora 参数
<a name="USER_ModifyInstance.Oracle.sqlnet.Setting"></a>

Amazon RDS for Oracle 参数组包含一个 sqlnet.ora 参数子集。您可以使用与设置其他 Oracle 参数相同的方法来设置它们。`sqlnetora.` 前缀标识哪些参数是 sqlnet.ora 参数。例如，在 Amazon RDS 的 Oracle 参数组中，`default_sdu_size` sqlnet.ora 参数为 `sqlnetora.default_sdu_size`。

有关管理参数组和设置参数值的信息，请参阅 [Amazon RDS 的参数组](USER_WorkingWithParamGroups.md)。

## 支持的 sqlnet.ora 参数
<a name="USER_ModifyInstance.Oracle.sqlnet.Supported"></a>

Amazon RDS 支持以下 sqlnet.ora 参数。对动态 sqlnet.ora 参数的更改立即生效。


****  

| 参数 | 有效值 | 静态/动态 | 说明 | 
| --- | --- | --- | --- | 
|  `sqlnetora.default_sdu_size`  |  `512`到 `2097152`。  |  动态  |  会话数据单位 (SDU) 大小 (字节)。 SDU 是一次性放入缓冲区并通过网络发送的数据量。  | 
|  `sqlnetora.diag_adr_enabled`  |  `ON`, `OFF`   |  动态  |  一个值，用于启用或禁用自动诊断存储库 (ADR) 跟踪。 `ON` 指定使用 ADR 文件跟踪。 `OFF` 指定使用非 ADR 文件跟踪。  | 
|  `sqlnetora.recv_buf_size`  |  `8192`到 `268435456`。  |  动态  |  用于会话接收操作的缓冲区空间限制，支持 TCP/IP、使用 SSL 的 TCP/IP 以及 SDP 协议。  | 
|  `sqlnetora.send_buf_size`  |  `8192`到 `268435456`。  |  动态  |  用于会话发送操作的缓冲区空间限制，支持 TCP/IP、使用 SSL 的 TCP/IP 以及 SDP 协议。  | 
|  `sqlnetora.sqlnet.allowed_logon_version_client`  |  `8`, `10`, `11`, `12`   |  动态  |  客户端和充当客户端的服务器与 Oracle 数据库实例建立连接所允许的最低身份验证协议版本。  | 
|  `sqlnetora.sqlnet.allowed_logon_version_server`  |  `8`, `9`, `10`, `11`, `12`, `12a`   |  动态  |  与 Oracle 数据库实例建立连接所允许的最低身份验证协议版本。  | 
|  `sqlnetora.sqlnet.expire_time`  |  `0`到 `1440`。  |  动态  |  发送检查以验证客户端/服务器连接是否活动的时间间隔，以分钟为单位。  | 
|  `sqlnetora.sqlnet.inbound_connect_timeout`  |  `0` 或 `10` 到 `7200`   |  动态  |  客户端连接到数据库服务器并提供所需身份验证信息的时间，以秒为单位。  | 
|  `sqlnetora.sqlnet.outbound_connect_timeout`  |  `0` 或 `10` 到 `7200`   |  动态  |  客户端建立与数据库实例的 Oracle Net 连接的时间，以秒为单位。  | 
|  `sqlnetora.sqlnet.recv_timeout`  |  `0` 或 `10` 到 `7200`   |  动态  |  数据库服务器在建立连接之后等待客户端数据的时间，以秒为单位。  | 
|  `sqlnetora.sqlnet.send_timeout`  |  `0` 或 `10` 到 `7200`   |  动态  |  数据库服务器在建立连接之后，完成对客户端的发送操作的时间，以秒为单位。  | 
|  `sqlnetora.tcp.connect_timeout`  |  `0` 或 `10` 到 `7200`   |  动态  |  客户端建立与数据库服务器的 TCP 连接的时间，以秒为单位。  | 
|  `sqlnetora.trace_level_server`  |  `0`, `4`, `10`, `16`, `OFF`, `USER`, `ADMIN`, `SUPPORT`  |  动态  | 对于非 ADR 跟踪，在指定级别启用服务器跟踪或禁用服务器跟踪。 | 

每个支持的 sqlnet.ora 参数的默认值是该版本的 Oracle Database 默认值。

## 查看 sqlnet.ora 参数
<a name="USER_ModifyInstance.Oracle.sqlnet.Viewing"></a>

您可以使用 AWS 管理控制台、AWS CLI 或 SQL 客户端查看 sqlnet.ora 参数及其设置。

### 使用控制台查看 sqlnet.ora 参数
<a name="USER_ModifyInstance.Oracle.sqlnet.Viewing.Console"></a>

有关查看参数组中参数的信息，请参阅[Amazon RDS 的参数组](USER_WorkingWithParamGroups.md)。

在 Oracle 参数组中，`sqlnetora.` 前缀标识哪些参数是 sqlnet.ora 参数。

### 使用 AWS CLI 查看 sqlnet.ora 参数
<a name="USER_ModifyInstance.Oracle.sqlnet.Viewing.CLI"></a>

要查看在 Oracle 参数组中配置的 sqlnet.ora 参数，请使用 AWS CLI [describe-db-parameters](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-parameters.html) 命令。

要查看 Oracle 数据库实例的所有 sqlnet.ora 参数，请调用 AWS CLI [download-db-log-file-portion](https://docs.aws.amazon.com/cli/latest/reference/rds/download-db-log-file-portion.html) 命令。指定数据库实例标识符、日志文件名和输出的类型。

**Example**  
以下代码列出 `mydbinstance` 的所有 sqlnet.ora 参数。  
对于 Linux、macOS 或 Unix：  

```
aws rds download-db-log-file-portion \
    --db-instance-identifier mydbinstance \
    --log-file-name trace/sqlnet-parameters \
    --output text
```
对于：Windows  

```
aws rds download-db-log-file-portion ^
    --db-instance-identifier mydbinstance ^
    --log-file-name trace/sqlnet-parameters ^
    --output text
```

### 使用 SQL 客户端查看 sqlnet.ora 参数
<a name="USER_ModifyInstance.Oracle.sqlnet.Viewing.SQL"></a>

在 SQL 客户端中连接到 Oracle 数据库实例之后，以下查询列出 sqlnet.ora 参数。

```
1. SELECT * FROM TABLE
2.    (rdsadmin.rds_file_util.read_text_file(
3.         p_directory => 'BDUMP',
4.         p_filename  => 'sqlnet-parameters'));
```

有关在 SQL 客户端中连接到 Oracle 数据库实例的信息，请参阅[连接到 Oracle 数据库实例](USER_ConnectToOracleInstance.md)。