远程Oracle数据库导出到本地用exp命令。
成都创新互联是一家集网站建设,麦积企业网站建设,麦积品牌网站建设,网站定制,麦积网站建设报价,网络营销,网络优化,麦积网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
导出一个完整数据库:
1、win键+R键,输入cmd,打开命令提示符。
2、执行
exp 用户名/密码@实例名 file=导出路径\文件名 log=导出路径\日志名 full=y
在开发的有时候需要在测试库中和真实库中数据一致。这时就需要设计到数据库的导出。一方面方便自己查阅,另一方面方便需要的朋友
本人因不喜欢在本地安装oracle,所以使用的是虚拟,在虚拟机中打开运行 输入cmd如图:
2
在弹出的命令行中输入:exp 用户名/密码@远程oralce数据库的IP:端口号/实例 file=存放位置:\文件名.dmp full = y。如下图:
3
如果不是dba的话会有如下提示:
exp本地导出与imp本地导入
exp命令:
1 exp username/psw@TEST file=d:test.dmp full=y2 exp username/psw@TEST file=d:test.dmp owner=(ly)3 exp username/psw@TEST file= d:test.dmp tables=(grid1,grid2)1其中一是将Test(与某一数据库对应的oracle服务名)数据库进行整体导出2将属于用户ly的所有表导出
3将表grid1,与grid2导出
d:test.dmp是导出的文件地址
imp命令:
1 imp system/psw@TEST file=d:test.dmp
2 imp system/psw@TEST full=y file=d:test.dmp ignore=y3 imp system/psw@TEST file=d:test.dmp tables=(grid1)ignore=y表示如果被导入的数据库中某个表已经存在就忽略不导入那个表3表示只导入grid1这个表
在导入导出前要先测试下对应的数据库是否是通的:tnsping test来测试,同样test是服务名所有命令可在cmd下执行
用exp/imp远程操作数据库
对ORACLE数据库进行远程操作,假设数据库在192.168.1.110上,具体方法如下:
一、在客户端创建和服务端对应的服务名
方法1:
修改tnsnames.ora文件
加入远程服务器的命名:
Sql代码
TEST_ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.110)(PORT = 1521)))
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
方法2:
在oracle客户端,打开net manager。
创建一个服务命名TEST_ORCL,主机IP为:192.168.1.110,服务名orcl,端口1521二、测试远程服务器是否畅通
进入到cmd后,执行命令:tnsping TEST_ORCL。
三、远程操作数据库
导出:
Sql代码
1:exp username/password@TEST_ORCL file=bak_filepath2:exp username/password@TEST_ORCL full=y file=bak_filepathusername 用户名,password 密码,TEST_ORCL 客服端服务名,bak_filepath 备份文件存放的路径导入:
Sql代码
1:imp username/password@TEST_ORCL file=bak_filepath full=y2:imp username/password@TEST_ORCL/database_name file=bak_filepath full=y3:imp username/password@TEST_ORCL file=bak_filepath fromuser=fromadmin touser=toadminusername 用户名,password 密码,TEST_ORCL 客服端服务名,bak_filepath 备份文件存放的路径fromadmin 备份数据的用户名,toadmin 还原数据库的用户名。database_name 还原到那个数据库上full=y 将数据库整体导出,包括表结构等。
可以用exp语句导出。
1、在本地oracle下找到tnsnames.ora文件,一般在~\oracle\product\10.2.0\db_1\network\ADMIN目录下。
2、打开tnsnames.ora文件(文本方式打开即可),添加如下内容:
bendi =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 远程数据库IP地址)(PORT = 数据库端口号))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = 数据库服务名)
)
)
其中“bendi”可自定义,然后还需要知道远程数据库IP地址,数据库端口号,及数据库服务名。
3、本地打开命令提示符,输入以下内容:
exp 数据库用户名/密码@本地实例名 file=路径:\文件名.dmp log=路径:\日志名.log owner=数据库所属用户
4、敲击电脑回车键,等待导出结束即可。
简单点使用exp即可。
exp dexter/xiaojun@127.0.0.1:1521/startrek file=d:\1.dmp log=d:\exp1.log tables=(dump1)
其中:
1、dexter/xiaojun@127.0.0.1:1521/startrek
远程数据库的用户名/密码@IP地址:端口号/service_name
2、file
file指定了输出文件的路径
3、log
log为输出log文件的路径
4、tables
指定了要导出的表的名称。(多个表使用逗号分隔,按照用户导出的时候可以去掉tables这个选项)
在虚拟机中打开运行 输入cmd
在弹出的命令行中输入:exp 用户名/密码@远程oralce数据库的IP:端口号/实例 file=存放位置:\文件名.dmp full = y。
如果不是dba的话会有如下提示
root用户下首先切换到oracle用户 命令: su - oracle
导出命令格式如下:exp user/pwd@SID file=path/sth.dmp其中:user/pwd是你要导出的表空间的oracle用户的用户名与密码;SID为oracle启动实例,一般为orcl。path是你导出的路径;请注意最后面的sth.dmp不能少。
导入dmp文件-在oracle用户下:两种方法[oracle@system ~] imp user/passwd fileName=fielPath full=y(full 不能少)
导入导出在oracle用户下,文件file=路径+dmp的文件名,都不能少。