背景: oracle正式库通过exp命令导出的dmp备份包,现在通过imp命令还原到测试库,测试库上面的表数据全部不要,要用新的。
方法: 先
删除用户、
用户所在表空间,再新建
用户和表空间,再imp导入。 过程: 1、用pl
sql查看
用户的权限等信息并备份,例如 -- Create the user create user testuser; -- Grant/Revoke object privileges grant execute on SYS.DBMS_JOB to testuser; -- Grant/Revoke role privileges grant connect to testuser; grant resource to testuser; -- Grant/Revoke system privileges grant create job to testuser; grant create materialized view to testuser; grant create view to testuser; grant debug connect session to testuser; grant manage scheduler to testuser; grant unlimited tablespace to testuser; 2、
删除用户(如果
用户下面有对象,需要加cascade参数) drop user testuser cascade; 3、用sysdba
用户查询表空间
名称、磁盘路径
文件 select username,default_tablespace from dba_users; (如用testuser
登录,则查表user_users) select file_name,tablespace_name from dba_data_files; 4、
删除表空间 --将其offline alter tablespace testdb offline; --将磁盘上的数据
文件一同
删除(不知道啥原因,本人执行后磁盘上的数据
文件还在,这时可以手动
删除掉) drop tablespace testdb including contents and datafiles; 5、创建表空间 create tablespace dev datafile 'D:\OraData\testdb' size 500m; 6、根据第1步备份的
sql,创建
用户 7、数据导入,在cmd命令行下执行 imp testuser/password@ORCL file=D:\backup.dmp fromuser=prduser touser=testuser 参数说明: testuser/password
登录用户名和密码 file 输入
文件 fromuser 所有人
用户名列表,即导出dmp的
用户名 touser
用户名列表,即导入dmp的
用户名 ---------------------------------------------- 附,imp和exp对应,都具有三种模式 1、完全: IMP SYSTEM/MANAGER BUFFER=64000 FILE=C:/FULL.DMP FULL=Y 2、
用户模式(必须指定FROMUSER、TOUSER参数): IMP SONIC/SONIC BUFFER=64000 FILE=C:/SONIC.DMP FROMUSER=SONIC TOUSER=SONIC 这样
用户SONIC的所有对象被导入到
文件中。必须指定FROMUSER、TOUSER参数。 3、表模式(只导入指定的表): IMP SONIC/SONIC BUFFER=64000 FILE=C:/SONIC.DMP OWNER=SONIC TABLES=(SONIC) 这样
用户SONIC的表SONIC就被导入。 imp参数 USERID
用户名/口令 FULL 导入整个
文件 (N) BUFFER 数据缓冲区大小 FROMUSER 所有人
用户名列表 FILE 输入
文件 (EXPDAT.DMP) TOUSER
用户名列表 SHOW 只列出
文件内容 (N) TABLES 表名列表 IGNORE 忽略创建
错误 (N) RECORDLENGTH IO 记录的长度 GRANTS 导入权限 (Y) INCTYPE 增量导入类型 INDEXES 导入索引 (Y) COMMIT 提交数组插入 (N) ROWS 导入数据行 (Y) PARFILE 参数
文件名 LOG 屏幕
输出的日志
文件 CONSTRAINTS 导入限制 (Y) DESTROY 覆盖表空间数据
文件 (N) INDEXFILE 将表/索引信息写入指定的
文件 SKIP_UNUSABLE_INDEXES 跳过不可用索引的维护 (N) ANALYZE 执行转储
文件中的 ANALYZE 语句 (Y)
FeedBACK
显示每 x 行 (0) 的进度 TOID_NOVALIDATE 跳过指定类型 id 的校验 FILESIZE 各转储
文件的最大尺寸 RECALCULATE_STATISTICS 重新计算
统计值 (N)