impdp 用户名/密码
schemas=要导入的用户(即是使用expdp导出的用户) directory=创建的文件夹名称(directory_name)
dumpfile=test.dmp(要放入到directory_path路径下) logfile=imp.log(可以不写)
[sql] view plain copy
--导入时必须先创建文件夹路径
create or replace directory bao as 'd:\oracle\test'
--给使用的用户授权(读写权限)
Grant read,write on directory bao to scott
--查看目录及权限
SELECT privilege, directory_name, DIRECTORY_PATH FROM user_tab_privs t, all_directories d
WHERE t.table_name(+) = d.directory_name ORDER BY 2, 1
创建完文件夹后,在win7下是没有创建的文件夹的,需要手动创建文件夹,并且把使用expdp导出的dmp文件放入该文件夹下(开始自己导入时,创建完文件夹后始终在磁盘上找不到)
期间报过好多错,像org-29283,org-06512,ora-29283,ora-39002,org-39070等等,反正很郁闷的~!
创建好文件夹后,进行导入:(我使用的是通过运行command命令进入命令行界面导入)
impdp scott/tiger schemas=certification directory=test dumpfile=test.dmp
这要导入后会报错,提示表空间XXX不存在,用户certification不存在
根据错误信息,创建好表空间,和用户,并设置用户的表空间
[sql] view plain copy
CREATE TABLESPACE TEACHER
LOGGING
DATAFILE 'D:\ORACLE\ORADATA\ORCL\TEACHER.DBF'
SIZE 1024M
AUTOEXTEND ON
NEXT 32M MAXSIZE 2048M
EXTENT MANAGEMENT LOCAL
drop user certification
create user certification identified by cert
DEFAULT TABLESPACE TEACHER
grant connect,resource to certification
grant create session,dba to certification
1. 个人认为,3小时10分钟 和 3小时40分钟, 并没有本质区别。 因为是win7,估计你是个人电脑,而不是服务器,也就是说buffer此时起作用的可能性很小。所以,我觉得你导入 *** 作的瓶颈应该是硬盘的速录,而不是 缓存 的问题
2. 这个没有研究过。
3. 感觉expdp和impdp比 exp/imp速度快,但是没有具体比较过(不过也就导出的速度快,imp感觉差不多)
修改oracle的字符集吧。命令行中:
sqlplus / as sysdba//注意空格
//关闭所有连接数据库的连接
SQL>SHUTDOWN IMMEDIATE
SQL>STARTUP MOUNT
SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION
SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0
SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=0
SQL>ALTER DATABASE OPEN
SQL>ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBKSQL>SHUTDOWN IMMEDIATE
SQL>STARTUP
字符集就修改了。我估计用汉字编码肯定符合你的要求,另外你的文件就用记事本打开,另存为,编码选择"ansi"即可。
补充一点,你看看你导出的sql如果存在?????那就说明汉字什么的导出后丢失了,那就没有好办法了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)