首页 > 解决方案 > 无法连接到刚刚在 docker 上的 oracle 上创建的新用户 (ORA-01017)

问题描述

我正在尝试在 Ubuntu 18 上使用 Oracle 12c 来学习我的工作。

为此,我使用了在其他 PC 中创建的 docker-compose 文件。

version: '2'
services:
 database:
   image: store/oracle/database-enterprise:12.2.0.1
   volumes:
     - ./data:/ORCL # persistent oracle database data.
   ports:
     - 1529:1521
     - 8082:8080
     - 5500:5500

安装后,我可以以系统管理员身份登录,然后在下面输入这些代码来创建用户。

ALTER SESSION SET CONTAINER = ORCLPDB1;
CREATE USER BUS IDENTIFIED BY DEMO_PASS;
GRANT CONNECT TO BUS;

然后,我尝试连接到它。

sqlplus BUS/DEMO_PASS@localhost:1529/ORCLCDB.localdomain

我想在其他 PC 上登录,但不是这样,而是出现此错误。

ORA-01017: invalid username/password; logon denied

标签: oracleoracle-sqldevelopersqlplusoracle12c

解决方案


您必须为连接创建用户。

在这里查看我的示例:

docker container run -d -h localdomain --name odbc2 -p 1521:1521 -p 5500:5500 -e DB_SID=ORCLCDB -e DB_PDB=ORCLPDB1 -e DB_DOMAIN=localdomain store/oracle/database-enterprise:12.2.0.1-slim

docker exec -it odbc2 bash -c "source /home/oracle/.bashrc; sqlplus /nolog"


connect sys as sysdba;
-- password  'Oradoc_db1'
alter session set "_ORACLE_SCRIPT"=true;
create user dummy identified by dummy;
GRANT CONNECT, RESOURCE, DBA TO dummy;
create table Docker (id int,name varchar2(20));

连接信息:

SID:ORCLCDB
PORT:1521
username: dummy
password: dummy
url: jdbc:oracle:thin:@localhost:1521:ORCLCDB

推荐阅读