明天就要考试了,今天要重装系统,需要备份ORACLE数据库,可完整备份下来的数据库还原的时候少了48个表在网上查了很多资料方法倒是讲了不少,可没两个是能够照着操作的,而偶对oracle实在是不太明白
希望哪个大哥大姐给个实际的操作过程。就像我写在bolg里的很多经验例子那样能够照着做。我们的数据库是 oracle 10g谢谢了
希望哪个大哥大姐给个实际的操作过程。就像我写在bolg里的很多经验例子那样能够照着做。我们的数据库是 oracle 10g谢谢了
---做个全备份:参数文件、控制文件、online redo文件、数据文件, 这些文件备份好,重装系统以后再恢复回来就可以了逻辑备份
--exp, imp这2个命令。exp导出数据,重装系统后再imp回来了
http://www.eygle.com/archives/2006/08/oradim_on_windows.html
文件名:coldbak.sql
rem script:coldbak.sql
rem creater:HuangDongHai
rem date:11.09.2008
rem desc:offline full backup database --connect database
--connect system/manager;
connect admin/admin as sysdba;
--shutdown database
shutdown immediate;
--Copy Data file
host xcopy F:\oracle\oradata\oradb\*.dbf F:bak/H/R;
--Copy Control file
host xcopy F:\oracle\oradata\oradb\*.ctl F:bak/H/R;
--Copy Log file
host xcopy F:\oracle\oradata\oradb\*.log F:bak/H/R;
--startup database
startup;
文件名:hotbak.sql
rem script:hotbak.sql
rem creater:HuangDongHai
rem date:11.09.2008
rem desc:backup all database datafile in archive--connect database
--connect internal/password;
connect / as sysdba;--archive
alter system archive log current;
--startalter tablespace system begin backup;
host xcopy F:\oracle\oradata\oradb\system01.dbf f:\bak2/H/R;
alter tablespace system end backup;alter tablespace cwmlite begin backup;
host xcopy F:\oracle\oradata\oradb\cwmlite01.dbf f:\bak2/H/R;
alter tablespace cwmlite end backup;alter tablespace users begin backup;
host xcopy F:\oracle\oradata\oradb\users01.dbf f:\bak2/H/R;
alter tablespace users end backup;alter tablespace tools begin backup;
host xcopy F:\oracle\oradata\oradb\tools01.dbf f:\bak2/H/R;
alter tablespace tools end backup;alter tablespace indx begin backup;
host xcopy F:\oracle\oradata\oradb\indx01.dbf f:\bak2/H/R;
alter tablespace indx end backup;alter tablespace example begin backup;
host xcopy F:\oracle\oradata\oradb\example01.dbf f:\bak2/H/R;
alter tablespace example end backup;alter tablespace ts_test begin backup;
host xcopy F:\oracle\oradata\oradb\test01.dbf f:\bak2/H/R;
alter tablespace ts_test end backup;
--end--bak control file
--binary
alter database backup controlfile to 'f:\bak2\controlbinbak.000';
--ascii
alter database backup controlfile to trace;alter system archive log current;
导出所有的。
imp system/manager@destination file=d:\daochu.dmp ignore=y
楼上的脚本都给你了。呵呵。。
我们上午就是用EXP备份的,可恢复的结果却是少了三个表,开始少几十个表后来还是少三个表,我是想问怎么能够不少表
应该是在恢复时出错了吧? 看看目录下的错误日志文件(位于你调用imp命令时的当前目录下)
--导出
exp system/manager@source file=d:\daochu.dmp;
--导入
imp system/manager@destination file=d:\daochu.dmp full=y ignore=y
我经常这样用,不会少表啊,你备份或还原的时候可以看备份还原信息啊,看是否出导出来,或是否都导进去了啊
那应该怎么应用呢?
我刚试过,比如我用sys进去建立了个表AA,退出后用exp system/manager@source file=d:\daochu.dmp; 可以备份成功,可备份不下刚才sys用户的AA表。
exp system/manager@source file=:\daochu.dmp owner=sys|[***]|[***]
在命令后面加上所属的用户,就可以导出某个用户下的表了,,