oracle - 无法连接到刚刚在 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
解决方案
您必须为连接创建用户。
在这里查看我的示例:
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