构建 Ruby 应用程序
要构建可访问自治 AI 数据库的 Ruby 应用,您需要首先配置开发系统以支持数据库访问,以利用 Autonomous AI Database 的持续可用性和高性能功能。
将开发系统配置为支持数据库访问后,可以在应用程序中对数据库连接和 SQL 语句进行编码以利用这些功能。
相关主题
配置 Ruby 开发系统
要配置开发系统,以便 Ruby 应用可以利用 Autonomous AI Database 的持续可用性和高性能功能,请执行以下步骤。
- 下载并安装 Ruby。
- 下载并安装 Oracle Instant Client。
- 下载和安装 ruby-oci8。
- 下载数据库的客户端身份证明,并将其提供给 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 和体系结构:
-
转到 Oracle Instant Client 下载页,然后为您的系统的 OS 和体系结构选择下载。
-
在下载页面上,接受 Oracle Technology Network 许可协议,下载最新版本的基本程序包,然后按照下载页面底部的说明进行安装。
-
下载和安装 ruby-oci8
要将 ruby-oci8 界面下载并安装到 Oracle Database,请按照安装 Oracle Instant Client 页面中的说明进行操作。
下载并安装数据库的客户端身份证明
-
将包含数据库客户端身份证明的 zip 文件下载到计算机上的安全目录。
可以从 Oracle Cloud 控制台中数据库的“详细信息”页下载此 zip 文件。如果您的 Oracle Cloud 用户账户允许您访问此页,请按如下方式下载身份证明。如果您没有这样的帐户,则需要从数据库的管理员那里获取 zip 文件,以及用于保护 zip 文件的密码。
-
在 Web 浏览器中,登录 Oracle Cloud 并导航到 Autonomous AI Database 的“Details(详细信息)”页面。
-
单击 DB Connection(数据库连接)。
-
在数据库连接页上,单击下载。
-
在下载 Wallet 对话框中,在密码字段中输入 wallet 密码,并在确认密码字段中确认该密码。
密码长度必须至少为 8 个字符,并且必须包括至少 1 个字母和 1 个数字字符或 1 个特殊字符。
-
单击 Download(下载)以将客户端身份证明 zip 文件保存到安全目录。
-
-
下载 zip 文件后,请执行以下步骤:
-
解压缩客户端身份证明 zip 文件。
-
编辑客户机凭证中提供的
sqlnet.ora文件,将"?/network/admin"替换为您解压缩客户机凭证的目录的完整路径;例如,更改:(DIRECTORY="?/network/admin")到:
(DIRECTORY="/users/jdoe/adbcredentials") -
创建
TNS_ADMIN环境变量,将其值设置为解压缩客户机凭证的目录的完整路径。
-
编写数据库连接和 SQL 语句的代码
将您的开发系统配置为支持 Ruby 应用连接到自治 AI 数据库后,请遵循以下准则,以实现应用到数据库的连接的高性能和持续可用性:
- 使用连接池。
- 启用 FAN(快速应用程序通知)。
- 使用与要执行的操作最匹配的预定义数据库服务。有关预定义数据库服务的信息,请参见 Predefined Database Service Names for Autonomous AI Database。
例如:
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 页面。