docker 基础以及配置镜像加速等这里不再描述,前面文章页提到过。直接进入安装步骤。
1,下载镜像
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
2,启动镜像
docker run -d --name oracle -p 1521:1521 registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
3,进入容器(跳过不执行)
docker exec -it 容器id /bin/bash
到这里我们就可以正常使用oracle,但是因为oracle的数据是保存再容器内,如果容器损坏或者被删除则数据就会丢失,所以
我们需要把数据从容器内映射到宿主机上,这样可以保证数据的安全也更方便管理!
4,宿主机创建文件夹
mkdir -p /opt/oracle/
mkdir -p /opt/oracle/flash_recovery_area/
5,拷贝数据库文件至宿主机
docker cp 容器id:/home/oracle/app/oracle/oradata /opt/oracle/oradata
docker cp 容器id:/home/oracle/app/oracle/flash_recovery_area/helowin /opt/oracle/flash_recovery_area/helowin
chmod -R 777 /opt/oracle/
6,停止和删除容器
docker stop 容器id
docker rm 容器id
7,启动docker容器(映射数据文件)
docker run -d --name oracle_llg -p 1521:1521 --privileged=true -v /opt/oracle/oradata:/home/oracle/app/oracle/oradata -v /opt/oracle/flash_recovery_area/helowin:/home/oracle/app/oracle/flash_recovery_area/helowin registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
到这里oracle就启动完成,并且数据文件也已经映射。
8,推荐用docker-compose进行管理
编辑docker-compose文件(oracle.yml)
oracle:
image: registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
environment:
- TZ=Asia/Shanghai
volumes:
- /opt/oracle/oradata/:/home/oracle/app/oracle/oradata/
- /opt/oracle/flash_recovery_area/helowin/:/home/oracle/app/oracle/flash_recovery_area/helowin/
ports:
- "1521:1521"
restart: always
启动服务
docker-compose -f oracle.yml up -d
docker重启后容器会自动启动
9,执行并完成基础设置
(1)进入docker的oracle_11g 容器
docker exec -it 容器id /bin/bash
(2)加载环境变量
source /home/oracle/.bash_profile
或者配置环境变量
此时,用户为oracle,我们切换为root用户。
su root
#密码:helowin
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
#刷新配置
source /etc/profile
#切换回去
su oracle
(3)登录sqlplus
sqlplus /nolog
connect /as sysdba
(4)修改默认用户密码
alter user system identified by system;
alter user sys identified by sys;
#密码永不过期
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
(5)创建表空间
create tablespace test datafile '/home/oracle/app/oracle/oradata/helowin/test.dbf' size 500M autoextend on next 50M maxsize unlimited;
(6)创建用户并指定表空间
create user lwc IDENTIFIED BY 123456 default tablespace test;
(7)给用户授权
grant connect,resource,dba to lwc;
至此完成
IP: 宿主机 ip
端口: 1521
SID:helowin
账号:lwc
密码:123456
10,远程连接测试(这里用的JetBrains DataGrip 2019.1.4)