连接到数据库系统概览
本文介绍连接到活动数据库系统所需的各种设置。连接方式取决于您使用的客户端工具或协议、连接目的以及云网络的设置方式。
注意:
您可以在网络概述中找到有关各种网络方案的信息,但是要获得有关如何连接到云中数据库的特定建议,请与网络安全管理员联系。Prerequisites
- 要使用控制台或 API 获取默认管理服务连接字符串,无论您是将控制台或 REST API 与 SDK、CLI 还是其他工具结合使用,您都必须在管理员编写的策略中获得所需的访问类型。如果您尝试执行操作并收到一则表明您无权或未经授权的消息,请向管理员确认您已被授予访问权限的类型以及您应该在哪个区间中工作。
-
连接到数据库时,您需要数据库系统的公共或专用 IP 地址。
使用专用 IP 地址从内部部署网络或虚拟云网络 (Virtual Cloud Network,VCN) 内连接到系统。这包括从位于内部部署中的主机通过 VPN 或 FastConnect 连接到 VCN,或者从同一 VCN 中的其他主机进行连接。使用公共 IP 地址从云外部连接到系统(不含 VPN)。您可以在控制台中找到 IP 地址,如下所示:
- 在“数据库系统详细信息”页上,选择节点选项卡。
- DNS 名称、公共 IP 地址和专用 IP 地址显示在表列中。
- 要使用安全 Shell (SSH) 访问数据库系统,您需要文件的完整路径。该文件包含与启动数据库系统时使用的公钥关联的私钥。
如果连接时出现问题,请参见 Troubleshoot Connection Issues。
数据库服务和连接字符串
通过数据库服务,您可以根据所需的功能控制客户机对数据库实例的访问。例如,您可能需要仅出于管理目的访问数据库,或者可能需要将应用程序连接到数据库。连接字符串特定于数据库服务。
预配数据库系统时,会自动创建默认数据库管理服务。对于 12c 和更高版本的 Oracle 数据库,此服务用于在 CDB 级别管理数据库。由于此服务提供的功能有限,因此不适合连接应用程序。Oracle 建议您在创建数据库系统后为初始数据库创建默认应用服务。对于 12c 和更高版本的 Oracle 数据库,应用程序服务在 PDB 级别进行连接。以下是应用服务可以提供的一些重要功能:
- 工作量标识
- 负载平衡
- 应用程序连续性和 Transaction Guard
- 快速应用程序通知
- 基于服务名称的资源分配
有关这些功能和其他高可用性功能的详细信息,请参见 Client Failover Best Practices for Highly Available Oracle Databases 。
创建应用程序服务
可以使用 srvctl
实用程序创建应用程序服务。在连接到服务之前,必须先启动它。
可以使用以下步骤为 PDB 或 11g Oracle 数据库创建应用程序服务。
- 以
opc
身份登录到数据库系统主机。 - 切换到 oracle 用户,并将您的环境设置为要管理的 Oracle Database。
sudo su - oracle . oraenv
ORACLE_SID = [oracle] ? <database_name> The Oracle base has been set to /u01/app/oracle
- 为数据库创建应用程序服务。仅当要为 PDB 创建应用程序服务时,才包括
pdb
选项。srvctl add service -db <DB_unique_name> -pdb <PDB_name> -service <app_service_name> -role PRIMARY -notification TRUE -session_state dynamic -failovertype transaction -failovermethod basic -commit_outcome TRUE -failoverretry 30 -failoverdelay 10 -replay_init_time 900 -clbgoal SHORT -rlbgoal SERVICE_TIME -preferred <rac_node1>,<rac_node2> -retention 3600
请注意,仅多节点数据库需要首选选项来指定 RAC 中节点的主机名。
- 启动应用程序服务。
srvctl start service -db <DB_unique_name> -s <app_service_name>
有关 PDB 服务的详细信息,请参阅管理 PDB 。
数据库连接字符串
必须使用适当的连接字符串来访问数据库管理或应用程序服务。您可以使用控制台或 API 获取字符串来从 VCN 内连接到默认管理服务。对于 12c 和更高版本的 Oracle 数据库,此服务用于在 CDB 级别管理数据库。该字符串以轻松连接和完整连接描述符(长)格式提供。如果主机名解析不可用,请使用连接的长格式。还可以使用长格式在 tnsnames.ora 文件中创建别名。
对于在 VCN 中访问数据库服务,Real Application Cluster (RAC) 数据库系统的连接字符串使用单客户端访问名称 (Single Client Access Name,SCAN),而单实例数据库系统的连接字符串使用主机名。
专用 SCAN 名称是在启动双节点 RAC 数据库系统时创建的循环 DNS 条目。专用 SCAN 名称只能在 VCN 内解析。如果客户端和数据库位于同一 VCN 中,则连接机制与内部部署 RAC 数据库相同;VIP 和 SCAN VIP 提供的所有功能(例如服务器端负载平衡和 VIP 故障转移)都可用。
注意:
如果您手动更改数据库系统上的 DB_UNIQUE_NAME、DB_DOMAIN 或监听程序端口,则您在控制台或 API 中看到的连接字符串不会反映您的更改。建立连接时,请确保使用这些参数的实际值。获取连接字符串
您可以使用控制台的以下步骤来获取默认管理服务的连接字符串:
- 在数据库系统列表页上,选择包含要使用的数据库的数据库系统。如果需要查找列表页或数据库系统的帮助,请参阅列出数据库系统。
- 在数据库选项卡上,选择要使用的数据库。
- 在数据库详细信息页上,选择连接选项卡。此时将显示连接字符串列表。
- 选择指向查看或复制连接字符串的适用链接。
可以通过将默认应用程序服务连接字符串的一部分替换为适用值来派生其他数据库服务的连接字符串。
派生连接字符串
执行以下步骤可派生 PDB 管理服务或应用程序服务的连接字符串。
- 按照以下过程获取默认管理服务的 Easy Connect 字符串。该字符串应具有以下格式:
<hostname|SCAN>:1521/<DB_unique_name>.<DB_domain>
- 进行适当的替代:
-
对于 PDB 管理服务,将
DB_unique_name
替换为 PDB 名称。<hostname|SCAN>:1521/<PDB_name>.<DB_domain>
-
对于应用程序服务,将
DB_UNIQUE_NAME
替换为应用程序服务的名称。<hostname|SCAN>:1521/<app_service_name>.<DB_domain>
-