1、备份指定的表空间
首先,你要确认自己电脑上有exp.exe这个东东,才能进行备份工作。
我想要备份的是用户名为cyy的表空间,备份文件打算放在D盘,并以backup_oracle.dmp命名,顺便把日志文件也备份一下好了。
在命令行敲入:
C:/Documents and Settings/Administrator>exp cyy/cyy@bsrs file=D:/backup_oracle.dmp log=D:/backup_oracle.log owner = (cyy);
这样就OK了。
2、将备份的数据恢复到指定的表空间
首先,你要确认自己的电脑上有imp.exe这个东东,才能进行恢复工作。
我想要将上面备份的数据恢复到另一台机器上,新的数据库实例叫bsrs2,,新的表空间名称叫DBMS2,这个表空间对应的用户叫cyy2,密码仍为cyy。
得先进入sqlplus,以dba身份登录,执行以下几行:
SQL> grant resource,connect to cyy2;
SQL> grant dba to cyy2; //赋DBA权限
SQL> revoke unlimited tablespace from cyy2; //撤销此权限
SQL> alter user cyy2 quota 0 on system; //将用户cyy2在System表空间的配额置为0
SQL> alter user cyy2 quota unlimited on DBMS2; //设置用户cyy2在DBMS2表空间配额不受限。
经过上述设置后,就可以用imp导入数据,数据将会进入指定的DBMS2表空间:
在命令行敲入:
C:/Documents and Settings/Administrator>imp cyy2/cyy@bsrs2 fromuser=cyy touser=cyy2 file=D:/backup_oracle.dmp ignore=y grants=n;
这样就OK了。