块大小一样吗
linux一般是512字节
如果unix的块为2k块,修改
initorcl.ora中db_block_size = 原值*4
只是猜测,试试无妨

解决方案 »

  1.   

    listener96(test) :
    但是我觉得oracle的数据块一样大就应该可以了呀,这个会和文件系统的块大小有关系吗?请详细解释一下你的想法,谢谢!
      

  2.   

    只是猜测,
    oracle的块寻址也要转换到文件系统,如果
    控制文件中已记录了文件系统的块大小,那么
    上面的公式就成立
    oracle为2k块,文件系统为2k块,实际上
    oracle要读第一块,向文件系统读1块,返回2k数据
    文件系统为512字节/块,向文件系统读1块,只返回512字节。
    改了参数后oracle为8k块
    oracle要读第一块,向文件系统读8k/2k块,返回2k数据。
    8k/2k的2k就是控制文件中记录的块大小。
      

  3.   

    我觉得,文件系统不一样,ORACLE是不能自动转换的。连操作系统都不认,如何让ORACLE认呢?为什么不使用EXP/IMP?
      

  4.   

    只能进行 exp/imp跨平台或者不同数据库版本都不能copy文件的!
      

  5.   

    当然,能在两边做 copy 数据(sqlplus里面)或者使用dblink也可以做
    或者尝试复制,快照等方式
      

  6.   

    是可以的,我在两台同样的hp的机器上做过,把数据文件和控制文件拷贝过去,数据库设置全一样,就可以打开,没有问题的。但是我把数据文件和控制文件拷贝过到linux下,就启动不了了。
      

  7.   

    window和linux(unix)文件系统都不一样,能拷贝吗???
    不可以拷贝文件的
    我认为,在sqlplus中拷贝太慢,还是exp/imp吧,数据库如果不大,速度也快
      

  8.   

    可以的呀,用ftp,选择bin模式就可以了,就是用二进制,就可以传文件了
      

  9.   

    我都是用EXP/IMP的,在 Solaris Unix 和 Linux 之间经常操作,
    你说的物理搬迁从理论上讲是可行的,但是你要考虑更多的问题,
    如物理文件的存放路径必须一致(操作系统的分区等),因为你知道在数据库的控制文件里保存着数据库名,数据库的数据文件和日志文件
    的名称和存放位置还有在数据库的初始化参数文件里记录了控制文件的存放路径你应该把所有的物理文件COPY到新机器的相关目录里,要和UNIX的路径完全一样
    这些文件包括数据文件,日志文件,控制文件,初始化参数文件,甚至还有自己的
    用户配置文件(不一定有).你的错误一般的解释就是物理文件的存放路径与控制文件中记载的存放路径不一致.当然你也可以在LINUX上重建控制文件来解决这个问题.不过我喜欢 用 EXP/IMP .祝好运!
      

  10.   

    ATCG(ATCG) :
    这样还能重见控制文件吗???
    应该不可以吧
    请指教!
      

  11.   

    给你一个参考,重建控制文件有点烦,因为你要完全正确地在重建的时候
    把物理文件的存放路径和名称写一边,不能有误。建议用 EXP/IMP恢复数据库
    当然,作为学习,重建一下控制文件也是好事。祝多多长进!
    http://www.xiaotong-db.com.cn/wz/oracle/1.htm