就想把存在这个目录下的数据库 搬到另一个盘来存储 如e盘下
D:\oracle\product\10.2.0\oradata\orcl

解决方案 »

  1.   

    11g?你的目录明明是10.2.0……好吧,可以做。具体步骤:1、创建pfile
      create pfile from spfile;
    2、关闭数据库
      shutdown immediate
    3、移动文件,并且准备一个文件列表(控制文件、数据文件、联机日志文件)。
    4、记事本修改pfile内容,将控制文件位置改为新文件位置。
    5、使用修改后的pfile启动到mount状态
       startup mount pfile='xxxx';
    6、逐个修改数据文件位置
       alter database rename file 'D:\oracle\product\10.2.0\oradata\orcl\system01.dbf' to 'e:\xxx\system01.dbf';
       ...
       注:临时表空间的文件可以不用管,回头删了重新创建即可。
    7、打开数据库。
       alter database open;
    8、根据新的pfile重新创建spfile
       create spfile from pfile='xxxx';
    9、完毕。
      

  2.   

    1、创建pfile
      create pfile from spfile(这句不知道什么意思);
    2、关闭数据库
      shutdown immediate
    3、移动文件,并且准备一个文件列表(控制文件、数据文件、联机日志文件)(就是全部把文件拷贝到一个新目录吗?)。
    4、记事本修改pfile内容,将控制文件位置改为新文件位置。(这里不知道改那里)
    5、使用修改后的pfile启动到moun……
      

  3.   

    借个楼问个问题,这是从SQLSERVER上移到ORACLE上,运行的时候提示命令未正确结束,ORACLE中有没有value()方法,没有的话怎么改下,高手给弄下,谢谢,没有分了,都问问题花完了,谅解下create or replace procedure SP_CREATE_INDEX
    (
    KeyFieldNo varchar2,
    KeySubFieldNo varchar2,
    TitleFieldNo varchar2,
    TitleSubFieldNo varchar2,
    TypeFieldNo varchar2,
    TypeSubFieldNo varchar2,
    DocTypeCode varchar2
    )
    as
    KeyField varchar2(500);TitleField varchar2(500);TypeField varchar2(500);Sql1 varchar2(5000);
    begin
    KeyField:= '(/Marc/Record/DataFields/DataField[@Tag='''''||KeyFieldNo||''''']/SubDataFields/SubDataField[@code='''''||KeySubFieldNo||'''''])[1]';
    TitleField:= '(/Marc/Record/DataFields/DataField[@Tag='''''||TitleFieldNo||''''']/SubDataFields/SubDataField[@code='''''|| TitleSubFieldNo||'''''])[1]';
    TypeField:= '(/Marc/Record/DataFields/DataField[@Tag='''''|| TypeFieldNo||''''']/SubDataFields/SubDataField[@code='''''|| TypeSubFieldNo||'''''])[1]';
    Sql1:= 'Update Nbmm_Marc set Nbmm_Marc.keyfield=nvl(Nbmm_Marc_Data.MarcContent.value('''||KeyField ||''',''nvarchar2(max)''),''''),Nbmm_Marc.titlefield=nvl(Nbmm_Marc_Data.MarcContent.value('''||TitleField||''', ''nvarchar(max)''), ''''), Nbmm_Marc.typefield=nvl(Nbmm_Marc_Data.MarcContent.value('''||TypeField||''', ''nvarchar(max)''), '''') from Nbmm_Marc_Data, Nbmm_Marc where '||'Nbmm_Marc.MarcIdentity=Nbmm_Marc_Data.MarcIdentity and Nbmm_Marc.DocTypeCode='''||DocTypeCode||'''';
    /*dbms_output.put_line(Sql1); */
    execute immediate Sql1;
    end;
      

  4.   

    § pfile和spfile是启动数据库的参数文件,里面记录一些重要的内容,比如db_name、控制文件位置、sga大小等参数。
    § 9i以后的数据库一般都是用spfile来启动。§ pfile的名字一般叫 init{数据实例名}.ora , spfile的名字叫    spfile{数据实例名}.ora
       在windows系统里,他们存在于 %ORACLE_HOME%\database目录下,在Linux、Unix里,存在于$ORACLE_HOME/dbs下。§ 数据库启动时,搜索的顺序是先spfile,如果未找到则找pfile。§ pfile和spfile可以互相转换,方法就是在SQL> 提示符下执行
       create pfile from spfile;     或者  create spfile from pfile;
       也可以指定创建到什么位置,比如  create pfile='c:\initorcl.ora' from spfile;
       执行完毕之后,你就可以在相应的位置找到参数文件了,打开这个文件你就明白怎么做了。
    § 移动文件就是把那些文件复制或者移动到新的位置了,基本上就是目录里的全部文件