Oracle imp exp expdp impdp

web项目是发布在服务器上的,数据库也是安装在服务器上的。所以平时都是本地电脑安装oracle的客户端来操作数据库的。整片文章基于远程访问数据库为前提,本地导入导出不说明。

安装:win32_11gR2_client(oracle客户端)

配置:因为不是连接本地的oracle,所以需要配置TNS
①Oracle Net Manager



②在oracle安装包下找到tnsname.ora进行手动配置
  路径:$ORACLE_HOME/network/admin/tnsnames.ora


ORCL:就是一个连接的名称,叫什么都可以
HOST:数据库服务器所在机器的ip
PORT:默认是1521,Oracle数据库服务器端口
SERVICE_NAME:想要连接的数据库实例名称



配置好了之后就可以连接服务器的数据库进行操作了,可以使用Toad等软件或者直接cmd。(Toad等不作说明)



一、连接Oracle数据库

网上好多详细的说明,此处不赘述。

如果远程连接数据库命令如下:

     >sqlplus 用户名/密码@想访问的IP/实例名

     eg:>sqlplus devuser/[email protected]/orcl

之后连接到数据库就可以操作数据库了,注意sql语句必须以;结尾。



二、创建用户

--创建用户名和密码
create user 用户名 identified by 密码
--指定表空间
[default tablespace 表空间]
[temporary tablespace 临时表空间]
--表空间配额,用户可以使用的表空间字节数
[quote xxxM on 表空间]
--将口令设成过期状态,用户再登录前必须修改口令
[password expire];


用户创建完需要分配权限

--给用户分配权限,根据需要选择
grant dba,connect,resource to 用户名



三、数据库的导入导出

两种方法:①exp/imp 传统方式

          ②expdp/impdp 数据泵

区别请百度,我只知道数据泵比较快。

1、exp/imp
有三种模式:
a.用户模式
b.表模式
c.全部模式

数据的迁移,不要在连接到某个数据库下进行操作,在cmd下就可以,并且命令结尾不能写分号,不然会有问题。


用户导出>exp user/password@host/sid file=D:\owner.dmp owner=user
全部导出>exp user/password@host/sid file=D:\full.dmp full=y
表导出>exp user/password@host/sid file=D:\tables.dmp tables=(table1,table2)

从A用户导入到B用户:注意:A、B两个用户必须有相同的表空间。
>imp userB/password@host/sid file=D:\owner.dmp fromuser=userA  touser=userB

可以参考http://www.cnblogs.com/mfryf/archive/2013/06/16/3138466.html
说的十分详细。

exp/imp命令可以将远程的数据库数据导出到本地电脑中,数据泵是服务器端的操作。

2、expdp/impdp数据泵
expdp是对服务器端的操作,所以导出时候必须指定转储文件和日志文件所在的目录。
导出模式:
a.按表模式导出:
b.按查询条件导出:
c.按表空间导出:
d.导出方案
e.导出整个数据库:

导出步骤:

--创建DIRECTORY
create  directory 名称[dir_dp] as 'D:/oracle/dir_dp'; 
--授权
Grant read,write on directory 名称[dir_dp] to 用户名[userB];
--查看目录及权限
SELECT privilege, directory_name, DIRECTORY_PATH FROM user_tab_privs t, all_directories d
 WHERE t.table_name(+) = d.directory_name ORDER BY 2, 1;



导出方案>expdp user/password@host/sid schemas=userA directory=dir_dp dumpfile =expdp.dmp logfile=expdp.log

导入方案>impdp userB/password@host/sid directory=dir_dp dumpfile=expdp.dmp remap_schema=userA:userB
从方案userA导入用户B


相关命令有一些特定的名词解释,可以百度,整个都是自己用到的总结。就酱。

猜你喜欢

转载自sunyuqian.iteye.com/blog/2228167