公司最近用上了Docker,所以大部分应用和数据库都正在往Docker迁移;今天晚上就遇到一个小问题,特此记录下;我像以前连接11g一样,写上用户名密码和ip/orcl开始连接,结果直接 ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
辗转反思,进去容器里面也捣鼓了半天,无果;附上命令
docker exec -it 容器ID /bin/bash
也没发现监听和tnsnames.ora文件,偶然在网上看到查询实例名,于是试一试,
sqlplus / as sysdba 输入用户名密码;
由于我用的镜像是sath89/oracle-12c,所以用户名密码是system/oracle
select name from v$database;查询实例名,结果是XE,汰。

于是重新试一试,成功!
附图

最后附上创建表空间和用户的命令
–创建表空间
create tablespace pd_psssyh
logging
datafile ‘/u01/app/oracle/pd_psssyh.dbf’ –oracle12c容器内的路径,挂载的路径在/data/database/oracle12/
size 50m
autoextend on –自动增长
next 50m maxsize 20480m
extent management local;
–添加用户
create user pd_psssyh identified by pd_psssyh
default tablespace pd_psssyh –默认表空间
temporary tablespace TEMP –临时表空间
–授权
grant connect,resource,dba to pd_psssyh;
发表评论