oracle导入线上数据的详细指南

 更新时间:2024年11月21日 09:56:00   作者:程序猿阿三  
这篇文章主要介绍了oracle导入线上数据的全步骤,文中通过代码示例和图文结合的形式讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下

多租户架构允许oracle数据库成为一个多租户的容器数据库,也就是CDB,container database,与之相对应的,则是插入到这个容器里面的可插拔式数据库,pluggable database

一个CDB可以包含0,1或者多个用户创建的PDB。

一个PDB则是一个可插拔式的集合,它包含了用户,用户的对象,以及非用户的对象,它对外看起来就相当于一个non-CDB,也就是普通数据库。在12C之前的所有数据库都是non-CDB。

CDB里面的容器

一个容器既是一个PDB,也是一个root。

1、准备好数据库, 使用docker方式安装oracle数据库

docker run -d --name oracle  --privileged  -v /d/docker_env/oracle/db_data:/opt/oracle/oradata  -p 5050:5050 -p 5500:5500 -p 1521:1521 scalified/oracle-database:12.1.0.2-ee

注意第一次拉取镜像有点慢。

2、配置数据库

创建本地数据库用户名和密码,以及表空间,进入容器中

(2.1) docker exec -it bc261a5326c6  /bin/sh

(2.2) 修改tnsnames.ora文件, echo $ORACLE_HOME,找到文件位置

tnsnames.ora, $ORACLE_HOME\network\admin 下,

打开tnsnames.ora 查看默认数据库,配置环境变量,不然下面2.3代码无法生效

export ORACLE_SID=ORCLCDB

(2.3)输入以下代码

sqlplus sys/change_on_install as sysdba

(2.4)创建新的pdb AEOLUSOA, 注意路径是根据命令( select name from v$datafile;) 得出来,并非随意捏造。

CREATE PLUGGABLE DATABASE AEOLUSOA  ADMIN USER DB_OA_FZ_FJJSZX IDENTIFIED BY ****** STORAGE (MAXSIZE 100G) DEFAULT TABLESPACE TBS_DB_OA_FZ_FJJSZX  DATAFILE '/opt/oracle/oradata/ORCLCDB/AEOLUSOA/AEOLUSOA01.dbf' SIZE 150M AUTOEXTEND ON PATH_PREFIX = '/opt/oracle/oradata/ORCLCDB/AEOLUSOA/' FILE_NAME_CONVERT = ('/opt/oracle/oradata/ORCLCDB/pdbseed/', '/opt/oracle/oradata/ORCLCDB/AEOLUSOA/');

(2.5)输入以下代码,启动PDB数据库: 

alter pluggable database AEOLUSOA open;  

(2.6)防止每次docker重新启动,需要多次配置

alter pluggable database AEOLUSOA save state;

(2.7)删除不要的pdb(可选)

drop pluggable database AEOLUSOA;

(2.8)启动pdb,以下步骤一定要在自己pdb操作

 alter session set container=AEOLUSOA ;

(2.9)授权用户

grant imp_full_database to DB_OA_FZ_FJJSZX;
 
grant SYSDBA to DB_OA_FZ_FJJSZX;
grant all PRIVILEGES TO DB_OA_FZ_FJJSZX;
grant imp_full_database to DB_OA_FZ_FJJSZX;

(2.10)创建表空间(可选),一定要跟线上一致不然,这步不做的话,默认是system的表空间,导入数据需要用vi,修改dmp文件

 create tablespace TBS_DB_OA_FZ_FJJSZX_AUTOFORM logging datafile '/opt/oracle/oradata/ORCLCDB/AEOLUSOA/TBS_DB_OA_FZ_FJJSZX_AUTOFORM
.dbf' size 10240m autoextend on next 100m MAXSIZE unlimited   extent management local;
 
alter user DB_OA_FZ_FJJSZX_AUTOFORM quota unlimited on TBS_DB_OA_FZ_FJJSZX_AUTOFORM;

or

vi *.dmp
:1,$s/TBS_DB_OA_FZ_FJJSZX/SYSTEM/g

(2.11)配置tnsname.ora文件,将下面字复制到tnsname.ora文件中

AEOLUSOA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = AEOLUSOA)
    )
  )

(2.12)数据库迁移导入

线上备份

(1)、执行服务器的备份脚本,如

set mySid=JSZXOA
 
set myPath=D:/data/%date%
 
set user1=DB_OA_FZ_FJJSZX
set pass1=*******
 
set user2=DB_OA_FZ_FJJSZX_AUTOFORM
set pass2=********
 
md "%myPath%"
 
 
exp '%user1%/%pass1%@%mySid%' file='%myPath%/%user1%.dmp' log='%myPath%/%user1%.log'
exp '%user2%/%pass2%@%mySid%' file='%myPath%/%user2%.dmp' log='%myPath%/%user2%.log'
 
 

(2)、数据在D:\data\{导出日期}\中。

(3)、复制到本地

(4)、dmp文件复制到启动的容器中,注意e6a787fccdf2,要使用docker ps命令查看当前docker启动的id

docker cp d:\data\2024-10-17\DB_OA_FZ_FJJSZX.dmp  e6a787fccdf2:/opt/oracle

(5)数据导入

imp DB_OA_FZ_FJJSZX/DB_OA_FZ_FJJSZX@AEOLUSOA fromuser=DB_OA_FZ_FJJSZX  touser=DB_OA_FZ_FJJSZX file=/opt/oracle/DB_OA_FZ_FJJSZX.dmp log=/opt/oracle/imp.log ignore=y

以上就是oracle导入线上数据的详细指南的详细内容,更多关于oracle导入线上数据的资料请关注脚本之家其它相关文章!

相关文章

  • 在Linux系统上同时监控多个Oracle数据库表空间的方法

    在Linux系统上同时监控多个Oracle数据库表空间的方法

    这篇文章主要介绍了在Linux系统上同时监控多个Oracle数据库表空间的方法,文中给出了shell脚本以及统计数据的录入写法,需要的朋友可以参考下
    2016-01-01
  • Oracle存储过程新手入门教程(附学习用例)

    Oracle存储过程新手入门教程(附学习用例)

    存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令,下面这篇文章主要给大家介绍了关于Oracle存储过程新手入门教程的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-03-03
  • oracle数据库中listagg函数使用详解

    oracle数据库中listagg函数使用详解

    listagg函数是Oracle数据库中的一个聚合函数,用于将一组值连接成一个以指定分隔符分隔的字符串,这篇文章主要给大家介绍了关于oracle数据库中listagg函数使用的相关资料,需要的朋友可以参考下
    2024-06-06
  • Oracle中trunc()函数实例详解

    Oracle中trunc()函数实例详解

    trunc函数用法用于截取时间或者数值,返回指定的值,下面这篇文章主要给大家介绍了关于Oracle中trunc()函数详解的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-01-01
  • Oracle执行计划及性能调优详解使用方法

    Oracle执行计划及性能调优详解使用方法

    在Oracle数据库中,通过使用EXPLAIN PLAN、AWR、SQL Trace等工具可以对SQL性能进行详细分析,EXPLAIN PLAN可以展示SQL执行计划和关键性能指标如操作类型、成本、行数等,本文给大家介绍Oracle执行计划及性能调优详解使用方法,感兴趣的朋友跟随小编一起看看吧
    2024-09-09
  • Oracle监控数据库性能的方法步骤

    Oracle监控数据库性能的方法步骤

    监控数据库性能是确保数据库系统高效运行并快速响应用户请求的关键步骤,有效的数据库性能监控可以帮助识别和解决性能瓶颈,预测潜在问题,并优化资源使用,以下是详细的步骤和代码示例,指导你如何监控数据库性能,需要的朋友可以参考下
    2024-08-08
  • Oracle停止数据泵导入数据的方法详解

    Oracle停止数据泵导入数据的方法详解

    Oracle数据库在使用的过程中常常会遇到这样或那样的问题,而这些问题常常又使我们感到很困惑,下面这篇文章主要给大家介绍了关于Oracle停止数据泵导入数据的相关资料,需要的朋友可以参考下
    2022-06-06
  • ORACLE 12C PDB 维护基础知识介绍

    ORACLE 12C PDB 维护基础知识介绍

    CDB和PDB是ORACLE 12C一个很亮的新特性,由于他们的引入导致传统的ORACLE数据库管理理念不少发生了改变,这里列举了部分最基本的cdb和pdb管理方式
    2016-09-09
  • Oracle中sequence(序列)使用方法详解

    Oracle中sequence(序列)使用方法详解

    在oracle中sequence就是序号,每次取的时候它会自动增加,下面这篇文章主要给大家介绍了关于Oracle中sequence(序列)使用方法的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-03-03
  • Oracle并行操作之并行查询实例解析

    Oracle并行操作之并行查询实例解析

    这篇文章主要介绍了Oracle并行操作的并行查询技术,需要的朋友可以参考下
    2014-07-07

最新评论