开始:处理镜像:
搜索镜像
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/这样的
docker 安装oracle并连接 idea
于 2022-05-09 16:41:15 首次发布