oracle 指定账套建表,FAQ-EAS账套备份恢复方法(oracle)
EXPDP/IMPDP备份与恢复数据:
名词术语解释:
Schemas:方案名,即EAS的账套名,也就是数据上的一个用户名。
Directory: 虚目录,即只是一个名称,对应备份文件所存放的真实目录名。
dumpfile:备份文件名称
Logfile:备份时产生的日志文件,记录备份明细内容与相关报错信息。
Tables:如果要单独导表,则为表名,多表中间用逗号隔开。
Excludes:排除,即排除某些表不用导出。
Parallel:并行,即导出或导入数据时用的并行线程或CPU个数。
Remap_schema:重定向方案,即导入的方案名称与导出的不一样时进行转换处理。
Remap_tablespace:重定向表空间,即导入的表空间名称与导出的不一样时转换处理。
一、expdp导出数据前做的准备工作:
备份前的准备工作(查原库的默认永久表空间、临时表空间以及对应表空间的大小,便于在导入库中也建相同的表空间及对应大小的数据文件):
用sys用户登陆原数据库,即要导出EAS账套的数据库有些客户如EAS账套名权限较大,也可以用EAS账套名登录。
1.查看EAS账套名称对应的默认数据表空间与临时表空间:
select default_tablespace,temporary_tablespace from dba_users where username=upper('EAS75') --EAS75为EAS账套名,最好写成大写
2.查看导入原账套数据表空间名称及占用大小:
select f.tablespace_name,a.total,u.used,f.free,round((u.used/a.total)*100) "% used",
round((f.free/a.total)*100) "% Free"
from
(select tablespace_name, sum(bytes/(1024*1024)) total
from dba_data_files group by tablespace_name) a, (select tablespace_name, round(sum(bytes/(1024*1024))) used
from dba_extents group by tablespace_name) u,
(select tablespace_name, round(sum(bytes/(1024*1024))) free
from dba_free_space group by tablespace_name) f
WHERE a.tablespace_name = f.tablespace_name
and a.tablespace_name = u.tablespace_name;
3.查看导入原账套临时表空间名称及占用大小:
Select d.tablespace_name,Space "Sum_space(M)",blocks sum_blocks,used_space "Used_space(M)",
round(nvl(used_space,0)/Space*100,2) "Used_rate(%)",nvl(free_space,0) "Free_space(M)"
From (Select tablespace_name,round(Sum(bytes)/(1024*1024),2) Space,Sum(blocks) blocks From dba_temp_files Group By tablespace_name) d,
(Select tablespace_name,round(Sum(bytes_used)/(1024*1024),2) used_space,round(Sum(bytes_free)/(1024*1024),2) free_space
From v$temp_space_header Group By tablespace_name) f
Where d.tablespace_name=f.tablespace_name(+)
order by 5 desc;
二、expdp导出数据:
1.设置客户端环境变量:
windows操作系统先运行:
C:\>set NLS_LANG=AMERICAN_AMERICA.UTF8
非WINDOWS操作系统先运行:
$export NLS_LANG=AMERICAN_AMERICA.UTF8
2.用sys用户登陆数据库创建数据库虚目录tempdir(备份文件存放在如:E:\backup 目录下,建一个实际存在的目录,以现场所建的为准),并给虚目录进行赋权:
sql>create directory tempdir as 'E:\backup';
sql>grant read,write on directory tempdir to system;
3.对eas75账套数据进行数据泵导出(排除VT表与统计分析信息不导出):
c:\> expdp system/kdlsys schemas=eas75 directory=tempdir dumpfile=easexp_20140516.dmp logfile=easexp_20140516.log
exclude=table:\"like \'VT%\'\",statistics parallel=2
三、impdp导入数据:
1.在要导入EAS账套的库中新建表空间:
--如果以下表空间已存在,则不用创建(以下表空间跟导入原库表空间名一样)
--a)新建表空间
新建永久表空间即EAS账套默认的永久数据表空间(如果只要一个数据件,则'D:\ORACLE11G\ORADATA\ORACLE11G\EAS_D_EAS75_STANDARD02.ora' SIZE 20G
AUTOEXTEND ON NEXT 200M MAXSIZE UNLIMITED这段可以删掉):
CREATE TABLESPACE "EAS_D_D0023_C_STANDARD" LOGGING DATAFILE 'D:\ORACLE11G\ORADATA\ORACLE11G\EAS_D_EAS75_STANDARD01.ora' SIZE 20G AUTOEXTEND
ON NEXT 200M MAXSIZE UNLIMITED,'D:\ORACLE11G\ORADATA\ORACLE11G\EAS_D_EAS75_STANDARD02.ora' SIZE 20G AUTOEXTEND
ON NEXT 200M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO
如果现场有后缀为TEMP2表空间,则新建VT表存放永久表空间:
CREATE TABLESPACE "EAS_D_EAS75_TEMP2" LOGGING DATAFILE 'D:\ORACLE11G\ORADATA\ORACLE11G\EAS_D_EAS75_TEMP2.ora' SIZE 20G AUTOEXTEND
ON NEXT 200M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO
如果现场有后缀为INDEX表空间,则新建索引永久表空间:
CREATE TABLESPACE "EAS_D_EAS75_INDEX" LOGGING DATAFILE 'D:\ORACLE11G\ORADATA\ORACLE11G\EAS_D_EAS75_INDEX.ora' SIZE 20G AUTOEXTEND
ON NEXT 200M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO
--b)新建临时表空间
CREATE TEMPORARY TABLESPACE "EAS_T_EAS75_STANDARD" TEMPFILE 'D:\ORACLE11G\ORADATA\ORACLE11G\EAS_T_EAS75_STANDARD.ora' SIZE 20G AUTOEXTEND
ON NEXT 200M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL UNIFORM SIZE 5M
2.设置客户端环境变量:
windows操作系统先运行:
C:\>set NLS_LANG=AMERICAN_AMERICA.UTF8
非WINDOWS操作系统先运行:
$export NLS_LANG=AMERICAN_AMERICA.UTF8
3.对eas75账套数据进行数据泵导入:
c:\>impdp system/kdlsys schemas=eas75 directory=tempdir dumpfile=easexp_20140516.dmp logfile=easimp_20140516.log parallel=2
通过以上操作后导入结束。
备注:
*导出与导入用户名一样、表空间名一样impdp导入数据方法:
c:\>impdp system/kdlsys schemas=eas75 directory=tempdir dumpfile=easexp_20140516.dmp
logfile=easimp_20140516.log parallel=2
*导出与导入用户名不一样、表空间名不一样impdp导入数据方法(REMAP_SCHEMA=easuser_old:easuser_new,其中easuser_old原用户,easuser_new为新的用户):
c:\>impdp system/kdlsys DIRECTORY=tempdir dumpfile=easexp_20140516.dmp
REMAP_SCHEMA=easuser_old:easuser_new remap_tablespace=oldtablespace:newtablespace
logfile=impdb.log
四、数据导入成功后,对导入的EAS账套做全采样统计分析:
begin
dbms_stats.gather_schema_stats(
ownname=> '"EAS75"' , --改为现场EAS账套名称,要为大写名称
cascade=> TRUE,
estimate_percent=> null,
degree=> 2, --根据现场CPU个数情况更改此值,一般CPU个数减2
no_invalidate=> DBMS_STATS.AUTO_INVALIDATE,
granularity=> 'AUTO',
method_opt=> 'FOR ALL COLUMNS SIZE AUTO',
options=> 'GATHER');
end;
/
其中: ownname改为现场的eas账套名,如果在SQL>下执行,则最后要加上“/”,如果在PL/SQL DEVELOPER工具的SQL WINDOW中执行,则不要最后的“/”。
oracle 指定账套建表,FAQ-EAS账套备份恢复方法(oracle)相关推荐
- 【备份恢复】Oracle 数据备份与恢复微实践
<Oracle 数据备份与恢复微实践> 新年新群招募: 中国Oracle精英联盟170513055 群介绍:本群是大家的一个技术分享社区,在这里可以领略大师级的技术讲座,还有机会参加Ora ...
- 【从零开始学习Oracle数据库】(1)建表与简单查询
一.常用数据库软件 大型数据库 Oracle Oracle是著名的Oracle(甲骨文)公司的数据库产品 , 它是世界上第一个商品化的关系型数据库管理系统 , 也是第一个推出和数据库结合的第四代语言开 ...
- oracle和mysql通用建表语句_mysql建表语句到oracle怎么写?
mysql建表语句到oracle怎么写? CREATE TABLE `Advertisment` ( `AdId` int(8) NOT NULL auto_increment, `AderId` ...
- oracle常用语句(建表、添加字段)
建表: CREATE TABLE ae_table(id NUMBER(20,0) NOT NULL,"TENANT_ID" NVARCHAR2(12), "CREAT ...
- 非系统表空间损坏,rman备份恢复
实验条件:有完整可用备份 --查询表空间情况 SQL> select tablespace_name,status from dba_tablespaces; TABLESPACE_NAME S ...
- Oracle入门(十二I)之误删除数据的恢复方法
转载自 oracle误删除数据的恢复方法 今天主要以oracle数据库为例,介绍关于表中数据删除的解决办法.(不考虑全库备份和利用归档日志) 删除表中数据有三种方法: ·delete(删除一条记录) ...
- 通过 RMAN备份恢复搭建Oracle DG
平时都是通过RMAN DUPLICATE来搭建dg,今天遇到了问题,只能改换方法. 一. 奇怪的问题 执行RMAN DUPLICATE时发现数据文件传输十分之慢,在约250M/s的磁盘上传输速度居然只 ...
- oracle删错表了怎么办,Oracle中表被删除或数据被错误修改后的恢复方法
表被修改或删除后可以按照以下步骤恢复: 1.删除目标表(表被错位修改的情况,如果被删除就没有这步了): 2.删除表后,可以采用如下操作: 在user_recyclebin中找到最近操作过的表名称,然后 ...
- MySQL 数据库sql语句用关键字作为where条件进行筛选实例演示,mysql建表、查询字段为关键字解决方法
只要把关键字用反引号包上就好了,反引号可以通过 Tab 上的键打出来. 我用 where 这个关键字做实例. create table key_word (`where` char(50)); ins ...
最新文章
- 「悟道」来了!大规模预训练模型交流论坛开启报名
- Beyond Compare 4比较文件夹要设置基键吗?
- file_get_content和curl的性能比较
- HibernateTemplate的一些常用方法总结
- java程序开发步骤
- 被字句15个_成人高考要点解读、包含18个实用技巧
- java输入一个字符给c赋值_C语言字符串的输入输出
- python 旋转矩阵_【每日算法Day 93】不用额外空间,你会旋转一个矩阵吗?
- C++-实现matlab的meshgird(OpenCV)
- python flask api部署_使用flask开发api——部署flask,使用gunicorn+gevent模式的http server...
- android压缩图片,并将其转化成base64提交到服务器
- 常用图像处理相关图像数据库
- python病毒攻击代码_用python写的简单病毒(无害) -
- 语音识别行业技术和市场横向对比
- 深信服防火墙console波特率_[网络技术]深信服防火墙配置详细步骤 pdf文件[16.26MB]-码姐姐下载...
- 对话即平台,一场对长尾理论的逆向革命
- 收藏张老三的NHibernate 博客园专题之一
- Windows docker 安装 home assistant
- 使用CAD看图如何打印图纸的部分内容?
- c语言51单片机计算器,新基于51单片机的简易计算器
热门文章
- HTML打开网页自动播放音乐
- 冰山一角 管窥中国互联网的地下世界
- Linux 软连接和硬链接
- ultraiso安装matlab,ubuntu U盘安装教程:UltraISO采用U盘安装ubuntu12.10
- adb的安装及环境配置
- Android中错误Annotation processors must be explicitly declared now. The following dependencies on the
- 心理测量学信度计算机试题,心理测量学:信度
- c语言打字游戏程序设计报告,打字游戏程序设计汇报.doc
- post请求将formdata 转json
- 微信微博分享注意事项(sharesdk)