oracle 监听加密 tcps,Oracle 的网络配置

普通网络应用中会涉及3种进程:服务器端监听进程、服务器端服务进程、客户端进程。

1、服务器启动监听进程,在一个固定IP地址和端口上监听请求。

2、一个用户进程向监听进程发起请求。

3、监听进程收到请求后,立刻派生一个服务进程。(创建或从进程池选取)

4、监听进程把请求转发给派生出的服务进程。监听进程退出该请求活动。

NET8协议

Oracle提供了一个网络互连服务,叫做Oracle Net Service,叫做NET8服务。

它实现了OSI中的上三层。其中Oracle客户端的OCI(Oracle call

Interface)和服务器端的OPI(Oracle Program

Interface)组成了会话层。这一层用来维护客户端服务器之间的完整SQL会话:

1、解析SQL语句,进行语法分析

2、为SQL语句申请并分配Cursor

3、为SQL语句提供绑定变量

4、从服务器的数据字典中获得记录集的元数据信息

5、执行SQL语句

6、返回结果

7、关闭Cursor

NET8由3个组件构成:Net Interface、Routing/Naming/Auth和TNS(Transparent

Network Substrate),Net Interface进行数据传输,RNA和TNS透明支持底层协议。

Oracle网络配置支持多种底层协议,包括TCP、TCPS、PIPE、SDP(Sockets Direct

Protocol),NET8悉数支持这些协议。

有两种连接方式:专有模式(Dedicated Server)和共享模式(Shared Server)

专有模式为每个用户连接启动一个单独进程(影子进程)。共享模式是多个用户连接共享一个进程。

服务器配置:

静态注册

$ORACLE_HOME/network/admin/listener.ora

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS =

(PROTOCOL = TCP)

(HOST= ORAServer)

(PORT = 1521)

(QUEUESIZE=20)(监听等待队列,默认为5)

)

)

)

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = ORCL)

(ORACLE_HOME = /oracle/product/10.2.0/)

(SID_NAME = ORCL)

)

)

动态注册:(推荐使用)

首先要在参数文件中设置两个参数:

SERVICE_NAME和INSTANCE_NAME(SID)

如果没有定义SERVICE_NAME参数,则DB_NAME和DB_DOMAIN会组成一个全局数据库名称,注册到监听器里。

PMON会自动定期向监听进程注册、更新信息

也可以强制:

SQL>alter system register;

动态配置结果准确,推荐使用。而且在RAC环境中,动态注册还包括每个实例的负载。这也是RAC可以实现负载均衡和故障转移的基础。

$lsnrctl status

READY:实例可以接受连接。

BLOCKED:实例目前不能接受连接。

UNKNOWN:静态注册,状态未知。

客户端配置:

客户端要连接到服务器,需要提供连接描述符,包括:

服务器网络地址、端口号;数据库服务名称。

$ORACLE_HOME/network/admin/tnsnames.ora

mydb = (连接标识符)

(DESCRIPTION = (连接描述符)

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.254)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = orcl)

)

)

一共有4中连接方式:

Local Naming:利用tnsnames.ora完成翻译过程。

Easy Connect Naming:不需要配置文件。Oracle 10g, 11g才可以支持。

External Naming:在网络上集中记录连接信息。

Directory Naming:在LDAP目录中保存这些信息。

tnsnames.ora也可以通过$TNS_ADMIN来指定目录

查找顺序:

$TNS_ADMIN

/var/opt/oracle

$ORACLE_HOME/network/admin

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是 Oracle TCPS 的详细配置过程: 1. 生成 SSL/TLS 证书和密钥 使用 OpenSSL 工具生成 SSL/TLS 证书和密钥,具体命令如下: ``` openssl req -newkey rsa:2048 -nodes -keyout <key_file>.key -x509 -days 365 -out <cert_file>.crt ``` 其中,<key_file> 为密钥文件名,<cert_file> 为证书文件名。该命令将生成一个自签名的证书和密钥文件。 2. 将证书和密钥导入到 Oracle 数据库中 使用 Oracle Wallet Manager 工具将证书和密钥导入到 Oracle 数据库中。具体步骤如下: - 启动 Oracle Wallet Manager 工具。 - 在菜单栏中选择 "Operations" -> "Create a New Wallet",创建一个新的钱包。 - 在钱包中导入证书和密钥文件,具体步骤如下: - 在钱包管理界面中,选择 "Operations" -> "Import". - 在 "Import" 窗口中,选择 "Trusted Certificate",然后导入证书文件。 - 在 "Import" 窗口中,选择 "User Certificate",然后导入密钥文件。 - 保存钱包文件。 3. 配置 TCPS 在 Oracle 数据库中配置 TCPS,以便在数据传输时使用 SSL/TLS 进行加密和身份验证。具体步骤如下: - 在数据库参数文件中添加以下参数: ``` SQLNET.ENCRYPTION_SERVER = required SQLNET.CRYPTO_CHECKSUM_SERVER = required SQLNET.ENCRYPTION_TYPES_SERVER = (AES256) SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER = (SHA256) SQLNET.AUTHENTICATION_SERVICES = (TCPS) WALLETS_DIRECTORY = <wallet_directory> ``` 其中,<wallet_directory> 为保存钱包文件的路径。 - 在数据库中创建 TCPS 监听器,具体步骤如下: - 使用 Net Configuration Assistant 工具创建 TCPS 监听器,或者手动编辑监听配置文件。 - 在监听配置文件中添加以下参数: ``` (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = <service_name>) ) (SECURITY = (SSL_SERVER_CERT_DN = <cert_dn>) (SSL_CERTIFICATE_AUTHORITY = <ca_cert>) (SSL_CIPHER_SUITES = <cipher_suite>) (SSL_VERSION = <ssl_version>) ) ``` 其中,<service_name> 为服务名称,<cert_dn> 为证书的 DN,<ca_cert> 为证书颁发机构的证书,<cipher_suite> 为 SSL/TLS 加密套件,<ssl_version> 为 SSL/TLS 版本。 4. 配置客户端 在客户端中配置 TCPS,以便在连接数据库时使用 SSL/TLS 进行加密和身份验证。具体步骤如下: - 在客户端中创建一个新的钱包。 - 使用 Oracle Wallet Manager 工具导入证书和密钥文件。 - 在客户端中配置 SQLNET.ORA 文件,具体步骤如下: - 在 SQLNET.ORA 文件中添加以下参数: ``` SQLNET.AUTHENTICATION_SERVICES = (TCPS) WALLETS_DIRECTORY = <wallet_directory> ``` 其中,<wallet_directory> 为保存钱包文件的路径。 - 在客户端连接字符串中添加以下参数: ``` (SECURITY = (SSL_SERVER_CERT_DN = <cert_dn>) (SSL_CIPHER_SUITES = <cipher_suite>) (SSL_VERSION = <ssl_version>) ) ``` 其中,<cert_dn> 为证书的 DN,<cipher_suite> 为 SSL/TLS 加密套件,<ssl_version> 为 SSL/TLS 版本。 以上就是 Oracle TCPS 的详细配置过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值