docker oracle创建实例_Docker搭建oracle环境-Go语言中文社区

搜索镜像

docker search oralce

拉取镜像

docker pull oracleinanutshell/oracle-xe-11g

(具体拉取哪个根据实际情况而定

启动镜像

docker run -p 1521:1521 -e ORACLE_ALLOW_REMOTE=true --name oracle_11g -d --restart=always oracleinanutshell/oracle-xe-11g

-d 后台运行 -p: 指定端口映射,格式为:主机(宿主)端口:容器端口

上面命令中 -e ORACLE_ALLOW_REMOTE=true 的作用是开启远程连接,如果只是本地使用可以写成这样:

$ docker run -d -p 49161:1521 alexeiled/docker-oracle-xe-11g

docker run -d -v /data/kongchao/docker_volume/oracle_data:/data/oracle_data -p 49160

自动启动镜像 --restart=always

报错:

FATA[0000] Error response from daemon: could not find image: Multiple IDs found with provided prefix

找到多个带有提供的前缀的ID

docker images 发现明明是有这个镜像的,那就把原来的删了重新pull

docker rmi imageid或者docker image rm [image]

docker pull oracleinanutshell/oracle-xe-11g

这里发现意思是因为有多个不同id的相同名字的景象,所以根据景象的名字删除景象,而不是id

报错

FATA[0000] Error response from daemon: Conflict. The name “oracle_11g” is already in use by container 839d0476e934. You have to delete (or rename) that container to be able to reuse that name.

杀掉这个容器,然后重新启动

查看所有的容器

docker ps -a

终止容器

docker stop $CONTAINER_ID

可以使用"docker rm 容器id"来删除一个终止状态的容器;若要删除一个运行中的容器,需要加-f参数。

报错:

FATA[0000] Error response from daemon: Cannot start container 3ed0d0a282f945c9ecc8d80d137a9a4ed2d4a926b24aad86be870bd005dd5b7f: (exit status 1)

解决方案https://www.andrewklau.com/error-response-from-daemon-cannot-start-container-exit-status-1/

简而言之就是重启docker,文章中的方式是 service docker restart,我通过/etc/init.d/docker restart重启

重启之后报错:

FATA[0001] Error response from daemon: Cannot start container c8512409932643e1c480c12680d70a12dc1de4aa5127186e72469cc89e974677: Error starting userland proxy: listen tcp 0.0.0.0:1521: bind: address already in use

这个简单就是端口占用

设置用户信息

docker exec -it oracle_11g /bin/bash

切换到oracle用户,修改oracle的相关账号密码

su - oracle

sqlplus / as sysdba

alter user system identified by oracle;

alter user sys identified by oracle;

查看当前的用户

show user;

SQL> show user;

USER is "SYS"

因为sys只能只能以 sysdba Sysoper角色登录反正我用这个用户登录不了。所以切换用户

Conn system/oracle

查看当前的数据库实例

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

instance_name string XE

desc all_tables;

如果刚才通过sys建表的话,是没有刚才建的表的,因为是属于不同的用户。

输入建表语句

create table student(

SID number(32) primary key,

SNAME varchar(32),

wage number(32)

)

create table person(

SID number(32) primary key,

SNAME varchar(32),

wage number(32)

)

查看是否创建成功

select table_name from all_tables where table_name like 'student';

连接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值