oracle imp/exp相关命令备忘

2014-04-26 21:39:00
1147533288
原创
3897
摘要:多个常用导入导出sql,常用数据库语句整理
本周整理数据备份,记录下相关sql,后续避免百度搜搜浪费时间。
1.cmd导出
exp system/neusoft@192.168.10.51/prept owner=(di_ehr,di_qc) file=di.dmp
2.system用户执行创建表空间,追加数据文件,创建用户
create tablespace di_ehr logging datafile 'e:\oradata\di_ehr.dbf' size 64M autoextend on next 32M;
alter tablespace di_ehr add datafile 'e:\oradata\di_ehr01.dbf' size 64m autoextend on next 64m;
alter tablespace di_ehr add datafile 'e:\oradata\di_ehr02.dbf' size 64m autoextend on next 64m;
create user di_ehr identified by neusoft default tablespace di_ehr temporary tablespace TEMP profile DEFAULT;
g rant connect,resource to di_ehr;
g rant dba to di_ehr;
create user di_qc identified by neusoft default tablespace di_ehr temporary tablespace TEMP profile DEFAULT;
g rant connect,resource to di_qc;
g rant dba to di_qc;
<!--more-->
3.cmd导入
imp system/neusoft@192.168.10.230/orcl fromuser=(di_ehr,di_qc) touser=(di_ehr,di_qc) file=di.dmp log=impdi.log
4.数据泵impdp导入(服务器)
expdp system/pt@10.20.17.213/pt directory=DATA_PUMP_DIR dumpfile=ehr_qc.dmp schemas=ehr_qc logfile=ehr_qc.log EXCLUDE=STATISTICS
5.数据泵expdp导出(服务器)
impdp system/sys@192.168.10.52/pf directory=DATA_PUMP_DIR dumpfile=ehr_qc.dmp schemas=ehr_qc logfile=ehr_qc_imp.log
6.导入导出相关参数
    高版本导入低版本导出时注意增加版本号version=10.2.0.4.0
    例如:expdp system/neusoft@192.168.10.52/pf directory=data_pump_dir dumpfile=EHR_PLATFORM0415.dmp logfile=ehr_platform0415.log schemas=ehr_platform <strong>version=10.2.0.4.0</strong>
    feedback=10000 每10000行反馈一次
    buffer=409600000 执行时指定缓存大小
    ignore=y忽略错误
    rows=n不导出记录数
7.移动表所在表空间
alter table XX move tablespace XXX;
8.g rant权限
g rant delete on DP_EHR_INDEX.BS_DOCUMENT_ASSOCIATION to DP_EHR;
g rant delete on DP_EHR_INDEX.BS_DOCUMNET_INDEX to DP_EHR;
g rant delete on DP_EHR_INDEX.DIR_MAPPING_JG to DP_EHR;
g rant delete on DP_EHR_INDEX.DOCUMENT_INDEX_LOG to DP_EHR;
g rant select, insert, update, delete on DP_EHR_INDEX.DP_ADI_DOCINDEX_HR to DP_EHR;
g rant select, insert, update, delete on DP_EHR_INDEX.DP_AHE_DOCINDEX_HR to DP_EHR;
--------------------------------------------------------

注意:g rant 应去掉对应空格,bae进行校验,禁止文章中出现sql关键字,后台error会对应报出#34952 - unsupport SQL

9.如日期原为timestamp,etl传输作为varchar2类型传输后格式为“20-12月-12 12.00.00.000000000 上午”,可以通过如下语句更新。
update dw_exzlhzsfsjb a set a.next_date=to_char(TO_TIMESTAMP(next_date ),'yyyymmddHH24missff3');

10.as of timestamp,查阅某时间点的数据
as of timestamp sysdate-1/24,查询当前日期-1小时前的时间点该表数据。
也可以直接利用减法,查询两个结果集缺失的部分(1小时前存在,现在不存在的数据)
select * from exzlhzsfsjb as of timestamp sysdate-1/24 
minus
select * from exzlhzsfsjb;
查到后insert into ... select .....即可。

10.查找指定用户,删除连接状态的用户
select 'alter system kill session '''||sid||','||serial#||''';' abc,sid,serial# from v$session where username='EHR_PLATFORM';

文章分类
联系我
联系人: meepo
电话: *****
Email: 1147533288@qq.com
QQ: 1147533288