Oracle imp exp 导入导出 执行脚本_weixin_34232363的博客-程序员秘密

技术标签: shell  数据库  


一:用命令 imp/exp 的方式进行数据的导入和导出


一:文件后缀名:

image


二:oracle  导出 exp 命令

  1 echo 开始备份数据库
  2 if not exist D:\oracle_bak\files md D:\oracle_bak\files
  3 if not exist D:\oracle_bak\logs md D:\oracle_bak\logs
  4 
  5 set var=%date:~0,4%%date:~5,2%%date:~8,2%%time:~9,2%
  6 exp GDSDCZJ/[email protected]/pdborcl    file=D:\oracle_bak\files\GDSDCZJ_%var%.dmp   log=D:\oracle_bak\logs\GDSDCZJ_%var%.log
  7 echo 备份数据库结束
  8 
  9 echo 删除30天前的备份记录
 10 forfiles /p "D:\oracle_bak" /s /m  *.dmp /d -30 /c "cmd /c del @path"
 11 forfiles /p "D:\oracle_bak" /s /m  *.log /d -30 /c "cmd /c del @path"
 12 echo 删除30天前的备份记录结束
 13 exit
 14 


三:oracle  导入 imp 命令

  1 echo 开始导入数据库
  2 set var=%date:~0,4%%date:~5,2%%date:~8,2%
  3 imp GDSDYTH/[email protected]/pdborcl full=y ignore=y file=D:\oracle_bak\files\gdsd_czj_%var%.dmp log=D:\oracle_bak\logs\gdsd_czj_to_apa_imp_%var%.log
  4 echo 导入数据库结束
  5 exit
  6 


四:oracle  删除用户 再创建用户并赋予相对应的操作权限,然后再 导入 imp 命令

image


  1 drop user sync_plus_1_0501 cascade;
  2 create user sync_plus_1_0501 identified by  sync_plus_1_0501
  3  default tablespace sync_plus_1  temporary tablespace temp quota 500m on users;
  4 grant all privileges to   sync_plus_1_0501  ;
  5 grant ALLTAX  to SYNC_PLUS_1_0501;
  6 grant ALLINONE_JX  to sync_plus_1_0501 ;
  7 grant ALLOUTSIDE to sync_plus_1_0501 ;
  8 grant dba to sync_plus_1_0501;
  9 grant RDCX to sync_plus_1_0501;
 10 quit;
 11 
  1     echo 开始导入数据库
  2 	sqlplus sys/[email protected]/pdborcl as sysdba 	@F:\decoument\DB_soft\createUser.sql
  3 
  4     set var=%date:~0,4%%date:~5,2%%date:~8,2%
  5     imp  sync_plus_1_0501/[email protected]/pdborcl full=y ignore=y
  6 	file=F:\decoument\DB_soft\imp_data\SYNC_PLUS_1_%var%.dmp
  7 	log=F:\decoument\DB_soft\imp_data\logs\SYNC_PLUS_1_to_apa_imp_%var%.log
  8     echo 导入数据库结束
  9     exit

执行 效果:

image



五:每天自动创建当天日期为后缀名的oracle用户。并给该用户导入数据

1:看执行效果

image


2:上脚本:

Imp_toDay_Data.bat

  1     echo 开始导入数据库
  2 	set var=%date:~0,4%%date:~5,2%%date:~8,2%
  3 	sqlplus sys/[email protected]/pdborcl as sysdba   @F:\decoument\DB_soft\imp_toDay_Data\createUser.sql
  4 
  5     imp  sync_plus_1_%var%/sync_plus_1_%var%@192.168.1.168/pdborcl full=y ignore=y file=F:\decoument\DB_soft\SYNC_PLUS_1_%var%.dmp log=F:\decoument\DB_soft\imp_toDay_Data\logs\SYNC_PLUS_1_to_apa_imp_%var%.log
  6     echo 导入数据库结束
  7 

createUser.sql

  1  declare
  2      v_time varchar(20);
  3      v_sql varchar(4000);
  4 	 v_count int :=0;
  5 	 v_count_sql varchar(4000);
  6 	 v_username varchar(300);
  7      begin
  8      select to_char(sysdate,'yyyyMMdd') into v_time from dual;
  9 	 v_username :='SYNC_PLUS_1_'||v_time;
 10 	 dbms_output.put_line(v_username);
 11 	 SELECT count(USERNAME) into v_count FROM ALL_USERS t where t.username =v_username ;
 12 	 dbms_output.put_line(v_count);
 13 	 if v_count = 0 then
 14 		 v_sql :='create user sync_plus_1_'||v_time ||'   identified by  sync_plus_1_'||v_time ||'   default tablespace sync_plus_1  temporary tablespace temp quota 500m on users';
 15 		 dbms_output.put_line(v_sql);
 16 		 execute immediate v_sql;
 17 	 end if;
 18 	 v_sql:='grant all privileges to   sync_plus_1_'||v_time  ;
 19 	 dbms_output.put_line(v_sql);
 20      execute immediate v_sql;
 21 	  v_sql:='grant ALLTAX  to sync_plus_1_'||v_time;
 22 	 dbms_output.put_line(v_sql);
 23      execute immediate v_sql;
 24      v_sql:='grant ALLINONE_JX  to sync_plus_1_'||v_time ;
 25 	 dbms_output.put_line(v_sql);
 26      execute immediate v_sql;
 27      v_sql:='grant ALLOUTSIDE to sync_plus_1_'||v_time ;
 28 	 dbms_output.put_line(v_sql);
 29      execute immediate v_sql;
 30      v_sql:='grant dba to sync_plus_1_'||v_time;
 31 	 dbms_output.put_line(v_sql);
 32      execute immediate v_sql;
 33      v_sql:='grant RDCX to sync_plus_1_'||v_time;
 34 	 dbms_output.put_line(v_sql);
 35      execute immediate v_sql;
 36      commit;
 37     end;
 38     /
 39 
 40 	quit;



六: 对oracle数据库某个用户 进行删表后再导入数据

image


Imp_SYNC_PLUS_1.bat

  1     echo 开始导入数据库
  2 	sqlplus  /nolog   	@F:\decoument\DB_soft\imp_data\createUser.sql
  3 
  4     set var=%date:~0,4%%date:~5,2%%date:~8,2%
  5     imp  SYNC_PLUS_1/[email protected]/pdborcl full=y ignore=y file=F:\decoument\DB_soft\SYNC_PLUS_1_%var%.dmp log=F:\decoument\DB_soft\imp_data\logs\SYNC_PLUS_1_to_apa_imp_%var%.log
  6     echo 导入数据库结束
  7     exit;

createUser.sql

--drop user sync_plus_1 cascade;
--create user sync_plus_1 identified by  sync_plus_1 default tablespace sync_plus_1  temporary tablespace temp quota 500m on users;
--grant all privileges to   sync_plus_1  ;
--grant ALLTAX  to sync_plus_1;
---grant ALLINONE_JX  to sync_plus_1 ;
--grant ALLOUTSIDE to sync_plus_1 ;
--grant dba to sync_plus_1;
--grant RDCX to sync_plus_1; 
conn SYNC_PLUS_1/[email protected]/pdborcl ;

----禁用所有的外键
/*--批量生成规则
 select 'alter table ' || table_name || ' disable constraint ' ||
          constraint_name || ';'
     from user_constraints
    where constraint_type = 'R';
*/
SET SERVEROUTPUT ON SIZE 1000000
BEGIN
for c in (select 'ALTER TABLE '||TABLE_NAME||' DISABLE CONSTRAINT '||constraint_name||' ' as v_sql from user_constraints where CONSTRAINT_TYPE='R') loop
DBMS_OUTPUT.PUT_LINE(C.V_SQL);
	begin
	 EXECUTE IMMEDIATE c.v_sql;
	 exception when others then
	 dbms_output.put_line(sqlerrm);
	 end;
	end loop;
	for c in (select 'ALTER TABLE '||TNAME||' DISABLE ALL TRIGGERS ' AS v_sql from tab where tabtype='TABLE') loop
	 dbms_output.put_line(c.v_sql);
	 begin
	 execute immediate c.v_sql;
	exception when others then
	 dbms_output.put_line(sqlerrm);
	 end;
end loop;
end;
/
commit;

------禁用所有的主键;
/*
 select 'alter table ' || table_name || ' disable constraint ' ||
          constraint_name || ';'
     from user_constraints
    where constraint_type = 'P';

*/
SET SERVEROUTPUT ON SIZE 1000000
BEGIN
for c in (select 'ALTER TABLE '||TABLE_NAME||' DISABLE CONSTRAINT '||constraint_name||' ' as v_sql from user_constraints where CONSTRAINT_TYPE='P') loop
DBMS_OUTPUT.PUT_LINE(C.V_SQL);
	begin
	 EXECUTE IMMEDIATE c.v_sql;
	 exception when others then
	 dbms_output.put_line(sqlerrm);
	 end;
	end loop;
	for c in (select 'ALTER TABLE '||TNAME||' DISABLE ALL TRIGGERS ' AS v_sql from tab where tabtype='TABLE') loop
	 dbms_output.put_line(c.v_sql);
	 begin
	 execute immediate c.v_sql;
	exception when others then
	 dbms_output.put_line(sqlerrm);
	 end;
	end loop;
end;
/
commit;


----删除所有外键:
/*
 select 'alter table ' || table_name || ' drop  constraint ' ||
          constraint_name || ';'
     from user_constraints
    where constraint_type = 'R';
*/

SET SERVEROUTPUT ON SIZE 1000000
BEGIN
for c in (select 'ALTER TABLE '||TABLE_NAME||' drop CONSTRAINT '||constraint_name||' ' as v_sql from user_constraints where CONSTRAINT_TYPE='R') loop
DBMS_OUTPUT.PUT_LINE(C.V_SQL);
	begin
	 EXECUTE IMMEDIATE c.v_sql;
	 exception when others then
	 dbms_output.put_line(sqlerrm);
	 end;
	end loop;
	/*for c in (select 'ALTER TABLE '||TNAME||' DISABLE ALL TRIGGERS ' AS v_sql from tab where tabtype='TABLE') loop
	 dbms_output.put_line(c.v_sql);
	 begin
	 execute immediate c.v_sql;
	exception when others then
	 dbms_output.put_line(sqlerrm);
	 end;
	end loop;*/
end;
/
commit;

----删除主键:
/*
   select 'alter table ' || table_name || ' drop  constraint ' ||
          constraint_name || ';'
     from user_constraints
    where constraint_type = 'P';

*/

SET SERVEROUTPUT ON SIZE 1000000
BEGIN
	for c in (select 'ALTER TABLE '||TABLE_NAME||' drop CONSTRAINT '||constraint_name||' ' as v_sql from user_constraints where CONSTRAINT_TYPE='P') loop
		DBMS_OUTPUT.PUT_LINE(C.V_SQL);
		begin
			EXECUTE IMMEDIATE c.v_sql;
			exception when others then
			dbms_output.put_line(sqlerrm);
		end;
	end loop;
	/*for c in (select 'ALTER TABLE '||TNAME||' DISABLE ALL TRIGGERS ' AS v_sql from tab where tabtype='TABLE') loop
	 dbms_output.put_line(c.v_sql);
	 begin
	 execute immediate c.v_sql;
	exception when others then
	 dbms_output.put_line(sqlerrm);
	 end;
	end loop;*/
end;
/
commit;

-----删除所有表
---  批量生成规则 select 'drop table '||table_name||';' from cat where table_type='TABLE'  ;

SET SERVEROUTPUT ON SIZE 1000000
BEGIN
	for c in (select 'drop TABLE '||TABLE_NAME||' ' as v_sql from cat where table_type='TABLE') loop
		DBMS_OUTPUT.PUT_LINE(C.V_SQL);
		begin
			EXECUTE IMMEDIATE c.v_sql;
			exception when others then
			dbms_output.put_line(sqlerrm);
		end;
	end loop;
	/*for c in (select 'ALTER TABLE '||TNAME||' DISABLE ALL TRIGGERS ' AS v_sql from tab where tabtype='TABLE') loop
	 dbms_output.put_line(c.v_sql);
	 begin
	 execute immediate c.v_sql;
	exception when others then
	 dbms_output.put_line(sqlerrm);
	 end;
	end loop;*/
end;
/
commit;



quit;


二:使用 PL/SQL 工具 进行数据的导入 导出 

1: 前提:需要安装oracle Xe 的客户端

 image

2: 使用Plsql  工具 进行demp 文件 的数据导入

image

image





——————————————————————————————————————————————————————————————————————————————————————————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_34232363/article/details/85969406

智能推荐

从零开始做自动驾驶1 GNSS模块_你好哇zzz的博客-程序员秘密

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、自动驾驶开源代码二、GNSS模块1.GNSS 数据结构2.GNSS的订阅模块总结前言提示:跟随大神手敲一遍自动驾驶代码。一、自动驾驶开源代码来源:https://zhuanlan.zhihu.com/p/105512661记录出现的问题和进度二、GNSS模块1.GNSS 数据结构头文件: 类中为什么设置static 成员函数、成员变量的?static成员变量为啥类外初始化? Geographic

Android 源码分析之基于Stagefright的MediaPlayer播放框架[4]_avel__的博客-程序员秘密

先上图,以免一大堆的代码引来大家的不适。在prepare结束后,就可以调用start方法开始播放了。为了简单起见,我们对start之前的调用关系不做分析,仅仅列出这些方法的实现。public void start() throws IllegalStateException { if (isRestricted()) { _setVo

解决数据库无法连接的问题_行走的疯子的博客-程序员秘密_无法连接到数据库

怎么解决mysql服务无法启动的问题听语音|浏览:17107|更新:2016-12-19 18:501234567分步阅读作为一名程序猿,必不可少的便是和mysql打交道,那当mysql服务无法启动时该怎么解决呢?下面有一些具体的操作可以提供参考。工具/原料mysql方法/步骤找到mysql安装目录,将其配置文件my.default.ini改名为my.ini,并且将my.ini移至bin目录下。启...

cocos2d-x 如何制作一个类马里奥的横版平台动作游戏续 2_天马流星2719的博客-程序员秘密

欢迎回来,上篇我们讲到了物理引擎中重力环境模拟以及主角考拉与地面墙壁的碰撞,相信大家已经对2D世界的物理模拟有了一定的了解,现在我们接着讲如何让考拉动起来吧!     让考拉动起来!

编程之外:使用Latex/Tex创建自己的简历。_scdxmoe的博客-程序员秘密

http://www.cnblogs.com/aoaoblogs/archive/2013/01/24/2874595.html 使用Latex/Tex创建自己的简历。正在折腾Latex,看到篇博客Creating a Resume Using LaTeX, 于是也把自己的简历用Latex重新写了一遍,好处就是可以使用git来管理自己的简历版本了,比

Apache Kylin集成superset_skyyws的博客-程序员秘密

Superset是一款开源的数据可视化工具,目前可以与各种数据源进行集成,包括mysql、druid等。本文主要讲解在非root用户下如何安装和配置superset,来实现对apache kylin的访问。

随便推点

ZOJ-Intervals_KEMNHan的博客-程序员秘密

题意:最少拿走哪几个区间可以保证覆盖区间三个内至少有一对不相交贪心做法,根据左端点进行排序,右端点大的优先被拿走,影响最小的保留,三个排序判断位置,队列维护下index数组存一下下标。#include<bits/stdc++.h>#define LL long longusing namespace std;const int maxn=50005;i...

macos big sur系统写入权限被限制的这几款软件已经修复!包括cad2021_mac666999的博客-程序员秘密_bigsur系统写入权限

macOS Big Sur正式版将强大实力和优美外观的结合提升到一个崭新的高度。精心雕琢的全新设计,让您能淋漓尽致地感受 Mac 的魅力;Safari 浏览器迎来重大更新,待您饱览;地图 App 和信息 App 满载新功能,任您探索;更透明的***权限,保护也更周到。新系统升级总要一段时间的磨合期,限制各种软件不兼容和奔溃问题还是屡屡存在,特别是一些软件的注册机直接被限制打开,本站为了方便用户专门修复了cad2021中文版,OmniGraffle Pro版和Mindjet MindManager 201

20150131--XML上_weixin_30553837的博客-程序员秘密

20150131--XML上 万能的数据传输格式——XML上 目录 万能的数据传输格式——XML上... 1 一、XML简介... 3 1、历史起源... 3 2、什么是xml 3 3、xml与html区别... 4 4、xml应用场景... 4 1)充当程序间...

DataX实战应用_我是蚁人的博客-程序员秘密_datax presql

目录前言系统架构关键实现系统目前使用现状DataX使用心得前言DataX是阿里开源数据同步工具,实现异构数据源的数据同步,Github地址:https://github.com/alibaba/DataX,企业存储离线数据到数仓,但是没办法对接业务,本次实践主要是运用DataX实现数据从数仓导入到MySQL,从而对接业务,另外,对数仓数据的流出进行管理。一般从数仓数...

Objective-c - NSArray(NSMutableArray)_xiaotanyu13的博客-程序员秘密

Objective-c - NSArray(NSMutableArray) //NSArray 初始化 NSArray *arr1 = [NSArray arrayWithObject:@"a" @"b" @"c"]; //NSArray *arr1 = [[NSArray alloc] initWithObjects: