最近在项目中,时间比较宽松,就想学一下数据库技术。
想把项目的数据库复制一份到我本机的数据库上。
起初,我使用db link来复制表,发现可以复制表和数据,但是索引,列的注释都没有复制到。
于是改用exp和imp来做。
远程数据库:projdb
用户名/密码是ctu/admin,表空间:myspace
我本机的数据库:testdb
用户名/密码是ctu/admin,表空间:myspace
1.在本机导出远程数据库
在c盘建个参数文件c:/exp_pfile.txt,内容是 file=c:/expdat.dmp STATISTICS=none tablespaces=(myspace)
exp ctu/admin@projdb parfile="c:/exp_pfile.txt"
在命令行输入上面这个命令,等一会,数据库就导出来了,导出的文件在c:/expdat.dmp
2.导入
在c盘建个参数文件c:/imp_pfile.txt,内容是 full=Y BUFFER=4096 file=c:/expdat.dmp STATISTICS=none tablespaces=(FORMS)
imp ctu/admin parfile="c:/imp_pfile.txt"
在命令行输入上面这个命令,开始导入了。
在命令行输入exp help=y 可以查看exp的相关参数
通过输入 EXP 命令和用户名/口令,您可以后接用户名/口令的命令:
例程: EXP SCOTT/TIGER或者,您也可以通过输入跟有各种参数的 EXP 命令来控制"导出"按照不同参数。要指定参数,您可以使用关键字:
格式: EXP KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)
例程: EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR)
或 TABLES=(T1: P1,T1: P2),如果 T1 是分区表
USERID 必须是命令行中的第一个参数。
关