c oracle proxy

2023年 8月 3日 46.6k 0

Oracle Proxy 简介

Oracle Proxy是指,直接对Oracle数据库进行访问的客户端被代理了,由代理服务器与Oracle交互。在一些应用场景中,我们需要将应用与数据库隔离开来,以保证应用的高可用和安全性。Oracle Proxy正是可以满足这种需求的工具。下面,我将为大家详细介绍Oracle Proxy的使用方法和原理。

Oracle Proxy 原理

Oracle Proxy的基本原理是通过监听端口,将请求重定向到Oracle实例;将传入的连接信息转发到另一个的目标,来代理链接。Oracle鉴权机制首先会验证Proxy user,然后来连接到真实数据库。这种代理方式可以方便的重新分配、并发、隔离角色存取等等。在下面的例子中,我们可以通过Oracle Proxy将客户端访问的sysdba权限与普通用户权限隔离开来。

string = "CONNECT %s@%s AS " % (username, service_name)
conn = cx_Oracle.connect(proxy_username, userpwd, string, mode=cx_Oracle.SYSDBA)

Oracle Proxy 用途

Oracle Proxy的应用场景很多,以下是一些常用的场景:

  • 隔离Oracle账号密码:将密码隔离,只保留少数人掌握,保证账号密码的安全性。
  • 监控Oracle连接统计信息:通过Proxy可以获得实时的连接信息,及时排查问题。
  • 控制Oracle用户权限:Oracle Proxy 可以限制用户的特定操作,避免用户对数据库造成过多的安全风险。

Oracle Proxy 操作步骤

操作步骤如下:

  1. 安装Oracle Client
  2. 创建Proxy User
  3. 授权给Proxy User
  4. 配置Oracle Proxy Listener
  5. 启动Oracle Proxy服务

#!/bin/bash
if [ $# -ne 1 ];then
echo "Usage:$0 listener_name"
exit 1;
fi
# Listener name
LISTENER_NAME=$1
# Login user for the real database
true DATABASE_USER=ora_user
# Proxy user
PROXY_USER=proxy_user
# Password
PASSWORD=password
# Create proxy_connect_identifier
DB_UNIQUE_NAME="localhost"
# Connection pool size
POOL_SIZE=10
# Oracle Proxy configuration
wxtp -setrouter ${LISTENER_NAME} -connecttype Basic \
-pooling ${POOL_SIZE} -user ${PROXY_USER}/${PASSWORD}@${DB_UNIQUE_NAME} \
-defaultuser ${DATABASE_USER} \
-logdir /tmp/ora_proxy

Oracle Proxy 配置示例

下面是一个简单的Oracle Proxy部署示例:

  • 主机名:localhost
  • 真实数据库使用者:ora_user
  • 代理数据资料库使用者:proxy_user
  • 代理数据库的用户名/密码:proxy_user/password
  • 代理连接的身份标识(ID):localhost.prod.oracle.com

PROXY_USER=proxy_user
PASSWORD=password
DB_UNIQUE_NAME="localhost"
# Create proxy
wxtp -setrouter my_listener -connecttype Basic \
-pooling 10 -user ${PROXY_USER}/${PASSWORD}@${DB_UNIQUE_NAME} \
-defaultuser ora_user \
-logdir /tmp/ora_proxy

Oracle Proxy 总结

Oracle Proxy提供了一种隔离Oracle账号、监控Oracle连接信息、控制Oracle用户权限的解决方案,可以满足现代企业应用系统的需求。大家在进行Oracle Proxy 的使用和配置时要注意鉴权机制、端口监听、身份标识、默认用户等方面的问题。希望大家在使用Oracle Proxy时可以充分发挥它的优势,使企业应用系统更加稳定、更加安全。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论