生产环境下,oracle不同用户间的数据迁移。第三部分
任务名称:生产环境下schema ELON数据迁移至schema TIAN
########################################
前期准备:
1:确认ELON用户下的对象状态
select owner,constraint_name,constraint_type,table_name,status,validated from dba_constraints where owner='ELON'
owner constraint_name constraint_type table_name status validated
ELON FK_DUDECT_RESULT_AGREEMENT_ID R T_DUDECT_RESULT DISABLED NOT VALIDATED
有一个外键约束状态为DISABLED NOT VALIDATED
2:确认两个用户的对象有无重名
SQL>select distinct(object_type) from dba_objects where owner='ELON';
SEQUENCE
TRIGGER
TABLE
INDEX
SQL>select count(*) from dba_objects where owner='ELON';
56
SQL>select count(*) from dba_objects where owner='TIAN';
283
[oracle@PROD-DB ~]$ diff TIAN_object.txt ELON_object.txt
或者:select count(*) from dba_objects where owner='ELON' and object_name not in (select object_name from dba_objects where owner='TIAN');
56
结论:无重名对象
3:确定两个用户的约束有无重名
SQL>select count(*) from dba_constraints where owner='TIAN';
1441
SQL>select count(*) from dba_constraints where owner='ELON';
179
[oracle@PROD-DB ~]$ sqlplus / as sysdba <TIAN_con.sql
[oracle@PROD-DB ~]$ diff TIAN_con1.txt ELON_con1.txt > diff.txt
也可以这样排查:
SQL>select count(*) from dba_constraints where owner='ELON' and constraint_name not in (select constraint_name from dba_constraints where owner='TIAN');
179
结论:无重名的约束
4:确定ELON默认数据表空间、临时表空间、索引表空间
SQL>select username,default_tablespace,temporary_tablespace from dba_users where username = 'ELON';
ELON ELON_DATA01 ELON_TEMP
SQL>select username,default_tablespace,temporary_tablespace from dba_users where username = 'TIAN';
TIAN TIAN_DATA01 TIAN_TEMP
SQL>select owner,index_name,tablespace_name from dba_indexes where owner='ELON';
ELON IDX_REQ_DATE ELON_DATA01
ELON FK_ID ELON_DATA01
ELON IDX_T_DU_RES ELON_DATA01
ELON PK_T_TEMP ELON_IDX01
ELON PK_T_SYS_EXCEPTION ELON_IDX01
ELON PK_T_MESSAGE ELON_IDX01
5:确定dump目录及目录大小
SQL> select * from dba_directories;
OWNER DIRECTORY_NAME DIRECTORY_PATH ORIGIN_CON_ID
---------- ------------------------- -------------------------------------------------- -------------
SYS EXPDP_DIR /data/backup
6:停服务,确保无新数据写入:
7:数据泵导出ELON数据和备份TIAN数据:
7.1数据泵导出ELON数据和备份TIAN数据
expdp system/xxxxxx SCHEMAS=ELON directory=EXPDP_DIR dumpfile =ELON_`date +"%Y%m%d%H%M%S"`.dmp logfile=ELON_`date +"%Y%m%d%H%M%S"`_exp.log
expdp system/xxxxxx SCHEMAS=TIAN directory=EXPDP_DIR dumpfile =TIAN_`date +"%Y%m%d%H%M%S"`.dmp logfile=TIAN_`date +"%Y%m%d%H%M%S"`_exp.log
7.2向TIAN的schema,利用数据泵导入ELON数据:
1)向TIAN导入数据前,查询表空间利用情况:
SQL> select df.tablespace_name ,totalspace total_size, (totalspace-freespace) used_size,freespace avail_size ,round((1-freespace/totalspace)*100) as used_ratio
2 from (select tablespace_name,round(sum(bytes)/1024/1024) totalspace
from dba_data_files group by tablespace_name) df,(select tablespace_name,round(sum(bytes)/1024/1024) freespace
4 from dba_free_space group by tablespace_name) fs where df.tablespace_name=fs.tablespace_name;
TABLESPACE_NAME TOTAL_SIZE USED_SIZE AVAIL_SIZE USED_RATIO
------------------------------ ---------- ---------- ---------- ----------
TIAN_DATA01 20480 8087 12393 39
ELON_IDX01 10240 88 10152 1
SYSAUX 3072 1739 1333 57
UNDOTBS1 83910 8225 75685 10
ELON_DATA01 20480 1979 18501 10
TIAN_IDX01 10240 3591 6649 35
USERS 1024 2 1022 0
SYSTEM 2048 845 1203 41
11 rows selected.
SQL> select a.use_sp 表空间,
round((use_size + free_size),4) || 'G' 总空间,
round(use_size,4) || 'G' 已使用,
round(free_size,4) || 'G' 可用,
round(free_size / (use_size + free_size),4) * 100 || '%' 可用百分比
from (select/*+rule(a)+*/ tablespace_name use_sp,
sum(bytes) / 1024 / 1024 / 1024 use_size
from dba_segments
group by tablespace_name) a,
(select tablespace_name use_sp,
sum(bytes) / 1024 / 1024 / 1024 free_size
from dba_free_space
group by tablespace_name) b
where a.use_sp = b.use_sp;
表空间 总空间 已使用 可用 可用百分比
--------------- ---------- --------------- --------------- --------------------
TIAN_DATA01 20.0723G 7.9698G 12.1025G 60.29%
TIAN_IDX01 10.0049G 3.5115G 6.4934G 64.9%
ELON_DATA01 19.998G 1.9305G 18.0676G 90.35%
ELON_IDX01 9.999G .0852G 9.9138G 99.15%
SYSAUX 3.0801G 1.7782G 1.3019G 42.27%
SYSTEM 1.999G .8244G 1.1746G 58.76%
UNDOTBS1 81.9404G 8.0297G 73.9107G 90.2%
USERS .999G .0007G .9984G 99.93%
10 rows selected.
2)导入数据
[oracle@PROD-DB ~]$impdp system/xxxxxx directory=EXPDP_DIR dumpfile=ELON_20180412224710.dmp logfile=TIAN_`date +"%Y%m%d%H%M%S"`_impdp.log remap_schema=ELON:TIAN remap_tablespace=ELON_DATA01:TIAN_DATA01,ELON_IDX01:TIAN_IDX01,ELON_TEMP:TIAN_TEMP TABLE_EXISTS_ACTION=SKIP
2)完成之后,查看表空间利用率,数据增长是否正常
SQL> select a.use_sp 表空间,
round((use_size + free_size),4) || 'G' 总空间,
round(use_size,4) || 'G' 已使用,
round(free_size,4) || 'G' 可用,
round(free_size / (use_size + free_size),4) * 100 || '%' 可用百分比
group by tablespace_name) b
from (select/*+rule(a)+*/ tablespace_name use_sp,
sum(bytes) / 1024 / 1024 / 1024 use_size
from dba_segments
group by tablespace_name) a,
(select tablespace_name use_sp,
sum(bytes) / 1024 / 1024 / 1024 free_size
from dba_free_space
group by tablespace_name) b
where a.use_sp = b.use_sp;
表空间 总空间 已使用 可用 可用百分比
--------------- ---------- --------------- --------------- --------------------
TIAN_DATA01 20.0723G 9.9618G 10.1105G 50.37%
TIAN_IDX01 10.0049G 3.6025G 6.4023G 63.99%
ELON_DATA01 19.998G 1.9305G 18.0676G 90.35%
ELON_IDX01 9.999G .0852G 9.9138G 99.15%
SYSAUX 3.0801G 1.7806G 1.2996G 42.19%
SYSTEM 1.999G .8244G 1.1746G 58.76%
UNDOTBS1 81.9404G 8.1352G 73.8052G 90.07%
USERS .999G .0007G .9984G 99.93%
10 rows selected.
7.3监控数据泵的工作状态:
SQL> select * from DBA_DATAPUMP_JOBS;
SQL> select * from DBA_DATAPUMP_SESSIONS;
SQL> SELECT OPNAME, TARGET_DESC, SOFAR, TOTALWORK FROM V$SESSION_LONGOPS;
8:验证
迁移之后TIAN总的对象数目
SQL> select count(*) from dba_objects where owner='TIAN';
339
即:283+56
ELON的对象全部迁移到TIAN
SQL>select count(*) from dba_objects where owner='ELON' and object_name not in (select object_name from dba_objects where owner='TIAN');
0
迁移之后TIAN总的约束数目
SQL> select count(*) from dba_constraints where owner='TIAN';
1620
select count(*) from dba_constraints where owner='ELON' and constraint_name not in (select constraint_name from dba_constraints where owner='TIAN');
155
#因为ELON下包含155个非空约束、17个主键约束、7个外键约束;非空约束,系统生成,在导出导入的过程中,约束名发生改变(如SYS_C0017556)
9:回收ELON权限
SQL> select * from dba_sys_privs where grantee='ELON'
ELON CREATE TABLE NO NO
ELON CREATE VIEW NO NO
ELON DEBUG CONNECT SESSION NO NO
ELON DEBUG ANY PROCEDURE NO NO
ELON CREATE DATABASE LINK NO NO
SQL> revoke
生产环境下,oracle不同用户间的数据迁移。第三部分的更多相关文章
- 生产环境下,oracle不同用户间的数据迁移。第一部分
:任务名称:生产环境下schema ELON数据迁移至schema TIAN ######################################## 测试一:测试参数 数据泵数据导出:exp ...
- 生产环境下,oracle不同用户间的数据迁移。第二部分
任务名称:生产环境下schema ELON数据迁移至schema TIAN######################################## 测试二:测试参数remap_tablespa ...
- .NetCore生产环境下构建Consul(单个DC数据中心)的服务器健康检查
下载最新的consul程序 consul 启动方式有两种 server 和client 默认是client 如果你不需要记录数据可以用 consul agent -dev 来启动 consul age ...
- Oracle同一数据库实例不同用户间的数据迁移
1.目标用户登录,创建自我连接的DB LINK -- Create database link create public database link MYLINK connect to 原用户名 u ...
- Mysql迁移工具在生产环境下的使用
在产品迭代开发发布过程中,由于业务需求的增加,数据库难免会有结构调整等操作. 在每个版本发布过程中怎么控制每个版本server端程序与数据库版本保持一致,以及数 据库升级.回滚等操作. 本博文宅鸟将向 ...
- 全世界最详细的图形化VMware中linux环境下oracle安装(一)【weber出品必属精品】
安装流程:前期准备工作--->安装ORACLE软件--->安装升级补丁--->安装odbc创建数据库--->安装监听器--->安装EM <前期准备工作> 安装 ...
- centos7生产环境下openssh升级
由于生产环境ssh版本太低,导致使用安全软件扫描时提示系统处于异常不安全的状态,主要原因是ssh漏洞.推荐通过升级ssh版本修复漏洞 因为是生产环境,所以有很多问题需要注意.为了保险起见,在生产环境下 ...
- 生产环境下lnmp的权限说明
https://www.cnblogs.com/zrp2013/p/4183546.html 有关权限说明:-rwxrw-r‐-1 root root 1213 Feb 2 09:39 50.html ...
- Linux环境下Oracle安装参数设置
前面讲了虚拟机的设置和OracleLinux的安装,接下来我们来说下Oracle安装前的准备工作.1.系统信息查看系统信息查看首先服务器ip:192.168.8.120服务器系统:Oracle Lin ...
随机推荐
- TensorFlow学习笔记7-深度前馈网络(多层感知机)
深度前馈网络(前馈神经网络,多层感知机) 神经网络基本概念 前馈神经网络在模型输出和模型本身之间没有反馈连接;前馈神经网络包含反馈连接时,称为循环神经网络. 前馈神经网络用有向无环图表示. 设三个函数 ...
- mysql使用触发器生成唯一订单号,
需求:订单号唯一,并且期望是时间格式加其他字符串, 实现:采用触发机制,在新增时根据新增id值加1作为订单生成的随机且确定唯一的数,因为id唯一: 遇到问题:新增时不能提前知道id值, 解决:取到当前 ...
- c# 对象相等性和同一性
一:对象相等性和同一性 System.Object提供了名为Equals的虚方法,作用是在两个对象包含相同值的前提下返回true,内部实现 public class Object { public v ...
- oracle--权限的传递
sys 用户 普通授权lisi grant alter any table to lisi; 将权限指定admin ,可以权限传递给其他用户 grant alter any table to lisi ...
- 配置Trunk接口
实验内容 本实验模拟某公司网络场景.公司规模较大,员工200余名,内部网络是-一个大的局域网.公司放置了多台接入交换机(如S1和S2)负责员工的网络接入.接入交换机之间通过汇聚交换机S3相连.公司通过 ...
- Centos 7下Hadoop分布式集群搭建
一.关闭防火墙(直接用root用户) #关闭防火墙 sudo systemctl stop firewalld.service #关闭开机启动 sudo systemctl disable firew ...
- jsp常问面试题集
1.Servlet总结 在Java Web程序中,Servlet主要负责接收用户请求 HttpServletRequest,在doGet(),doPost()中做相应的处理,并将回应HttpServl ...
- [LOJ2736] [JOISC 2016 Day 3] 回转寿司 (分块+堆)
[LOJ2736] [JOISC 2016 Day 3] 回转寿司 (分块+堆) 题面 给出一个有n 个点的环,环上各点有一个初始权值 \(a_i\) 给出 Q 个询问,每次询问给出一个区间 [l,r ...
- Python自学第二天学习之《元组与字典》
一. 元组:tuple类型,元组一级元素 不能修改 不能增加 不能删除,是有序的. 格式 :tu=(1,2,3,4,5,6) 1.类型转换: #字符串转换成元组 b=“123” c=tuple(b) ...
- 2019 Multi-University Training Contest 4 - 1010 - Minimal Power of Prime
http://acm.hdu.edu.cn/showproblem.php?pid=6623 题意,给50000个1e18级别的数N,求它质因数分解里面的最小的指数(不算0) 比赛的时候给划了一个1e ...