完成centos7使用docker安装配置Oracle需要做以下几点:
1.VMware安装centos7;
2.centos7配置网络;
3.centos7安装配置docker;
4.docker安装配置Oracle以及dmp文件的导入导出;
虚拟机的安装就不做过多的赘述了,这里主要讲一下虚拟机网络的配置的步骤。
vi /etc/sysconfig/network-scripts/ifcfg-ens33
ONBOOT="yes"
IPADDR="192.168.142.168"
GATEWAY="192.168.142.122"
NETMASK=255.255.255.0
DNS="192.168.147.2" 或者之间使用8.8.8.8
详解:
ONBOOT="yes" # 该网卡是否随网络服务启动
IPADDR="192.168.142.168" #主机ip地址
GATEWAY="192.168.142.122" # 网关
如何查看网关:虚拟机编辑-->虚拟机网络编辑器-->选择VMnet8-->更改设置-->选择VMnet8-->点击NET设置查看网关以 及子网掩码
NETMASK="255.255.255.0" # 子网掩码
如何查看DNS:查看宿主机的网络连接,点击详情查看dns
DNS1="192.168.147.12"
3.重启网络
systemctl restart network
4.测试
ping www.baidu.com
5.若不能ping通,再添加网关地址
vi /etc/sysconfig/network
内容如下:
NETWORKING=yes
HOSTNAME=xxxx #名字随便了
GATEWAY=192.168.142.122 #默认网关和宿主机相同
6.添加DNS
vi /etc/resolv.conf
内容如下:
# Generated by NetworkManager
nameserver 192.168.147.12 #DNS,跟宿主一样
在重启网络即可
1.yum安装gcc相关
yum -y install gcc
yum -y install gcc-c++
2.卸载旧版本
yum -y remove docker docker-common docker-selinux docker-engine
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
3.安装需要的软件包
yum install -y yum-utils device-mapper-persistent-data lvm2
4.设置stable镜像仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
5.更新yum软件包索引
yum makecache fast
6.安装DOCKER CE
yum -y install docker-ce
7.启动docker
systemctl start docker
8.测试
查看docker版本
docker version
第一个docker应用
docker run hello-world
9.配置镜像加速
mkdir -p /etc/docker
vim /etc/docker/daemon.json
#网易云
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
#阿里云
{
"registry-mirrors": ["https://mirror.aliyuncs.com"]
}
因为docker使用的是国外的仓库,所以在拉取镜像的时候就很慢所以需要配置镜像加速,这里就需要选择自己网易云或者是阿里云,需要自己到官网上注册。
这样docker就安装配置完成了
1.拉取镜像
docker pull registry.aliyuncs.com/helowin/oracle_11g
2.查看所有镜像
docker images
3.创建容器
docker run -d -p 1521:1521 --name oracle registry.aliyuncs.com/helowin/oracle_11g
4.运行容器
docker start oracle
5.进入容器
docker exec -it oracle bash
6.设置信息
1)切换root用户模式(现处于容器中)
su root
输入密码:helowin
注:输入时不会有提示,输入回车即可
2)编辑profile文件配置ORACLE环境变量
vi /etc/profile
在文件最后添加以下命令:
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH
按下insert键,输入命令后
多次按Esc键退出insert模式
然后按ctrl+c 输入::wq保存退出
source /etc/profile
立即执行
这里后面执行sqlplus /nolog时可能会出现报错
bash: sqlplus: command not found
再次执行source /etc/profile
即可。
7.sqlplus连接数据库
切换oracle用户:
su oracle
1使用sqlplus连接到oracle
sqlplus /nolog
conn /as sysdba
修改system和sys密码为oracle,并设置修改密码时间为无限
alter user system identified by oracle;
alter user sys identified by oracle;
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
数据库信息
端口:1521
SID:helowin
账号:system
密码:oracle
8.创建用户表空间
1)创建dmp文件夹以及tablespace,回到容器中
mkdir /data/dmp
mkdir /data/tablespace
为文件设置oracle权限,设置目录所有者为oinstall用户组的oracle用户
chown -R oracle:oinstall /data/dmp
chown -R oracle:oinstall /data/tablespace
2)创建directory 为dmp,进入sqlplus
create or replace directory dmp as '/data/dmp';
3)创建表空间
create tablespace 自定义名称 datafile '/data/tablespace/自定义名称.dbf' size 1024M autoextend on next 500M maxsize unlimited EXTENT MANAGEMENT local autoallocate segment space management auto;
4)sqlplus中创建新用户并授权
create user 用户名称 identified by 密码 default tablespace 表空间名称;
grant connect,resource to 用户的名称;
grant create any sequence to 用户的名称;
grant create any table to 用户的名称;
grant delete any table to 用户的名称;
grant insert any table to 用户的名称;
grant select any table to 用户的名称;
grant unlimited tablespace to 用户的名称;
grant update any table to 用户的名称;
grant dba to 用户的名称;
9.导入与导出
1)导入dmp文件进入docker容器
docker cp /mnt/hgfs/share(宿主机地址) dockerId:/data/dmp
1)导入:
再倒入之前需要切换到oracle ~
su - oracle
impdp 用户名/密码@localhost:1521/helowin directory=dmp dumpfile=dmp文件名.DMP schemas=dmp文件导出时的schemas REMAP_SCHEMA=现在导入的用户名:dmp文件的用户名
2)导出
expdp 用户名/密码@localhost:1521/helowin directory=dmp schemas=用户名 dumpfile=自定义dmp version=11.2.0.1.0
10.连接plsql
用户名:用户名
口令:密码
数据库:ip/helowin
连接为:Normal