oracle数据库导入导出相关资料
新增表空间 :create tablespace 表间名 datafile '数据文件名' size 表空间大小
示例:create tablespace TS_TEST datafile '/home/oracle/data_1.dbf' size 2000M
查看表空间状态
select * from dba_data_files
表空间开启自增
alter DATABASE DATAFILE 'xxx.dbf' autoextend on NEXT 1024M maxsize 30720M
导出命令
exp 用户名/密码@197.3.136.214/rgsdb file=D:\table.dmp log=D:\tablelog.log owner=(用户名)
导入命令
imp 用户名/密码@197.0.32.24/phygodb file=D:\table.dmp log=D:\importlog.log fromuser=user1 touser=user2
导入某些表:TABLES=(a,b)
ignore=y作用:
1.如果用了参数ignore=y, 会把exp文件内的数据内容导入
2.如果表有唯一关键字的约束条件, 不合条件将不被导入
3.如果表没有唯一关键字的约束条件, 将引起记录重复
所以,在导入的时候,我们可以利用这个原则可以做一个增量导入,也可以先将表中的数据全部truncate掉再导入数据。
或者使用plsql自带的导入导出功能
导出:tools>>export user objects 注意用户不同时,不要选Include Owner
导入:tools>>import tables 注意不要选择Show
当导出时出现ORA-12899: value too large for column或者can bind a LONG value only for insert into a LONG column错误时
是由于原来数据库的编码是GBK的,每个汉字两个字节,但新数据库是UTF-8的,每个汉字是三个字节的,导致超过长度了
查看数据库字符集:select * from nls_database_parameters where parameter='NLS_CHARACTERSET'
解决方法:修改数据库字符集或者修改超过长度字段表的表结构

浙公网安备 33010602011771号