使用docker的oracle

本文记录怎么使用docker中oracle以及遇到的问题和解决办法
根据Deepin 15.5 Beta安装oracle安装好docker后开始试着使用
前面说的方法,每次关闭终端后,就没有办法再进入oracle了。这里先介绍一个新的方法
首先检查docker是否有oracle了

sudo docker ps
sudo docker images

这里写图片描述
然后启动一下,和之前不同的是,在命令中多加了一个t
接着查看一下启动情况

sudo docker run -itd -P sath89/oracle-xe-11g bash
sudo docker ps

这里写图片描述
可以看到,你启动后什么也没有发生,只是输出了一串字符,这串字符就是CONTAINER ID
注意那个CONTAINER ID,后面要用,每个人的都不一样
最后,以另外一种方式进入

sudo docker exec -it 391b5f3c98ec bash

注意把这里的391b5f3c98ec换成你自己的CONTAINER ID
使用docker的oracle_第1张图片
好了,新的启动方法介绍完毕,接下来愉快的玩耍吧!

  1. SQL*Plus的启动与关闭
    执行
$ORACLE_HOME/bin/sqlplus / as sysdba

即可进入,输入好用户名和密码,密码是之前自己输入的
使用docker的oracle_第2张图片
2. 关闭和打开数据库
执行

shutdown

发现权限不足
这里写图片描述

解决这个问题的一个比较快捷的方法是,先退出,然后以sys账号登录,密码和之前是一样的
执行exit退出
执行$ORACLE_HOME/bin/sqlplus sys/123123@XE as sysdba重新进入

$ORACLE_HOME/bin/sqlplus sys/123123@XE as sysdba

使用docker的oracle_第3张图片
然后重新执行shutdown关闭数据库,数据库关闭。
这个时候,如果你试图打开数据库,会报错,这个问题我目前还没有解决。这里写图片描述

如果你已经执行了shutdown关闭数据库,那么,你只能重新配置一个oracle了。
配置的过程很简单,和之前一样
3. 其他的sql

create user ty identified by 321;
alter user ty identified by 123;
alter user ty password expire;
alter user ty account lock;
alter user ty account unlock;
drop user ty;
select username,profile,account_status,created from dba_users where username='ty';

grant sysdba to ty;
ERROR at line 1:
ORA-01031: insufficient privileges
create role sr_admin identified by admin;
grant create session to sr_admin;

注意:数据库中用户名改为了大写,小写的用户名是查不出来的;如果遇到权限问题,请以sys登录,登录方法见前面的介绍。

ERROR at line 1:
ORA-01031: insufficient privileges

使用docker的oracle_第4张图片

关于数据库关闭后怎么启动的问题,等我解决了再写博客介绍。
执行PL/SQL语句等相关的问题,在本机写好后复制,粘贴,回车运行就好。注意深度终端中粘贴的快捷键是Ctrl+Alt+V

你可能感兴趣的:(deepin)