最近需要使用RMAN备份,我从来没有接触过,真的看不懂,有几个很可笑的问题想请教大家,先看下面的代码(是我从书上看到的):
>export oracle_sid=oracat            //请问这句写在哪里?是DOS里面还是SQLPLUS里面?
sql>sqlplus /nolog                   //请问这句写在哪里?是DOS里面还是SQLPLUS或是SQL*PLUS WORKSHEET里面?
sql>connect sys/change_on_install as sysdba                                    //这句成功了
sql>create tablespace rcatts datafile 'c:\rcatts.dbf' size 50m;                //这句成功了
sql>create user rcat identified by rcat temporary tablespace temp default      //可是这句就是不行,为什么?另外,像:
>rman catalog=rcat/rcat@oracat   这句是写在哪个界面里的?我连这个都不明白怎么进行备份啊,完全是自学
%sqlplus /nolog  我知道这句是启动sqlplus,可是这句话写在哪个界面里面?问题很肤浅,但是对我来说很重要,是我迈出的第一步,DOS、SQLPLUS、SQL*PLUS WORKSHEET这三种工具都能写代码,那在什么时候该用哪一种?我不太懂谢谢!

解决方案 »

  1.   

    >export oracle_sid=oracat // 写在DOS下
    sqlplus /nolog // DOS下 ,这是进SQLPLUS,当然前提是你ORACLE_HOME环境变量要有设,不然只能手动指定全路径了.
    sql>connect sys/change_on_install as sysdba //这句成功了
    sql>create tablespace rcatts datafile 'c:\rcatts.dbf' size 50m; //这句成功了
    sql>create user rcat identified by rcat temporary tablespace temp default //可是这句就是不行,为什么?
    因为你给了rcat用户一个临时表空间当它的默认表空间,这当然不行,同一时间oracle只能使用一个临时表空间,它是全库所有用户在排序时用的,哪能一个用户独占, 给你它分个普通的表空间就可以了.
    另外,像:
    >rman catalog=rcat/rcat@oracat 这句写在DOS下
     sqlplus /nolog 我知道这句是启动sqlplus,可是这句话写在哪个界面里面?   写在DOS下 
      

  2.   

    非常感谢,另外,您能给我一个最简单位用RMAN备份的例子吗?
      

  3.   

    第一句成功:sql>create tablespace rcatts datafile 'c:\rcatts.dbf' size 50m; 
    第二句失败:sql>create user rcat identified by rcat temporary tablespace temp default 因为你给了rcat用户一个临时表空间当它的默认表空间,这当然不行,同一时间oracle只能使用一个临时表空间,它是全库所有用户在排序时用的,哪能一个用户独占, 给你它分个普通的表空间就可以了.------------------------------
    那在第一句里面我已经分配了一个普通的表空间,第二句分配临时表空间是不是就可以不做了?
      

  4.   

    回楼主4楼内容:你整个基本概念都没有
    你每句是创建一个表空间
    第二句却又要给rcat用户指定一个默认的临时表空间,我都说了,临时表空间是全库所有用户公用的,不需要你指定,你的数据库只要有临时表空间就行,所有用户在需要时都会自己去用,不需要你告诉它,而且oracle在建库时会自己创建一个临时表空间,所以你根本不用管这个你真想指定rcat用户刚刚第1句里创建的表空间的话,就这样:
    create user rcat identified by rcat default tablespace rcatts;RMAN例子:网上自己找找吧,建议你去 播布客,搜 RMAN, 就行,有视频,绝对能把你这巨菜的人教成RMAN高手,而且不长, 别说我不告诉你啊,赶紧去吧
      

  5.   

    网上是有很多例子,但是我都调不通,比如说上面的例子里面:>export oracle_sid=oracat   
    我在DOS中输入后提示:export不是内部或处部命令,也不是可运行的程序或批处理文件sql>sqlplus /nolog 
    这句输入后也是错误,我不明白明明已经进入SQLPLUS了,为什么还要进入?%sqlplus /nolog 
    这句前面的%代表什么?在DOS中如果我不输入这个%,就会进入SQLPLUS中,否则就提示错误这些我都不明白啊
      

  6.   

    天啊,你真是没救了 ,说完这个我就不再回复了>
    SQL>
    %
    这些什么都不是,只是你在网页上看到的错误贴粘,你真正需要执行的是export oracle_sid=oracat  
    sqlplus /nolog 
    sqlplus /nolog
    顺便说一句 export是linux /unix 下的,windows能不能照用,没试过
      

  7.   

    我刚刚买回来一本书,就照做:
    以下代码都是书上原样写的,真是令我气愤!搬出来让大家看看:
    ---------------------------------
    在SQL*PLUS中,创建RMAN表空间、目录和一个名字为“RACT”的用户。
    >export oracle_sid=oracat
    sql>sqlplus /nolog 
    sql>connect sys/change_on_install as sysdba
    sql>create tablespace rcatts datafile 'c:\rcatts.dbf' size 50m;
    sql>create user rcat identified by rcat temporary tablespace temp default
    ................
    听了大家的指点,特别是zjwssg的指点,我才明白,我是被这本书忽悠了啊!这本书名叫《ORACLE DATABASE 10G 基础教程》,清华大学出版社,孙杨 译,美michael s.abbey 著,什么破书!TMD!
      

  8.   

    告诉大家一个好消息:那本书已经被我撕烂了,我正在搜RMAN视频,必须搞懂RMAN。另外,能不能告诉我:DOS、SQLPLUS、SQL*PLUS WORKSHEET这三种工具大家都习惯于用哪一种?我偷听过一小会一个DBA的课程,从窗外看那个老师一会用DOS,一会又用SQLPLUS,执行某段代码的时候又切换到SQL*PLUS WORKSHEET,哪个工具他都不关,就是来回切换着用,不明白是为什么
      

  9.   

    alter database archivelog 谁能告诉我这句有什么问题?我已经用DBA身份连接,关闭数据库后启动实例并加载了数据库,但是没打开,现在想更改数据库为归档模式,出现错误:找不到该命令
      

  10.   

    这书上真有这句:sql>create user rcat identified by rcat temporary tablespace temp default  ?那确实应该当厕纸
    不过对于上面的:
    >export oracle_sid=oracat
    sql>sqlplus /nolog 
    sql>connect sys/change_on_install as sysdba
    sql>create tablespace rcatts datafile 'c:\rcatts.dbf' size 50m;这几句,你直接连sql> 这个也当命令输就是你自己的不对了.还有,SQL*PLUS WORKSHEET这个我根本就没听说过.   windows下的话,你在DOS下一样是进SQLPLUS,和直接运行oracle的SQLPLUS程序没区别,其实是一个样.根本没必 在这2者之前切换,除非是它是碰巧懒的新开窗口了,才利用已有的窗口切换下.   之所以要多个窗口,是因为我们执行命令时有的时需要在系统下执行, 有是的要在oracle里执行.然后给你说下将oracle从未归档改为归档的步骤:
    archive log listalter system set log_archive_dest_1='location=/u01'; --这的/u01你可以换成你实验机器上想让它归档到的目录, /u01 是unix下的路徑格式,windows下是 像這樣: d:\aaa\bbbarchive log list
    shutdown immediate
    startup mount
    alter database archivelog
    alter database openarchive log list
      

  11.   

    最后的归档步骤,一共8句,你照着执行就行,注意看每次archive log list列出的信息,慢慢学吧,顺便说一下,我上面说了,想学习去  播布客 
      

  12.   

    好人做到底,再多说一句,
    你进oracle时  这样进就行:sqlplus /nolog
    conn /as sysdba
    这就进sqlplus了,不需要书上说的connect sys/change_on_install as sysdba ;想启oracle 直接跟 
    startup
      

  13.   

    tianlesoftware rman系列的文章总结得很好
      

  14.   

    zjwssg ,非常感谢!我一定会学会RMAN的!
      

  15.   

    再问一句:
    备份全库:RMAN> backup database plus archivelog delete input; 
    复制数据文件:RMAN> copy datafile 1 to '/oracle/dbs/system.copy';请问备份全库和复制数据文件这两句是把全库备份到哪里去了?复制到哪里去了?这两句都成功执行了,可是我搜索system.copy这个文件居然没有找到。
    RMAN> configure channel 1 device type disk fromat '/backup1/backup_%U'; 
    这句是设置备份的文件格式,它指适用于笔记本电脑再外接一个移动硬盘吗?我试了不成功,不知道是我操作有误还是根本不能实现。谢谢!
      

  16.   

    Backup and Recovery Advanced User's Guide  B14191-03
    Backup and Recovery Basics                 B14192-03
    Backup and Recovery Quick Start Guide      B14193-03
    Backup and Recovery Reference              B14194-03 
    这些是Oracle的官方文档,后面是文档编号,免费的.
    我在学习RMAN的时候,看的是这些,另外还有做实验.
    在这之前,先要有些Oracle的概念,至少得了解Oracle的物理结构,这个也可以从相关的文档中找到Administrator's Guide                     B14231-02加油!
      

  17.   

    归档模式可以让RMAN支持热备,但是会产生归档日志,会占用空间,会影响I/O,非归档模式只能冷备.在正式系统上一般采用归档模式.
      

  18.   


    第一问: 默认好像是备份到ORACLE_HOME下,不太记得了,因为一般正式库上做时肯定要在这之前加上指定备份路径的语句的,所以我也不确定不加是到哪了。
    第二问:自然是备份到/oracle/dbs/下了,不过如果你没有这目录,那可能就是到了 $ORACLE_HOME/oracle/dbs/下,如果连这个目录也没有,那我真不相信你能执行成功
    第三问: configure channel 1 device type disk fromat '/backup1/backup_%U'; 你对这条语句根本就不理解,
    这条语句的意思是   分配通道1,保存到硬盘上,位置为 /backup1目录,文件名为 backup_%U (当然,这里的%U实际是个代表一个值,具体含义自己查去),还有最后的backup_%U 你也没加后缀,最好加上backup_%U.rman 或backup_%U.bak (linux/unix下后缀是没实际意义的,只是为了易读)
      

  19.   

    也就是说你当前的linux/unix系统下要有个/backup1目录才行, 这你可以自己 指定个你系统上有目录就行,和什么移动硬盘有毛的关系