导出线上数据库到本地(注意exp和imp直接在cmd中运行,不要进入到SQL)
(实测操作流程)
在导出或导入线上数据库之前要先测试下对应的数据库是否是通的
测试命令为tnsping
test. test为服务名。
例如我本地测试数据库是否是通的,其命令为
tnsping orcl
测试通过后,使用exp命令导出数据库。
file=d:daochu.dmp 导出的本地路径及文件名称
如果导出本地数据库可使用命令
exp devel/devel@orcl file=d:daochu.dmp
将从上线导出的数据库导入本地数据库
imp wuxi/123456 file = d:cqc.dmp full=y
ignore=y
imp命令 wuxi/123456 用户名/密码 file = d:cqc.dmp
文件路径 full=y
导入全部表示 ignore=y忽略警告
exp命令:
1 exp username/psw@TEST
file=d:test.dmp full=y
2 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=y
3 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_filepath
2:exp username/password@TEST_ORCL full=y
file=bak_filepath
username 用户名,password 密码,TEST_ORCL 客服端服务名,bak_filepath
备份文件存放的路径
导入:
Sql代码
1:imp username/password@TEST_ORCL file=bak_filepath
full=y
2:imp username/password@TEST_ORCL/database_name
file=bak_filepath full=y
3:imp username/password@TEST_ORCL file=bak_filepath
fromuser=fromadmin touser=toadmin
username 用户名,password 密码,TEST_ORCL 客服端服务名,bak_filepath
备份文件存放的路径
fromadmin 备份数据的用户名,toadmin 还原数据库的用户名。database_name 还原到那个数据库上
full=y 将数据库整体导出,包括表结构等。