构建 Ruby 应用程序

要构建可访问自治 AI 数据库的 Ruby 应用,您需要首先配置开发系统以支持数据库访问,以利用 Autonomous AI Database 的持续可用性和高性能功能。

将开发系统配置为支持数据库访问后,可以在应用程序中对数据库连接和 SQL 语句进行编码以利用这些功能。

配置 Ruby 开发系统

要配置开发系统,以便 Ruby 应用可以利用 Autonomous AI Database 的持续可用性和高性能功能,请执行以下步骤。

  1. 下载并安装 Ruby。
  2. 下载并安装 Oracle Instant Client。
  3. 下载和安装 ruby-oci8。
  4. 下载数据库的客户端身份证明,并将其提供给 Oracle Instant Client。

使用须知

您的开发系统必须符合某些标准才能成功配置它。

下载并安装 Ruby

要下载和安装 Ruby,请转到 ruby-lang.org 上的 Installing Ruby 页面,并按照系统 OS 和体系结构的说明进行操作。

下载和安装 Oracle Instant Client

下载并安装适用于系统 OS 和体系结构的 Oracle Instant Client 基本软件包:

  • Oracle Linux:

    运行以下命令以下载并安装 Oracle Instant Client 基本程序包:

    sudo yum -y install oracle-release-el7
    sudo yum -y install oracle-instantclient19.3-basic

    (如果要查看所有 Instant Client 软件包的列表,请访问 http://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/index.html。)

  • 其他 OSes 和体系结构:

    1. 转到 Oracle Instant Client 下载页,然后为您的系统的 OS 和体系结构选择下载。

    2. 在下载页面上,接受 Oracle Technology Network 许可协议,下载最新版本的基本程序包,然后按照下载页面底部的说明进行安装。

下载和安装 ruby-oci8

要将 ruby-oci8 界面下载并安装到 Oracle Database,请按照安装 Oracle Instant Client 页面中的说明进行操作。

下载并安装数据库的客户端身份证明

  1. 将包含数据库客户端身份证明的 zip 文件下载到计算机上的安全目录。

    可以从 Oracle Cloud 控制台中数据库的“详细信息”页下载此 zip 文件。如果您的 Oracle Cloud 用户账户允许您访问此页,请按如下方式下载身份证明。如果您没有这样的帐户,则需要从数据库的管理员那里获取 zip 文件,以及用于保护 zip 文件的密码。

    1. 在 Web 浏览器中,登录 Oracle Cloud 并导航到 Autonomous AI Database 的“Details(详细信息)”页面。

    2. 单击 DB Connection(数据库连接)

    3. 数据库连接页上,单击下载

    4. 下载 Wallet 对话框中,在密码字段中输入 wallet 密码,并在确认密码字段中确认该密码。

      密码长度必须至少为 8 个字符,并且必须包括至少 1 个字母和 1 个数字字符或 1 个特殊字符。

    5. 单击 Download(下载)以将客户端身份证明 zip 文件保存到安全目录。

  2. 下载 zip 文件后,请执行以下步骤:

    1. 解压缩客户端身份证明 zip 文件。

    2. 编辑客户机凭证中提供的 sqlnet.ora 文件,将 "?/network/admin" 替换为您解压缩客户机凭证的目录的完整路径;例如,更改:

      (DIRECTORY="?/network/admin")

      到:

      (DIRECTORY="/users/jdoe/adbcredentials")
    3. 创建 TNS_ADMIN 环境变量,将其值设置为解压缩客户机凭证的目录的完整路径。

编写数据库连接和 SQL 语句的代码

将您的开发系统配置为支持 Ruby 应用连接到自治 AI 数据库后,请遵循以下准则,以实现应用到数据库的连接的高性能和持续可用性:

例如:

require 'oci8'
OCI8.properties[:events_mode] = true
cpool = OCI8::ConnectionPool.new(1, 5, 2, username, password, 'tp_tls')
conn1 = OCI8.new(username, password, cpool)

此示例通过将 events_mode 属性设置为 true 来启用 FAN,创建用于连接到 tp_tls 数据库服务的池,并从池获取连接。

其他资源

有关 ruby-oci8 的详细信息,请访问 Ruby-oci8 页面。