【发布时间】:2019-05-20 04:48:33
【问题描述】:
我是全新的 oracle db 设置。这就是我下载并运行以下 oracle VM 的原因。对于我的项目特定目的,我做了几个步骤来获得具有适当权限的表空间和用户/方案,如下所示:
- create tablespace MYTABLESPACE datafile 'linux/path/MYTABLESPACE.DBF' size 4096m autoextend on next 512m maxsize 8192m;
- 创建由 MYUSER 默认表空间 MYTABLESPACE 标识的用户 MYUSER;
- 授予连接、资源、无限表空间、选择任意字典给 MYUSER;
默认配置文件存储在 ${ORACLE_HOME}/network/admin 中
listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orclcdb)
(SID_NAME = orclcdb)
(ORACLE_HOME = /u01/app/oracle/product/version/db_1)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))
)
)
#HOSTNAME by pluggable not working rstriction or configuration error.
DEFAULT_SERVICE_LISTENER = (orclcdb)
tnsnames.ora
ORCLCDB=localhost:1521/orclcdb ORCL= (DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
) )
使用上述配置我无法使用 SID 连接新创建的用户,请参见下表
在这种情况下会收到以下错误:
[72000][1017] ORA-01017:用户名/密码无效;登录被拒绝
有人可以澄清一下配置中遗漏了什么,因为 SID 连接是遗留应用程序的要求吗?
【问题讨论】:
-
ORCL 服务实际上是为 CDB 服务的,还是为 PDB 服务的?我不确定您是否可以使用 SID 连接到 12c+ 数据库 - 为什么旧应用程序必须使用 SID?
-
@AlexPoole 我刚刚检查过,看起来虚拟机默认使用 CDB。关于应用程序,我们有无法修改的旧版连接器。我已经尝试过使用服务名称,不幸的是它不起作用。
-
我只是模拟了一个奇怪的行为,当我通过使用服务名称登录的系统用户创建用户时,用户可以使用服务名称登录,但使用 SID 失败。当我通过使用 SID 登录的系统用户创建用户时,用户可以使用 SID 登录,但使用服务名称失败。
标签: oracle