(2)Oracle数据库容器搭建步骤

2023-12-13 04:35:56

1.拉取oracle镜像(在此步骤前先安装docker):

#如果是首次拉取镜像,需要登录账号进行授权

docker login ?(输入账号密码:linwukui/lin123456)

提示登录成功后即可正常拉取镜像

#拉取oracle镜像,如果不知道镜像名可以先进行搜素

docker search oracle

Docker pull oracleinanutshell/oracle-xe-11g

2.拉取成功后可以查看本地镜像:

docker images

#可以根据自己的需要对镜像进行更名和修改tag标签

docker tag ad13c30ec346 new_name:new_tag

3.启动容器:

普通启动:

docker run -d -p 1521:1521 --name=容器名称 --restart=always 镜像ID

数据卷挂载(加-v参数即可):

Eg:docker run -d -p 1521:1521 -v 本机目录:容器内目录 --name=容器名称 --restart=always 镜像ID

#因车辆实物ID系统属于迁移,同时容器内oracle目录是/u01/,所以可以将需要迁移的数据放到本机/u01/目录下

具体操作流程如下(oracle数据持久化):

(1)先启动容器,挂载本地两个目录,分别是/u01和/home:

docker run -d -p 1521:1521 -v /u01:/u01 -v /home:/home --name=oracle --restart=always 镜像ID

(2)查看oracle容器是否正常启动:

docker ps|grep oracle

(3)将迁移的数据/u01目录下的所有文件拷贝到本机/u01目录下:

此时在oracle容器内部也会存在:

进入oracle容器:

docker exec -it 9c3f865bfda7 /bin/bash

切换到oracle账户:
su oracle

所有准备工作全部完成:

(4)以sysdba管理员进入oracle数据库:

sqlplus / as sysdba

查看用户:

(5)navicate连接oracle数据库:

连接信息:

选择角色:

sysdba角色权限较高,可以使用数据泵操作;

点击测试连接:

连接成功即可

注意:如果oracle容器数据库出现问题,保留好/u01/app即可(持久化,数据不会丢失)

----------------------------------------------------------------------------------------------------------------------

番外篇:oralce启动后初始操作(新,不需要使用老的数据)

1.启动oracle容器并挂载本机路径:

docker run -d -p 1521:1521 -v /home:/home --name=oracle xxx

2.进入容器:

docker exec -it xxx /bin/bash

记得切换oracle用户:su oracle

3.创建账号:

(1)system账号登录:

sqlplus /nolog ?//sqlplus控制台

sqlplus / as sysdba; ?//系统管理员,权限较高

sqlplus system/oracle

创建用户UVMP_USER:

CREATE USER UVMP_USER IDENTIFIED BY "UVMP_USER";

授权:

GRANT CONNECT,RESOURCE,DBA,SYSDBA TO UVMP_USER;//授权完成后可以在navicate连接时选择sysdba角色

//需要 sqlplus / as sysdba;

GRANT SYSDBA TO UVMP_USER;

此时可尝试使用sysdba角色连接

查看服务名:

show parameter service_name;

修改服务名:

alter system set service_names='orcl' scope=both;

修改配置文件:

vim listener.ora

(SID_DESC=

(GLOBAL_DBNAME=ORCL)

(ORACLE_HOME=e:\ORALE10G)

(SID_NAME=ORALE))

文章来源:https://blog.csdn.net/qq_37651894/article/details/134920787
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。