你好,我必须从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进行连接吗?
1条答案
按热度按时间qeeaahzv1#
如果创建pdb,则pdb没有Sid,而只有服务名称。容器数据库具有sid,但您不能在容器中存储用户数据。
所以它按设计工作。使用pdb use service name和You are fine。顺便说一下,Oracle建议从10g开始使用客户端和应用程序连接的服务名称。