Docker安装Oracle11g
1:查找oracle镜像
docker search oracle
2:安装oracle-11g镜像
docker pull jaspeen/oracle-11g
3:查看已经安装的镜像:
docker images
4:下载准备oracle11g安装文件:
解压zip包需要用到unzip命令,如果没有请安装:
yum install -y unzip zip
从oracle 官网 下载所需要的安装包,这里我们以oracle 11g 为例子,分别下载:
https://www.oracle.com/database/technologies/112010-linx8664soft.html
linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip
两个压缩包,下载完成后上传到home目录下解压
5:创建本地挂载目录:
mkdir -p /data/oracle
6:创建和启动容器
docker run --name oracle11g --privileged=true -p 1521:1521 -p 1158:1158 -v /home:/install -v /data/oracle:/data/oracle -v /etc/localtime:/etc/localtime:ro --restart=always jaspeen/oracle-11g
这个安装过程会很漫长,日志也很多,这里只提供部分。注意到日志里有
100% complete
打印,代表oracle安装成功
其他需要注意的,如果日志长时间没有更新,检查docker是否已经死掉
查看docker的状态
docker ps -a
Error response from daemon: An invalid argument was supplied.
如果出现如上提示,表示docker已经死掉,我们只需要重新执行安装步骤,让oracle安装完成
安装完成
再次查看运行状态,oracle已经启动完成
docker ps -s
7、配置oracle服务
step1:进入容器
docker exec -it oracle11g /bin/bash
su – oracle
#登录oracle dba
sqlplus /nolog;
conn /as sysdba;
#修改初始账号
alter user system identified by system;
alter user sys identified by system;
alter user dbsnmp identified by system;
alter user sysman identified by system;
#添加自己的dba账号
create user my_account identified by my_password;
grant connect,resource,dba to my_account;
注意修改绿色位置为自己的账号密码
#设置密码永不过期
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
#关闭
shutdown immediate;
#启动数据库
startup;
8、配置oracle em服务
进入容器,切换至oracle用户
#编辑环境变量
vi .bash_profile
加入
export ORACLE_UNQNAME=$ORACLE_SID
source .bash_profile
emctl start dbconsole
如果报文件找不到错误,重建em资料
emca -repos recreate
#分别输入SID,端口,sys用户密码,system用户密码,输入Y
等待结束
emca -config dbcontrol db
输入相应的参数
等待结束
emctl start dbconsole
em控制台启动成功后,访问按钮方块问题解决
在$oracle_home/jdk/jre/lib/fonts 目录下新建文件夹fallback
mkdir fallback
从WINDOW系统的windows/fonts下拷贝simsun.ttc字体文件到新建的fallback目录下
将simsun.ttc 改名为simsun.ttf
mv simsun.ttc simsun.ttf
清理gif, 进入目录$oracle_home/oc4j/j2ee/oc4j_applications/applications/em/em/cabo/images/cache/zhs
rm -rf *.gif
使用ORACLE用户操作以下:
重启em(重新EM时,系统会自动将新字体文件生成一份新的gif文件到lib/fonts 目录下)
emctl stop dbconsole
emctl start dbconsole
来源:oschina
链接:https://my.oschina.net/u/926088/blog/3161798