Oracle数据库导入、导出(远程、10g、11g)
1 查看oracle的版本信息
(1)用客户端连接到数据库,执行select * from v$instance
查看version项
(2)select * from product_component_version
(3)或查询V$VERSION查看组件级信息
1.1. oracle参数设置 11g数据泵导出、导入
进入CMD操作界面,使用sqlplus连接数据库,
图例 1 数据库连接操作
连接语法:sqlplus system/Oracle2013@orcl
参数说明
参数 | 说明 | 备注 |
sqlplus | 语法命令 | |
system | 数据库管理员用户名 | |
Oracle2013 | system用户密码 | |
orcl | 数据库连接标示符 | 数据库安装目录的tnsnames.ora文件中可以找到 Oracle11G目录:C:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN |
一、在客户端创建和服务端对应的服务名
方法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
图例 2 成功连接数据库
环境变量设置(在Sqlplus中执行)
create or replace directory <dir_name> as ‘c:\tmpdir’;
参数说明
参数 | 说明 | 备注 |
dir_name | 路径名称 | |
c:\tmpdir | 文件路径 | 也可以是另外的随意目录,用单引号括起来。 |
图例 3 环境变量设置
1.2. 数据备份
备份脚本:expdp system/Oracle2013@orcl directory=file_path dumpfile=ARADMIN.dat logfile=ARADMIN.log schemas=ARADMIN
参数说明
参数 | 说明 | 备注 |
expdp | 语法命令 | |
system | 数据库管理员用户名 | |
Oracle2013 | system用户密码 | |
orcl | 数据库连接标示符 | 数据库安装目录的tnsnames.ora文件中可以找到 Oracle11G目录:C:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN |
directory | 文件目录名称 | 导出数据库文件的存放目录 |
dumpfile | 数据库文件名称 | 导出数据库文件的文件名 |
logfile | 数据库日志文件名称 | 导出数据库的日志文件名称 |
schemas | 数据库用户 |
操作:
图例 4 数据库备份操作
成功导出。
图例 5 成功导出
1.3. 数据恢复
1.3.1. 删除ARADMIN用户
1. 连接数据库
sqlplus system/Oracle2013@orcl
图例 6 连接数据库
2. 删除目标数据库中的ARADMIN用户
drop user ARADMIN cascade;
图例 7 成功删除目标数据库中的ARADMIN用户
1.3.2. 重新创建ARADMIN用户
1. 连接数据库
sqlplus system/Oracle2013@orcl
图例 8 连接数据库
2. 创建ARADMIN用户
create user ARAdmin identified by AR#Admin# default tablespace ARSYSTEM temporary tablespace ARTMPSPC quota unlimited on arsystem;
图例 9创建ARADMIN用户
3. 赋予数据库权限
grant alter session,create cluster,create database link,create sequence,create session,create synonym,create table,create view,create procedure,create trigger,query rewrite to ARAdmin;
图例 10 赋予数据库权限
1.3.3. 数据库导入
导入命令:impdp system/Oracle2013@orcl directory=file_path dumpfile= ARADMIN20130606.DAT logfile= ARADMIN20130614.log schemas=ARADMIN
图例 11 数据库导入
导入完成
2.exp本地导出与imp本地导入 10g
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 将数据库整体导出,包括表结构等。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。