一、exdpd方式导出数据库
- 创建直接存取路径
(1)超级管理员登陆SQLplus
通过“开始→所有程序→Oracle-OraDb11g_home1→应用程序开发→SQLplus”打开sqlplus,按如下方式输入:
请输入用户名:sys as sysdba
输入口令:*** /*sys的密码admin
SQL>conn sys/*** as sysdba /*sys的密码
(2)创建文件直接存取路径(directory)db_exp/*红色部分可自定义
在(1)的基础上继续输入:
SLQ>create directory db_exp as‘d:\space’; /*红色部分可自定义
(3)手动创建创建文件路径“d:\space”;/*红色部分可自定义
(4)为用户CHINSON_0117赋予directory的读写权限 /*红色部分可自定义
在(2)的基础上继续输入:
SLQ>grant read,write on directory db_bak to chinson_0117; /*红色部分可自定义
- 导出表
expdp CHINSON_0117/CHINSON_0117@orcl directory=db_exp dumpfile=chinson_data.dmp /*红色部分可自定义
说明:导出数据库时需要创建文件直接存取路径directory,可参考文档“1.创建直接存取路径”创建db_bak,也可以参考上述创建方法另行创建其他的直接存取路径,并赋予读写权限。
二、imdpd导入数据库
- 创建表空间
需创建两个表空间:CHINSON和NWZHJH,创建语句如下:
(1)新建CHINSON表空间
create tablespace CHINSON
datafile 'D:\app\Administrator\oradata\orcl\CHINSON.dbf'
size 2048m
autoextend on next 32m maxsize 20480m
(2)新建NWZHJH表空间
create tablespace NWZHJH
datafile 'D:\app\Administrator\oradata\orcl\NWZHJH_04.dbf'
size 2048m
autoextend on next 32m maxsize 20480m
注意:1、若已存在表空间chinson或nwzhjh,则不需要再次创建该表空间;
2、上述创建表空间sql语句中的蓝色字体表示所创建的表空间路径,使用时需根据本机实际情况定义路径;
3、导入数据库所需表空间大小为2G以上,务必保证上述两个表空间大小在2G以上,若不足2G,扩展表空间大小的sql语句事例如下:
Alter tablespace chinson
add datafile 'D:\app\Administrator\oradata\orcl\CHINSON_01.dbf'
size 20480m
Alter tablespace nwzhjh
add datafile 'D:\app\Administrator\oradata\orcl\nwzhjh_04.dbf'
size 20480m
- 创建用户
(1)创建用户 CHINSON_0117
create user CHINSON_0117 profile "DEFAULT"
identified by " CHINSON_0117" default tablespace CHINSON
temporary tablespace "TEMP"
account unlock;
grant create sequence to CHINSON_0117;
grant debug connect session to CHINSON_0117;
grant unlimited tablespace to CHINSON_0117;
grant "CONNECT" to CHINSON_0117;
grant "RESOURCE" to CHINSON_0117;
grant create view to CHINSON_0117;
(2)为 CHINSON_0117 赋予权限
drop context nscubp_context_CHINSON_0117;
drop role nscubp_login_CHINSON_0117;
drop role nscubp_objects_CHINSON_0117;
create context nscubp_context_CHINSON_0117 using CHINSON_0117.urrp_login;
create role nscubp_login_CHINSON_0117;
create role nscubp_objects_CHINSON_0117;
grant nscubp_login_CHINSON_0117 to CHINSON_0117;
grant nscubp_objects_CHINSON_0117 to CHINSON_0117;
grant CREATE TRIGGER to CHINSON_0117;
grant CREATE PROCEDURE to CHINSON_0117;
grant CREATE TABLE to CHINSON_0117;
grant execute on CTXSYS.CTX_DDL to CHINSON_0117;
alter user CHINSON_0117 quota unlimited on nwzhjh;
注意:若(2)中的语句存在执行不通过的情况,产生如下报错:
可尝试再次执行,也可直接忽略。
- 创建目录(如已经创建并赋予权限,可忽略前2骤)
(1)超级管理员登陆SQLplus
通过“开始→所有程序→Oracle-OraDb11g_home1→应用程序开发→SQLplus”打开sqlplus,按如下方式输入:
请输入用户名:sys as sysdba
输入口令:*** /*sys的密码admin
SQL>conn sys/*** as sysdba /*sys的密码
(2)创建文件直接存取路径(directory)db_bak /*红色部分可自定义
在(1)的基础上继续输入:
SLQ>create directory db_bak as‘d:\space\data_backup’;
/*红色部分可自定义
(3)手动创建创建文件路径“d:\space\data_backup”,并拷贝将要导入的数据库DMP文件至该文件路径下 /*红色部分可自定义
(4)为用户CHINSON_0117赋予directory的读写权限 /*红色部分可自定义
在(2)的基础上继续输入:
SLQ>grant read,write on directory db_bak to chinson_0117; /*红色部分可自定义
- 导入数据库
在cmd命令窗口中执行以下命令:
impdp CHINSON_0117/CHINSON_0117@orcl directory=db_bak dumpfile=chinson_data_20140316.dmp REMAP_SCHEMA=CHINSON:CHINSON_0117 full=y logfile=chinson_data_20140316.log/*红色部分可自定义
说明:
1、CHINSON_0117表示本文档“2、创建用户”中创建的用户(及密码);
2、orcl表示数据库服务名,需根据实际情况变更;
3、directory=db_bak 表示本文档“3.创建目录”中创建的文件直接存取路径;
4、dumpfile的参数直接等于数据库dmp文件的文件名,不需要输入文件路径;
5、REMAP_SCHEMA参数固定格式为[tablespace_name:user_name];
6、logfile表示产生的log文件,文件名可自行定义。