具体时间跟主机等资源有直接关系。可以考虑的方式有:
成都创新互联公司专注于海盐企业网站建设,响应式网站设计,商城系统网站开发。海盐网站建设公司,为海盐等地区提供建站服务。全流程按需定制网站,专业设计,全程项目跟踪,成都创新互联公司专业和态度为您提供的服务
1、使用sqlplus逐条插入,可以考虑增加并发。
2、预先准备好数据,然后使用dmp导入的方式。
3、预先准备好表空间,使用移动表空间导入数据库中。
电脑开始—运行—输入“CMD”回车,然后直接写入以下命令
导出的命令:
exp 用户名/密码@数据库名 file=D:\database.dmp log=data.log
file后是写得你导出的文件存放的路径,database.dmp是你导出的文件,log是你导出日志,便于查询错误,不要也可以。例如 exp user/password@orcl file=d:\aaa.dmp
导入的命令:
imp 用户名/密码@数据库名 file=D:\database.dmp full=y
full=y一定不要丢。
--空表不能导出是因为11g中的不曾插入数据的空表是不分配存储单元的,当前用户下直接执行:select
'alter
table
'||table_name||'
allocate
extent;'
from
user_tables
where
num_rows=0,得到的结果是“‘给当前用户下的空表分配空间’的语句”,导出或复制这些语句,直接执行这些语句,然后再次执行导出语句,就能导出所有表(包含空表),直接导入就好了,就会包含所有空表
修改参数
alter system set deferred_segment_creation=false;
重新导出一个DMP,并在新库导入,有数据的表会报错,不存在的表会建立。
设置导出表的rows字段值为n(不导出)就可以了。
命令行执行:
exp username/passwd@dbname tables= tablename file=filename.dmp rows=n
备注:rows默认为y,也就是说默认是导出数据的,如果想同时导出数据,那么不加这个字段就可以了。
导出一个完整数据库
exp system/manager file=bible_db log=dible_db full=y
导出数据库定义而不导出数据
exp system/manager file=bible_db log=dible_db full=y rows=n
希望能帮到你
你的情况主要是没有把FULL 子句设置为Y 就可以了。。。