无法连接到刚刚在 docker 上的 oracle 上创建的新用户 (ORA-01017)

Mar*_*lho 0 oracle sqlplus oracle-sqldeveloper oracle12c

我正在尝试在 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
Run Code Online (Sandbox Code Playgroud)

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

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
Run Code Online (Sandbox Code Playgroud)

然后,我尝试连接到它。

sqlplus BUS/DEMO_PASS@localhost:1529/ORCLCDB.localdomain
Run Code Online (Sandbox Code Playgroud)

我想像在其他 PC 上一样登录,但不是这样,我收到了这个错误。

ORA-01017: invalid username/password; logon denied
Run Code Online (Sandbox Code Playgroud)

Bil*_*mir 6

您必须为连接创建用户。

在这里查看我的示例:

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));
Run Code Online (Sandbox Code Playgroud)

连接信息:

SID:ORCLCDB
PORT:1521
username: dummy
password: dummy
url: jdbc:oracle:thin:@localhost:1521:ORCLCDB
Run Code Online (Sandbox Code Playgroud)