oracle完美数据库备份

本文主要介绍如何结合Sql脚本和PL/SQL Developer工具来实现创建表空间、创建数据库、备份数据库、数据导出等操作,然后实现Oracle对象创建、授权、导入数据等操作,方便我们快速了解、创建所需要的部署Sql脚本和数据库操作。

1、删除非空表空间,包含物理文件

alter  tablespace  tablespace _name(表空间名)  offline;

drop  tablespace  tablespace _name(表空间名)  including contents and datafiles;

例子:

alter tablespace may  offline;

drop tablespace may including contents and datafiles;

2、删除用户:

drop  user  user_name(用户名)  cascade;

commit;

例子:

drop user may cascade;

commit;

3、创建表空间(一般建N个存数据的表空间和一个索引空间)

create  tablespace  tablespace _name(表空间名)

datafile ‘ 路径(要先建好路径)\***.dbf  ‘ size *M

tempfile ‘ 路径\***.dbf ‘ size *M

autoextend on  –自动增长

–还有一些定义大小的命令,看需要

default storage(

initial 100K,

next 100k,

);

以上这些脚本是为了我们在新建一个表空间和Oracle数据库的时候使用的。

其中tempfile路径是我们要存放数据库数据的位置,因此要保证该路径有足够的空间和足够的访问权限,否则会失败的。

例子:

create  tablespace  may

datafile ‘d:\Oracle\product\10.1.0\oradata\orcl\may.dmp’ size  100m reuse  autoextend on next 1024k maxsize unlimited extent management local uniform size 500K;

4、创建用户:

create  user  user_name(用户名)  identified  by  password(密码)  default  tablespace tablespace _name(表空间名)  temporary  tablespace  tablespace _name(临时表空间名);

例子:

create user may identified by maymay default tablespace may temporary tablespace temp;

5、用户授权:

grant connect,resource,dba to user_name(用户名);

grant select any table to user_name(用户名);

grant insert any table to user_name(用户名);

grant update any table to user_name(用户名);

grant delete any table to user_name(用户名);

6、导入数据

在命令行执行:

imp 用户名/密码@数据库

file=D:\may200912-9.dmp(源数据的位置)

fromuser=may(源数据库用户名)

touser = may(目标数据库用户名)

ignore=y(已经存在的表忽略)

rows=y (导入行数据 (Y 或 N) ,默认为 Y)

commit=y(在导入过程中,是否导入一行数据,提交一行 (Y 或 N)默认为N,即在每个表导入后,进行提交)

例子:

imp mdm/mdm_pass@hyorcl_127.0.0.1 file=D:\mdm200912-9.dmp fromuser=mdm touser = mdm ignore=y rows=y commit=y

7、导出数据

exp 用户名/密码@数据库

file=e:\may2009-10-9.dmp(导出数据的位置)

owner=may  (当前用户名)

rows=y  (导出行数据 (Y 或 N) ,默认为 Y)

indexes=n  (导出索引 (Y 或 N) ,默认为Y)

compress=n  (是否压缩(Y 或 N), 默认为Y)

buffer=65536  (数据缓冲的大小)

feedback=100000  (在导出时每个几行显示进度,默认为0)

例子:

exp may/maymay@hyorcl_10.246.5.18 file=e:\may2009-10-9.dmp owner=may rows=y indexes=n compress=n buffer=65536 feedback=100000

完成上面几个步骤,我们在新的数据库环境中,就具备了所有的东西了,顺利完成整个Oracle数据库对象及数据的迁移工作。

以上值得注意的是,我们导出Oracle对象和数据的时候,默认还是原来Oracle数据库的表空间和数据库用户名称的,如果我们想要在新的数据库服务器中指定不同的表空间和数据库用户对象,那么我们就需要替换生成的sql脚本,并在第一步指定合理的表空间和数据库用户。

本文由国核信息 威海分公司分享

上一篇:

下一篇:

相关新闻