安装oracle 19与docker连接,使用XID而不是服务名称

whhtz7ly  于 2023-05-06  发布在  Docker
关注(0)|答案(1)|浏览(137)

你好,我必须从Oracle 12迁移到Oracle 19,注意特殊。我使用以下合成文件

oracle19:
    image: container-registry.oracle.com/database/enterprise:latest
    container_name: oracle19
    restart: always
    volumes:
      - ~/oradata:/opt/oracle/oradata 
      - ./oracle19/setup:/docker-entrypoint-initdb.d/setup
      - ./oracle19/startup:/docker-entrypoint-initdb.d/startup
    ports:
      - 1521:1521
      - 1551:1521
      - 5500:5500
    environment:
      - ORACLE_PWD=test1234
      - ORACLE_PDB=XE

容器正在运行,但我可以只使用服务名称而不是XID进行连接:
jdbc:oracle:thin:@localhost:1521/XE不像oracle 12中使用**:作为XID,而是使用/**作为服务

jdbc:oracle:thin:@localhost:1521:XE

我的错误在哪里?或者在oracle 19 c中可以使用XID进行连接吗?

qeeaahzv

qeeaahzv1#

如果创建pdb,则pdb没有Sid,而只有服务名称。容器数据库具有sid,但您不能在容器中存储用户数据。
所以它按设计工作。使用pdb use service name和You are fine。顺便说一下,Oracle建议从10g开始使用客户端和应用程序连接的服务名称。

相关问题