就是 我现在开始 做项目,这个项目呢 是一个老项目 了,我们是有重新开始 开发这个软件的 但是,数据库中的数据 还是不变的,这个项目是在线 的,所以 我们 现在 就得把这个 数据库中的 数据备份 一下 ,请问 怎么 操作啊 ,我第一次 用 不懂 ,请指教。ORACLE 数据库中的 

解决方案 »

  1.   

    备份数据库还不好办啊 写个脚本执行就行了啊
    建一个bat文件,里边写上一行代码
    exp user/password@server file=backup.dmp log=backup.log full=y
    pause
    保存后,双击执行就可以了
      

  2.   

    数据库不能关闭的情况下,建议使用热备份,热备份要在数据库处于归档模式下进行。
     sqlplus >; select * from v$database; 其log_mode会显示数据库是否归档模式 
    sqlplus >; archive log list; 也会显示数据库是否归档模式 
     如果Oracle数据库运行在归档模式,当进行数据库维护时,可能需要暂停数据库的归档,在完成维护后,再重新启动归档模式。通过以下步骤可以从归档模式转换为非归档模式: 
    sqlplus>;connect sys/qazwsx as sysdba 
     sqlplus>;shutdown immediate; 
     sqlplus>;startup mount exclusive; 
     sqlplus>;alter database noarchivelog; 
     sqlplus>;alter database open; 
     sqlplus >; select * from v$database; 其log_mode会显示数据库是否归档模式 
    sqlplus >; archive log list; 也会显示数据库是否归档模式 
     热备份数据库的步骤 
     (1)拷贝init.ora文件到备份目录(参数文件在数据库启动后处于关闭状态)。 
           编辑参数文件init.ora,设置以下参数 
          # 设置数据库自动归档 
              log_archive_start = true 
         # 设置归档日志文件的目录,该目录必须事先已建立,并有大量可利用的空间 
              log_archive_dest_1="location=%oracle_base%\ oradata\%oracle_sid%\archive" 
         # 设置归档日志文件名的格式。%s表示顺序号,%t表示线程号。 
              log_archive_format = "%oracle_sid%%T%S.ARC" 
     (2)将需要备份的某个表空间置于开始备份模式。 
     (3)使用ocopy.exe拷贝表空间,然后将该表空间置于结束备份模式中(ocopy.exe不能用于直接拷贝联机的数据库文件)。 
     (4)对数据库中的每个表空间执行步骤2和3(可以通过视图dba_tablespaces和v$datafile查看数据库中有哪些表空间和数据文件)。 
     (5)通过在sqlplus上执行archive log list命令获取当前的日志顺序号,从oldest online log sequence开始到current log sequence的联机redo日志应该是热备份的一部分。 
     (6)在sqlplus上执行alter system switch logfile;命令来强迫日志切换,以便所有的日志都被归档。 
     (7)使用alter database backup controlfile to trace;命令获得控制文件的一个备份,可以到%oracle_base%\admin\%oracle_sid%\udump目录中寻找最新的跟踪文件,其中有重建控制文件的全部命令。 
     (8)使用windows nt的命令从%log_archive_dest%中拷贝归档的日志文件到备份目录。