正如标题一样,本文内容主要介绍了浅谈入门级oracle数据库数据导入导出步骤,文章通过步骤解析介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧!!!
oracle数据库数据导入导出步骤(入门)
说明:
1.数据库数据导入导出方法有多种,可以通过exp/imp命令导入导出,也可以用第三方工具导出,如:PLSQL
2.如果熟悉命令,建议用exp/imp命令导入导出,避免第三方工具版本差异引起的问题,同时效率更高,但特别注意:采用命令时要注意所使用的用户及其权限等细节。
3.在目标数据库导入时需要创建与导出时相同的用户名(尽量一致),并赋予不低于导出时用户的权限;同时还需创建与原数据库相同的表空间名,若本地数据库已存在相同的表空间,则只能进行表空间扩充。
一、导入前准备工作(在目标数据库操作)
知识补充: 表空间 Oracle数据库是通过表空间来存储物理表的,一个数据库实例可以有N个表空间,一个表空间下可以有N张表。 表空间(tablespace)是数据库的逻辑划分,每个数据库至少有一个表空间(称作SYSTEM表空间)。为了便于管理和提高运行效率,可以使用一些附加表空间来划分用户和应用程序。例如:USER表空间供一般用户使用,RBS表空间供回滚端使用。一个表空间只能属于一个数据库。
1. 登录服务器
用Xshell或者secureCRT工具都可
2. 查询磁盘空间是否足够大
执行df -h或者df -H命令进行查询,若可用空间不足则更换新的目标环境再继续其他操作。
[oracle@orac ~]$ df -h
3. 查询表空间详情
①使用终端登录,依次执行命令:
在/home/oracle/app/oradata 目录下新建一个文件夹,后面创建表空间需要用到,该路径不唯一,根据目标数据库存放数据文件位置而定。
[oracle@orac ~]$ /home/oracle/app/oradata [oracle@orac ~]$ mkdir snail
②登录数据库
(注意/与as之间要有空格)[oracle@orac ~]$ sqlplus / as sysdba
执行sql语句
SQL> select a.tablespace_name,a.bytes/1024/1024 "sum MB", (a.bytes-b.bytes)/1024/1024 "used MB",b.bytes/1024/1024 "free MB",round (((a.bytes-b.bytes)/a.bytes)*100,2) "used%" from (select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name) a, (select tablespace_name,sum(bytes) bytes,max (bytes) largest from dba_free_space group by tablespace_name)b where a.tablespace_name=b.tablespace_name order by ((a.bytes-b.bytes)/a.bytes) desc;
即可得到当前数据库的表空间情况,如下图:
也可以通过第三方工具登录数据库执行上述sql语句(以下几步也同样可以)
注: 如果要导入的数据库表空间名与当前已有表空间名相同,则无需新建表空间(