Linux下Oracle数据库表结构以及数据导入导出
2017-06-13 15:04
561 查看
一 导出
1.在Linnux服务器上如果不是Oracle用户,则要切换到oracle用户。
命令如下:
su - oracle
2.exp导出工具
exp导出工具将数据库中数据备份压缩成一个二进制系统文件,可以在不同OS间迁移。
exp导出工具又分为交互式命令行方式和非交互式命令行方式 .
(1)交互式命令行方式
exp username(用户名)/password(口令)@servicename(数据库服务名)
例如
$exp scott/scott@oracle
Enter array fetch buffer size: 4096 > 回车
Export file: expdat.dmp >daochu.dmp 导出的文件名
//1:整个数据库
2:所有的用户,schema 3:所有的表
(1)E(ntire database), (2)U(sers), or (3)T(ables): (2)U > 3
// 是否导出表中的数据
Export table data (yes/no): yes > yes
// 是否压缩
Compress extents (yes/no): yes > 回车
Export done in US7ASCII character set and UTF8 NCHAR character set
server uses AL32UTF8 character set (possible charset conversion)
About to export specified tables via Conventional Path ...
Table(T) or Partition(T:P) to be exported: (RETURN to quit) >IADS_KPI 要导出的表名
. . exporting table t
Table(T) or Partition(T:P) to be exported: (RETURN to quit) >要导出的表名x
Table(T) or Partition(T:P) to be exported: (RETURN to quit) > 回车
Export terminated successfully without warnings.
(2)交互式命令行方式
exp username/password@service_name file=/home/oracle/daochu.dmp
username:用户名
password:密码
service_name:数据库的服务名
file:要导出数据库文件的路径
二 导入
1.在要导入的oracle数据库上创建相应的用户,只有拥有IMP_FULL_DATABASE和DBA权限的用户才能做整个数据库导入。
create user username identified by password
grant dba to username
2.导入前Linux服务器切换到oracle用户
su - oracle
3.imp导入工具
导入工具imp也分交互式和非交互式
(1)交互式命令行方式
$ imp
Username: username
Password: password
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Import data only (yes/no): no >
是否只导入数据
Import file: expdat.dmp > /home/oracle/daochu.dmp
导入数据库文件的路径
Enter insert buffer size (minimum is 8192) 30720>
输入插入缓冲区大小(最小为 8192 )
Export file created by EXPORT:V10.02.01 via conventional path
import done in ZHS16GBK character set and AL16UTF16 NCHAR character set
export client uses US7ASCII character set (possible charset conversion)
export server uses UTF8 NCHAR character set (possible ncharset conversion)
List contents of import file only (yes/no): no >
只列出导入文件的内容
Ignore create error due to object existence (yes/no): no > yes
由于对象已存在, 忽略创建错误
Import grants (yes/no): yes >
<
4000
span style="font-size:14px;"> 导入权限
Import table data (yes/no): yes >
导入表数据
Import entire export file (yes/no): no > yes
导入整个导出文件
. importing XXXXXXobjects into XXXXXX
. . importing table "t" 2775 rows imported
Import terminated successfully with warnings.
(2)交互式命令行方式
$ imp usrname/password file = t.dmp full=y
三 注意事项
1.oracle数据库导出时老是遇到一错误.ora-12641:验证服务无法初始化
这个问题的标准代码应该为
tns-12641(ora-12500到ora-12699的错误,应该是tns-12500到tns-12699).
网络问题,从网络方面着手
将sqlnet.ora文件中的SQLNET.AUTHENTICATION_SERVICES = (TNS)
修改为SQLNET.AUTHENTICATION_SERVICES = (none)
2.导入的时候提示权限不足的情况错误如下:
这时候应该酱紫做:
以用户system的身份登录数据库。
把IMP_FULL_DATABASE权限授予用户scott。
然后导入就OK了
1.在Linnux服务器上如果不是Oracle用户,则要切换到oracle用户。
命令如下:
su - oracle
2.exp导出工具
exp导出工具将数据库中数据备份压缩成一个二进制系统文件,可以在不同OS间迁移。
exp导出工具又分为交互式命令行方式和非交互式命令行方式 .
(1)交互式命令行方式
exp username(用户名)/password(口令)@servicename(数据库服务名)
例如
$exp scott/scott@oracle
Enter array fetch buffer size: 4096 > 回车
Export file: expdat.dmp >daochu.dmp 导出的文件名
//1:整个数据库
2:所有的用户,schema 3:所有的表
(1)E(ntire database), (2)U(sers), or (3)T(ables): (2)U > 3
// 是否导出表中的数据
Export table data (yes/no): yes > yes
// 是否压缩
Compress extents (yes/no): yes > 回车
Export done in US7ASCII character set and UTF8 NCHAR character set
server uses AL32UTF8 character set (possible charset conversion)
About to export specified tables via Conventional Path ...
Table(T) or Partition(T:P) to be exported: (RETURN to quit) >IADS_KPI 要导出的表名
. . exporting table t
Table(T) or Partition(T:P) to be exported: (RETURN to quit) >要导出的表名x
Table(T) or Partition(T:P) to be exported: (RETURN to quit) > 回车
Export terminated successfully without warnings.
(2)交互式命令行方式
exp username/password@service_name file=/home/oracle/daochu.dmp
username:用户名
password:密码
service_name:数据库的服务名
file:要导出数据库文件的路径
二 导入
1.在要导入的oracle数据库上创建相应的用户,只有拥有IMP_FULL_DATABASE和DBA权限的用户才能做整个数据库导入。
create user username identified by password
grant dba to username
2.导入前Linux服务器切换到oracle用户
su - oracle
3.imp导入工具
导入工具imp也分交互式和非交互式
(1)交互式命令行方式
$ imp
Username: username
Password: password
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Import data only (yes/no): no >
是否只导入数据
Import file: expdat.dmp > /home/oracle/daochu.dmp
导入数据库文件的路径
Enter insert buffer size (minimum is 8192) 30720>
输入插入缓冲区大小(最小为 8192 )
Export file created by EXPORT:V10.02.01 via conventional path
import done in ZHS16GBK character set and AL16UTF16 NCHAR character set
export client uses US7ASCII character set (possible charset conversion)
export server uses UTF8 NCHAR character set (possible ncharset conversion)
List contents of import file only (yes/no): no >
只列出导入文件的内容
Ignore create error due to object existence (yes/no): no > yes
由于对象已存在, 忽略创建错误
Import grants (yes/no): yes >
<
4000
span style="font-size:14px;"> 导入权限
Import table data (yes/no): yes >
导入表数据
Import entire export file (yes/no): no > yes
导入整个导出文件
. importing XXXXXXobjects into XXXXXX
. . importing table "t" 2775 rows imported
Import terminated successfully with warnings.
(2)交互式命令行方式
$ imp usrname/password file = t.dmp full=y
三 注意事项
1.oracle数据库导出时老是遇到一错误.ora-12641:验证服务无法初始化
这个问题的标准代码应该为
tns-12641(ora-12500到ora-12699的错误,应该是tns-12500到tns-12699).
网络问题,从网络方面着手
将sqlnet.ora文件中的SQLNET.AUTHENTICATION_SERVICES = (TNS)
修改为SQLNET.AUTHENTICATION_SERVICES = (none)
2.导入的时候提示权限不足的情况错误如下:
Export file created by Export:V10.01.00 via conventional path IMP-00013: only a DBA can Import a file Exported by another DBA IMP-00000: Import terminated unsuccessfully
这时候应该酱紫做:
以用户system的身份登录数据库。
SQL> CONNECT system Enter password: Connected. |
SQL> GRANT IMP_FULL_DATABASE to scott; GRANT succeeded.
然后导入就OK了
相关文章推荐
- plsql developer如何导入导出表结构和数据以及如何复制表结构和数据?
- mysql 导入导出数据以及linux的文件 传递
- MySQL导出表结构表数据以及导入数据
- linux环境导入导出postgres数据库表结构和表数据
- Oracle数据库分别在Windows/Linux环境下普通/数据泵方式导入/导出示例
- oracle数据库数据的导出以及导入
- 用命令 从mysql中 导出/导入数据以及导入导出表结构。(较大数据库的导入导出,速度快)
- ORACLE 数据导出到txt以及txt数据导入oracle数据库
- mysql导出/导入表结构以及表数据
- Linux mysql结构及数据导出导入
- linux下mysqldump导出数据、表结构,导入数据
- linux下mysqldump导出数据、表结构,导入数据
- oracle数据库之间的导入、导出,复制表数据,复制表结构 telnet 192.168.88.205 1521
- Linux环境下oracle数据库exp命令导出数据及imp命令导入数据
- 详解Windows和Linux下从数据库导出表结构,以及Linux下如何导入.sql文件到MySQL数据库
- 用命令 从mysql中 导出/导入数据以及导入导出表结构。(较大数据库的导入导出,速度快)
- Oracle数据库数据导入导出基本方法--以及 练习
- [Sqlite]-->嵌入式数据库的安装、建库、建表、更新表结构以及数据导入导出等等详细过程记录
- 使用plsql将oracle数据库中的数据库结构和数据导出与导入
- Oracle数据库数据的导入导出以及备份