docker 安装 oracle11g & oracle导入dmp文件

本文详细介绍了如何使用Docker容器安装Oracle 11g数据库,并提供了配置步骤与导入DMP文件的具体操作流程。从拉取镜像、启动容器到配置环境变量,再到创建表空间和用户,最后完成数据导入,全程覆盖。
1.docker 安装 oracle11g
拉取镜像
 docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
启动容器
docker run -d -p 1521:1521  -v /opt/oracle:/tmp --privileged=true  --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g  --restart=on-failure:3 
进入容器
docker exec -it oracle11g bash
切换为root用户 密码为helowin
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
创建软连接
  ln -s $ORACLE_HOME/bin/sqlplus /usr/bin #可以任意处运行sqlplus命令
切换为oracle用户
su - oracle ###  su - 会把环境变量带过来
使用sqlplus 进入
sqlplus /nolog
conn /as sysdba
2.导入dmp文件
将dmp文件用ftp传入 宿主机/opt/oracle 目录(挂载点)
创建oracle 表空间路径并授权
mkdir -p /home/oracle/app/oradata/helowin
chown -R oracle /home/oracle/app/oradata/helowin
创建表空间
create tablespace EFMIS
logging
datafile '/home/oracle/app/oradata/helowin/EFMIS.dbf'
size 32M
autoextend on
next 32M maxsize 2048M
extent management local;
创建用户,授权表空间
create user boss identified by boss default tablespace EFMIS;
grant dba to boss;
exit 命令退出sql界面,开始导入数据库
imp boss/boss@helowin file=/home/oracle/KEQYYZQZHYS2020-2020-05-21.dmp full=y ignore=y

!!!此安装默认连接的时候的实例名为helowin,不是orcl ,配置链接的时候要注意下

主要参考:https://blog.youkuaiyun.com/qq_38380025/article/details/80647620

### 在 Docker 容器中使用 Oracle `impdp` 工具导入 DMP 文件 为了成功在 Docker 容器中的 Oracle 数据库实例里利用 `impdp` 导入 `.dmp` 文件,需遵循一系列特定的操作流程。 #### 准备工作 确保已下载并启动合适的 Oracle 镜像。对于本案例而言,可以考虑使用官方推荐镜像之一: ```bash docker pull oracleinanutshell/oracle-xe-11g ``` 接着启动该容器,并指定必要的端口映射以便外部访问数据库服务[^1]。 #### 将本地 DMP 文件复制至容器内部 采用 `docker cp` 命令实现主机文件向容器内的传输。假设目标路径为 `/u01/app/oracle/admin/XE/dpdump/` (具体取决于所使用的 Oracle 版本),则命令形式如下所示: ```bash docker cp aa.dmp container_id:/u01/app/oracle/admin/XE/dpdump/ ``` 此处 `container_id` 应替换为实际的容器 ID 或名称;而 `aa.dmp` 是经过简化命名后的数据泵导出文件[^2]。 #### 登录容器执行 IMPDP 操作 通过 `docker exec` 获取进入正在运行之容器的能力,进而切换到具有适当权限的身份来调用 `impdp` 实用程序。通常情况下,默认用户可能不具备足够的权利来进行此类操作,因此有必要先转成超级管理员账户再继续后续步骤: ```bash docker exec -it container_id bash su - oracle export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe export PATH=$ORACLE_HOME/bin:$PATH ``` 最后,在确认环境变量设置无误之后便能正式启动数据加载过程了。下面给出了一条典型的 `impdp` 使用语句作为参考: ```sql impdp system/password DIRECTORY=DATA_PUMP_DIR DUMPFILE=aa.dmp LOGFILE=import.log FULL=Y ``` 上述指令里的参数可根据实际情况作出相应调整,比如更改用户名密码组合或是限定仅恢复部分对象而非整个模式等[^3]。 如果遇到权限方面的问题,则应核查相关目录的所有权以及属性配置是否恰当,必要时可参照先前经验进行修正[^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值