xuxiangpan888 发表于 2013-2-5 08:53:24

oracle 导入 预留 查看

准备工作(导出dmp文件)

1.使用PL/SQL工具--》导出用户对象 ,导出用户所有表,视图,存储过程等的定义

2.使用PL/SQL 工具--> 导出表,导出所有表的数据 这就是那个dmp文件

保存好导出的sql脚本和dmp文件准备导入

好了,开始导入

1.删除用户

drop user test cascade;


2.删除全部表空间

drop tablespace testdb INCLUDING CONTENTS;


drop tablespace testdb_index INCLUDING CONTENTS;

drop tablespace testdb_temp INCLUDING CONTENTS;

3.重新创建表空间和用户并给用户授权

CREATE TABLESPACE "DB_QQTB"
    LOGGING
    DATAFILE 'D:\oracle\OraData\DB_QQTB01.ora' SIZE 2000M,
    'D:\oracle\OraData\DB_QQTB02.ora' SIZE 2000M,
    'D:\oracle\OraData\DB_QQTB03.ora' SIZE 2000M EXTENT MANAGEMENT LOCAL
    SEGMENT SPACE MANAGEMENTAUTO
/
CREATE TABLESPACE "DB_QQTB_INDEX"
    LOGGING
    DATAFILE 'D:\oracle\OraData\DB_QQTB_INDEX.ora' SIZE 500M EXTENT
    MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENTAUTO
/
CREATE
    TEMPORARY TABLESPACE "DB_QQTB_TEMP" TEMPFILE
    'D:\oracle\OraData\DB_QQTB_TEMP.ora' SIZE 200M EXTENT MANAGEMENT
    LOCAL UNIFORM SIZE 1M
/




create user FZCX
identified by "FZCX"
default tablespace DB_QQTB
temporary tablespace DB_QQTB_TEMP
profile DEFAULT
quota unlimited on DB_QQTB
quota unlimited on DB_QQTB_temp;
-- Grant/Revoke role privileges
grant connect to FZCX;
grant exp_full_database to FZCX;
grant imp_full_database to FZCX;
grant resource to FZCX;
-- Grant/Revoke system privileges
grant create procedure to FZCX;
grant create trigger to FZCX;
grant execute any procedure to FZCX;
grant grant any privilege to FZCX;
grant restricted session to FZCX;
grant select any table to FZCX;
grant unlimited tablespace to FZCX;
grant create any view to FZCX;

4.打开SQLPLUS(不要使用PL/SQL,sql脚本太大),@路径+文件名.sql 导入表定义

这时候表的定义已经完成,但表中还没有数据,现在可以测试一下,表是否存在

5.使用PL/SQL 工具-->导入表-->Oracle导入 选择dmp文件 自动启动Sqlplus

成功!!!


错误分析:

1.请注意数据文件的大小是否足够,否则会出现错误,建议设置的大一些,最好分区是ntfs格式

2.请注意导出dmp的用户是否是当前执行导入的用户 出现 用户名: 要求输入的是fromuser 表示导出dmp的用户名,必须准确



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yunggood/archive/2009/06/13/4267015.aspx
页: [1]
查看完整版本: oracle 导入 预留 查看