- oracle安装
参考rabbitMQ
1、进入docker hub镜像仓库地址:https://hub.docker.com/
2、搜索jaspeen/oracle-11g,进入官方的镜像,在tag页签中可以看到几种类型的镜像;
3、拉取镜像
docker pull jaspeen/oracle-11g:latest
docker images 查看所有镜像
注意,这个镜像没有直接安装好oracle,他帮我们配置好了环境,提供了安装脚本,我们只需要按照要求把oracle的安装目录配置好,启动镜像即可。
4、下载oracle 11g安装文件
从oracle 官网 下载所需要的安装包,这里我们以oracle 11g 为例子,分别下载 linux.x64_11gR2_database_1of2.zip 和 linux.x64_11gR2_database_2of2.zip两个压缩包,
下载资源oracle需要登陆,在浏览器中打开oracle 11g 先登陆,点下载后复制下载链接,采用wget -b后台下载。-c 断点续传下载文件。
mkdir -p /usr/mpsp/0_dockerData/oracle/install/
wget -c -b -O oracle11gR2_1.zip https://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_1of2.zip?AuthParam=1598528369_97ae5d187f731e867cb573c880ef2476
wget -c -b -O oracle11gR2_2.zip https://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_2of2.zip?AuthParam=1598527010_d3c13beb257c3ae2f77103be26cbd0a2
unzip oracle11gR2_1.zip
unzip oracle11gR2_2.zip
将文件解压出来,放到/usr/mpsp/0_dockerData/oracle/install/下,保证目录结构为:/usr/mpsp/0_dockerData/oracle/install/database
4、启动镜像
docker stop oracle11g
docker rm oracle11g
docker run -d --privileged --name oracle11g --restart=always -p 11521:1521 -e DEFAULT_SYS_PASS=umpay2020 -v /usr/mpsp/0_dockerData/oracle/install:/install -v /usr/mpsp/0_dockerData/oracle/dpdump:/opt/oracle/dpdump 0c8711fe4f0f
privileged 给这个容器特权,安装oracle可能需要操作需要root权限的文件或目录
查看安装日志:
docker exec oracle11g bash -c "tail -f /opt/oracle/oraInventory/logs/installActions2020-08-28_05-49-01AM.log"
5、进入docker,开放端口,创建用户
oracle安装目录:/opt/oracle/app/product/11.2.0/dbhome_1/network/admin
docker exec -it oracle11g /bin/bash
/sbin/iptables -I INPUT -p tcp --dport 1521 -j ACCEPT
su - oracle
sqlplus /nolog
conn / as sysdba;
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
alter user umpay account unlock;// 然后解锁
create user umpay identified by umpay2020;
grant create session,create table,create view,create sequence,unlimited tablespace to umpay ;
grant dba to umpay ;
- 失败:Checking swap space: 0 MB available, 150 MB required. Failed <<<<
解决方法:
1、检查 Swap 空间在设置 Swap 文件之前,有必要先检查一下系统里有没有既存的 Swap 文件。如果返回的信息概要是空的,则表示 Swap 文件不存在。运行以下命令:
swapon -s
2、检查文件系统在设置 Swap 文件之前,同样有必要检查一下文件系统,看看是否有足够的硬盘空间来设置 Swap 。运行以下命令:
df -hal
3、创建并允许 Swap 文件下面使用 dd 命令来创建 Swap 文件。检查返回的信息,还剩余足够的硬盘空间即可。
dd if=/dev/zero of=/swapfile bs=1024 count=512k
参数解读:if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file > of=文件名:输出文件名,缺省为标准输出。即指定目的文件。
< of=output file >bs=bytes:同时设置读入/输出的块大小为bytes个字节count=blocks:仅拷贝blocks个块,块大小等于bs指定的字节数。
4、格式化并激活 Swap 文件上面已经创建好 Swap 文件,还需要格式化后才能使用。运行命令:
mkswap /swapfile
5、激活 Swap ,运行命令:
swapon /swapfile
6、以上步骤做完,再次运行命令,你会发现返回的信息概要::
swapon -s
Filename Type Size Used Priority
/swapfile file 524284 0 -1
7、如果要机器重启的时候自动挂载 Swap ,那么还需要修改 fstab 配置。用 vim 打开 /etc/fstab 文件,在其最后添加如下一行:
/swapfile swap swap defaults 0 0
8、最后,赋予 Swap 文件适当的权限:
chown root:root /swapfile
chmod 0600 /swapfile
9、重建
a) 停用:swapoff /swapfile
b) 激活:swapon /swapfile
c) 删除:rm –rf /swapfile
d) 删除随即启动swap:vi /etc/fstab
- 解决sqlplus删除方向键等动作乱码
参考oracle/解决sqlplus删除方向键等动作乱码
在docker中安装软件,可以将软件放在映射目录/install中