查询docker镜像

  docker search oracle

结果如下:

[root@VM_0_2_centos app]# docker search oracle
NAME                                  DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
oraclelinux                           Official Docker builds of Oracle Linux.         641                 [OK]
jaspeen/oracle-11g                    Docker image for Oracle 11g database            155                                     [OK]
oracleinanutshell/oracle-xe-11g                                                       88
oracle/openjdk                        Docker images containing OpenJDK Oracle Linux   60                                      [OK]
oracle/graalvm-ce                     GraalVM Community Edition Official Image        59                                      [OK]
absolutapps/oracle-12c-ee             Oracle 12c EE image with web management cons…   38
araczkowski/oracle-apex-ords          Oracle Express Edition 11g Release 2 on Ubun…   29                                      [OK]
oracle/nosql                          Oracle NoSQL on a Docker Image with Oracle L…   23                                      [OK]
bofm/oracle12c                        Docker image for Oracle Database                23                                      [OK]
datagrip/oracle                       Oracle 11.2 & 12.1.0.2-se2 & 11.2.0.2-xe        18                                      [OK]
truevoly/oracle-12c                   Copy of sath89/oracle-12c image (https://git…   13
oracle/weblogic-kubernetes-operator   Docker images containing the Oracle WebLogic…   11
openweb/oracle-tomcat                 A fork off of Official tomcat image with Ora…   8                                       [OK]
iamseth/oracledb_exporter             A Prometheus exporter for Oracle modeled aft…   3
softwareplant/oracle                  oracle db                                       2                                       [OK]
paulosalgado/oracle-java8-ubuntu-16   Oracle Java 8 on Ubuntu 16.04 LTS.              2                                       [OK]
18fgsa/oracle-client                  Hosted version of the Oracle Container Image…   2
roboxes/oracle7                       A generic Oracle Linux 7 base image.            1
publicisworldwide/oracle-core         This is the core image based on Oracle Linux…   1                                       [OK]
bitnami/oraclelinux-runtimes          Oracle Linux runtime-optimized images           0                                       [OK]
bitnami/oraclelinux-extras            Oracle Linux base images                        0                                       [OK]
arm64v8/oraclelinux                   Official Docker builds of Oracle Linux.         0
toolsmiths/oracle7-test                                                               0
pivotaldata/oracle7-test              Oracle Enterprise Linux (OEL) image for GPDB…   0
amd64/oraclelinux                     Official Docker builds of Oracle Linux.         0

下载镜像

[root@VM_0_2_centos app]# docker pull docker.io/truevoly/oracle-12c

查看镜像

下载完成使用命令查看镜像

docker images

结果:

[root@VM_0_2_centos app]# docker images
REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
mysql                 5.7                 84164b03fa2e        3 weeks ago         456MB
truevoly/oracle-12c   latest              21789d4d876f        13 months ago       5.7GB
[root@VM_0_2_centos app]#

创建备份数据存放目录

mkdir /usr/local/oracle/data_temp  && chmod 777 /usr/local/oracle/data_temp

创建一个文件目录,用于挂载到容器内,做oracle数据备份时数据存放的位置,保证备份数据不丢失。

启动

 docker run --restart always -d -p 8080:8080 -p 1521:1521 -v /usr/local/oracle/data_temp:/home/oracle/data_temp   -v /etc/localtime:/etc/localtime:ro  --name orac truevoly/oracle-12c

结果:

[root@VM_0_2_centos app]#  docker run --restart always -d -p 8080:8080 -p 1521:1521 -v /usr/local/oracle/data_temp:/home/oracle/data_temp  --name orac truevoly/oracle-12c
71827b1a5decb9a76720db1ace264117fe31f9e2e0ebeb43708572d57c86ee3b
[root@VM_0_2_centos app]#

查看安装进度

docker logs -f 71827b1a5decb9a76720db1ace264117fe31f9e2e0ebeb43708572d57c86ee3b

结果:

[root@VM_0_2_centos data_temp]# docker logs -f 6f1c2f5372b5b60148d4be3a47d41d527fbbb1b1ae0c6a1090fd8b4472a48a4a
Database not initialized. Initializing database.
Starting tnslsnr
Copying database files
1% complete
3% complete
11% complete

安装完成则Ctrl+C退出。

获取运行的容器

docker ps

结果:

[root@VM_0_2_centos data_temp]# docker ps
CONTAINER ID        IMAGE                 COMMAND                          CREATED             STATUS              PORTS                                              NAMES
6f1c2f5372b5        truevoly/oracle-12c   "/entrypoint.sh "        9 minutes ago       Up 9 minutes        0.0.0.0:1521->1521/tcp, 0.0.0.0:8080->8080/tcp   orac
d9fe468f1d89        mysql:5.7             "docker-entrypoint.s…"   2 hours ago         Up 17 minutes       0.0.0.0:3306->3306/tcp, 33060/tcp                mysql

运行id为6f1c2f5372b5容器

docker exec -it 6f1c2f5372b5 /bin/bash

进入Oracle

sqlplus system/oracle@//localhost:1521/xe

结果:

root@6f1c2f5372b5:/# sqlplus system/oracle@//localhost:1521/xe

SQL*Plus: Release 12.1.0.2.0 Production on Fri Mar 27 11:15:50 2020

Copyright (c) 1982, 2014, Oracle.  All rights reserved.


Connected to:
Oracle Database 12c Standard Edition Release 12.1.0.2.0 - 64bit     Production

SQL>

成功。使用pl/sql连接时,xe是这个镜像默认的服务

进入数据库

sqlplus /nolog
connect sys as sysdba; #密码:oracle

##查看oracle现在的状态 ,状态为 OPEN 则正常
select status from v$instance;   

##修改用户 system 的密码为 oracle ,可以自定义
alter user system identified by oracle;   

#创建账户

create user 账户 identified by 密码;

(create user testlu identified by LuQAZwsx;)

GRANT CONNECT, RESOURCE, DBA TO testlu;

创建用户名为test密码为LuQAZwsx的账户。

给用户授予权限

grant create session to testlu;
grant connect,resource to testlu;

查询所有账户

SELECT * FROM ALL_USERS;

使用以下命令获取安装的数据库的服务名称。

select value from v$parameter where name='service_names';

结果:

SQL> select value from v$parameter where name='service_names';

VALUE
--------------------------------------------------------------------------------
xe

可以使用客户端链接了:
账号:test
密码:123456
端口:1521
服务名称:xe

常用命令操作

--首先查询一下用户的profile的类型
select username ,profile from dba_users;

--查看制定概要文件(默认为DEFAULT)的密码有效期:
select  * from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';

--然后将密码的有效期有180天设置为“无限制”;
ALTER PROFILE  DEFAULT  LIMIT PASSWORD_LIFE_TIME UNLIMITED;

-- 修改密码
alter user hysjy identified by 123456;

-- 查询所有用户
SELECT * FROM ALL_USERS;

-- 创建账户
create user hysjy identified by 123456;
GRANT CONNECT, RESOURCE, DBA TO hysjy;

--  给用户授予权限
grant create session to hysjy;
grant connect,resource to hysjy;

-- 解除锁定
alter user hysjy account unlock;

commit;

说明

本文只做学习参考,如有任何不准确的地方欢迎指正。

Logo

更多推荐