docker 安装oracle并连接 idea

开始:处理镜像:

搜索镜像

docker search oracle 

  --- 得到:  truevoly/oracle-12c

拉取镜像

docker pull  truevoly/oracle-12c



查看容器镜像

docker images



1.启动容器,查看日志
 # 挂载有时候不好使,直接用上面的即可。 docker run -d -p 8080:8080 -p 1521:1521 -v /my/oracle/data:/u01/app/oracle truevoly/oracle-12c 

C:\WINDOWS\system32>docker run -d -p 8088:8088 -p 1521:1521 --name oracle12 truevoly/oracle-12c

​
注意查看日志信息。
1.在客户端查看
2。命令查看  
 docker logs --tail=1000 容器名称 (查看容器前多少行的日志)(推荐)
https://blog.csdn.net/sunyanchun/article/details/123640865
​
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/xe/xe.log" for further details.

注意大小写
alter user sys identified by oracle
​
docker运行oracle数据库指南
https://blog.csdn.net/weixin_39636364/article/details/122872525
https://blog.csdn.net/xiaojinran/article/details/121573901
​
https://blog.csdn.net/weixin_45173986/article/details/119296732
2. 进入容器虚拟终端:
C:\WINDOWS\system32>docker exec -it 3ce704e9035d66e0af12f3b080be49e8feac33d0274f29a181c509ea4cb30eb2 /bin/bash
​
加载环境变量
source /home/oracle/.profile
3.进入sqlplus
sqlplus /nolog

4.使用sysdba角色登录sqlplus
conn sys/oracle as sysdba

5.查看当前实例下的数据库
select name from v$database;

6.查看有多少个数据表
select count(*) from user_tables;

7.退出sqlplus
exit

8.退出容器
exit 或Ctrl+D

9.重新进入已经运行的oracle容器,重新执行下面指令
docker exec -it oracle12 bash

10.如果容器停用了,则重新启动, 用你实际的容器ID代替下面的container_ID
docker start container_ID

11.停用正在运行的容器
docker stop container_ID

12解锁scott用户
SQL> alter user scott account unlock;
User altered.
SQL> commit;
Commit complete.
SQL> conn scott/tiger
ERROR:
ORA-28001: the password has expired
Changing password for scott
New password:
Retype new password:
Password changed
Connected.
SQL> 
13.新增用户
sql> create user TEST identified by TEST;
sql> grant connect,resource,dba to TEST;
注意用docker安装的oracle实例名为:helowin,就是下图的sid。

用户 conn scott/scott 



保存后执行source /etc/profile 加载环境变量;

14.修改賬戶密碼
su - oracle 切换到oracle用户下执行数据库相关用户的修改与配置信息的修改; sqlplus /nolog conn sys/oracle as sysdba alter user system identified by oracle;–修改system用户账号; alter user sys identified by oracle;–修改sys用户账号; ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; --修改密码规则策略为密码永不过期; alter system set processes=1000 scope=spfile; --修改数据库最大连接数据;

修改以上信息后,需要重新启动数据库;

sqlplus /nolog
conn sys/oracle as sysdba
shutdown immediate; --关闭数据库
startup; --启动数据库
退出docker后可使用pl/sql等客户端工具进行测试



15.导入需要把文件上传到docker中
docker cp 本地文件的路径 container_id:<docker容器内的路径> 
docker cp d:\111.sql oracle12:root
​
进入容器
docker exec -it oracle12 /bin/bash
执行导入命令
imp TEST/TEST@localhost/XE file="/root/1.dmp" full =y
​
imp test_lx/test_lx@localhost/XE file="/root/20220301xinnengyuan.dmp" full =y
​
imp test_lx/test_lx@localhost/XE file="/root/20220406xny.dmp" full =y
​
​
​
​
​
​
oracle导入sql文件
1、进入到sql文件目录下,登录需要导入文件的用户
​
打开cmd,输入以下命令,进入oracle,
sqlplus username/password
username:需要操作的用户名,password:需要操作的用户密码
​
2、导入sql文件,输入一下命令,@后面跟着sql文件的路径,回车,导入数据;
@D:/test.sql; 
​
3、导入完毕,输入
​
commit;
16.idea链接数据库







注意事项
数据下次重启是不是就没有了?
不挂目录容器不删除就没事 容器重启没事

/my/oracle 我这个是不是得写windows得目录?
不过你这个目录结构,得从盘符起 类似/c/my/path/这样的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值