从 Java 应用和 IDE 访问 Oracle 数据库云服务 (DBCS)

使用 Oracle JDBC 和通用连接池 (UCP) 从 Java SE 应用、Java Web 应用(即 Servlet)和 Java EE 容器访问 Oracle 数据库云服务。可以使用以下步骤创建一个成功的连接。

1.在 Oracle 云上创建一个数据库实例

  • 如果已经创建了一个数据库实例,那么可以跳过这一步。否则,请按照以下步骤创建一个新的数据库实例。

  • 注册 Oracle 云之后,请登录您自己的帐户 (http://cloud.oracle.com)。在 Dashboard 上,您会看到 CreateInstance 按钮。点击该按钮并按照步骤创建一个数据库实例。

  • 创建实例的另一种方式是从 Database 中选择 Database,然后使用 Open Service Console 列出所有数据库服务。点击 Create Service 按钮创建一个新实例。参见图 1:Oracle 数据库服务控制台

  • 创建数据库实例之后,您可以点击所创建的新实例查看数据库详细信息。例如,点击“dev”,如图 1:Oracle 数据库服务控制台所示
     

    • 可以通过查看数据库实例的详细信息来获取 HOST 或 IP 地址。

    • SERVICE_NAME 也显示在详细信息中。数据库服务名称的格式是 pdb.identity-domain.oraclecloud.internal

2.启用 1521 端口

  • Oracle 数据库云服务支持通过标准 Oracle Net Listener 端口 (1521) 访问 Oracle 数据库。首次创建数据库实例时,将禁用 Oracle Net Listener 端口 (1521) 以确保网络安全。要启用此端口,请选择"Access Rules"(如图 1:Oracle 数据库服务控制台 所示)并将 SQL*Net 所使用的 1521 端口设置为启用。

  •    图 1:Oracle 数据库服务控制台


     
     

3.编译并运行简单的 Java 应用

  • 12.2.0.1 JDBC 瘦驱动程序 (ojdbc8.jar) 和 12.2.0.1 UCP (ucp.jar) 或 12.1.0.2 JDBC 瘦驱动程序 (ojdbc7.jar) 和 12.1.0.2 UCP (ucp.jar) 下载到某个位置,然后将该位置添加为类路径。

  • 根据您的环境设置连接字符串,如下所示。例如,您可以使用默认可用的 HR 模式。

    示例:

    DB_USER = "hr" 或 <创建的任何用户>
    DB_PASSWORD = "hr" 或 <创建用户时选择的密码>
    DB_URL = "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(HOST=<公共 IP 地址>)(PORT=1521)(PROTOCOL=tcp))(CONNECT_DATA=(SERVICE_NAME=PDB1.<identity-domain>.oraclecloud.internal)))";

     

  • 编译并运行 Java 应用:

  • [Windows]  java -cp .\lib\ojdbc7.jar;.\lib\ucp.jar UCPSample
  • 故障排除提示:首次创建数据库实例时,出于安全性方面的原因,HR 用户会被锁定。您会接收到一个“account locked”(帐户锁定)错误。因此,请依照以下步骤解锁 HR 用户,然后再使用该帐户连接数据库。

    • (a) 通过 SSH 连接到数据库的计算节点 

    • (b) 以“oracle”身份登录计算节点。

    • (c) 以系统用户身份连接到数据库 (sqlplus sys as sysdba),输入创建实例时选择的密码。

    • (d) 将会话更改为使用 PDB:alter session set container=pdb1;

    • (e) 解锁“hr”用户:alter user hr identified by hr account unlock;

4.使用 SSH 隧道连接计算节点

  • 您可以通过 SSH 隧道连接运行数据库实例的计算节点。按照“创建到计算节点端口的 SSH 隧道”一章中的步骤操作。建立连接后,您可以访问数据库并创建新用户、更改数据库用户密码等

数据库云服务资源

其他开发人员资源