oracle 数据库整体备份  就是包括用户 ,权限,各数据库 等所有的都备份出来,然后再另一台机器上恢复过来,如何实现,恢复完与原数据库都是一样的。谢谢大家

解决方案 »

  1.   

    使用rman进行数据库的clone。rman 的duplicate
      

  2.   

    看你用什么工具了。
    用RMAN可以复制数据库。
    用EXP、IMP导出导入时full=y也能实现,不过要在备库上先建好相应的物理结构。
      

  3.   

    shutdown immediate
    直接把数据文件和控制文件拷过去也可以
      

  4.   

    用EXP导出、IMP导入时指定FULL=Y
      

  5.   

    呵呵,最简单的方法是在另外一台机器上安装相同的Oracle后,版本什么的要一样,SID一样,服务名一样,最好安装路径都一样。
    完了后,ShutDown Immediate原来的数据库,将原来数据库的\Oracle\OraData\下面的东西都拷贝到新的服务器中,可能要重新做密码文件什么的,只是这个方法学习简单、操作方便,实乃居家旅行,杀人灭口的必备良药啊。
    说白了,就是三个字:冷备份。
      

  6.   

    关于 COPY命令
    可以弥补 create table ... as select ... from ...的和imp,exp 的不足,主要功能有:
    1) 从一个本地数据库将一个或多个表拷贝到一个远程数据库;
    2) 将一个表的一些记录拷贝到远程或本地库的其它表中;
    3) 将包含 long 类型的表的一些列拷贝到其他表中;
    4) 从一个oracle 数据库向一个非oracle数据库的拷贝表。
    语法如下:
    COPY { FROM username[/password]@database | TO
    username[/password]@database |
    FROM username[/password]@database TO
    username[/password]@database }
    { APPEND|CREATE|INSERT|REPLACE }
    destination_table[(col1,col2,...) ] USING query
    参数说明:
    APPEND 如果目标表已存在,将查询的记录插入该表中,
    如果目标表不存在,则创建再插入所查询的记录。
    CREATE 先创建目标表再插入所查询的记录,
    如果目标表不存在,则提示错误。
    INSERT 将查询(必须用 using query 查)的记录插入到目标表中,
    如果目标表不存在,则提示错误。
    REPLACE 将查询的记录替换到目标表中的内容,
    如果目标表存在,则先删旧表内容再用拷贝表替换,
    如果目标表不存在,则创建表。
      

  7.   

    冷备份和恢复最彻底,具体操作可在Oracle管理任何书上都有,网上也有。
      

  8.   

    呵呵,入门的话,就从冷备份开始吧,应该说是最简单了,但是要将数据库ShutDown2、然后学热备份,如果数据库真坏了的话,可以恢复到最后一次归档的数据。3、学习RMAN,备份、恢复的方式多样,可以恢复到数据库挂掉前的状态,或是某个记录、某个时间点。4、有钱的话,弄两台机器,那么可以做DataGuard了,主机坏了的话,备机在5分中之内就可以顶上去了。5、或是Stream6、或是用EXP命令做个脚本。总之,备份和恢复的方法N多,Oracle放出话来说它的数据库是不可摧毁的数据库,不一定完全吹NB,是要有一定的技术实力的。