UNIX没用过。
EXP和IMP都不管用了吗?
GZ。

解决方案 »

  1.   

    你想克隆在同一个机器上吗?
    很麻烦,且很危险,搞不好可能原来的数据库搞坏了。sorry ,具体方法不知。
      

  2.   

    假定原数据库DB1,新的DB2:
    1 建立参数文件,可修改模板文件init.ora
    2 用 SVRMGR> ALTER DATABASE BACKUP CONTROLFILE TO TRACE创建一个跟踪文件。
    3 修改跟踪输出,删除所有注释行,更改NORESETLOG 为 RESETLOGS,如:CREATE CONTROLFILE SET DATABASE "DB2" RESETLOGS NOARCHIVELOG,修改重做日志文件名和数据文件名,删除包含RECOVER DATABASE命令的行,修改ALTER DATABSE OPEN;为ALTER DATABSE OPEN RESETLOGS;
    4 关闭DB1,拷贝数据文件。
    5 定义新环境变量。
    6 启动实例:SVRMGRL>CONNECT INTERNAL
    SVRMGRL> STARTUP NOMOUNT
    SVRMGRL> @CREATE_DB.SQL  (CREATE_DB.SQL 是前面修改的脚本)
      

  3.   

    我在做到最后一步时会出现问题,error code分别为1503,1160,1110。我还想了解一下创建数据库时的controlfile是在init.ora中指定的,还是安装以后生成的.
      

  4.   

    执行SVRMGRL> @CREATE_DB.SQL  就是要重建数据库控制文件,我怀疑CREATE_DB.SQL 中CREATE CONTROLFILE 语句没改对,应该是CREATE CONTROLFILE SET DATABASE "DB2" RESETLOGS NOARCHIVELOG ,注意是"DB2",不是"DB1".
      

  5.   

    这是我的create文件的语句。“CREATE CONTROLFILE REUSE DATABASE "TEST" RESETLOGS NOARCHIVELOG”我想建的数据库是“test”.
      

  6.   

    把你的create语句改为:CREATE CONTROLFILE SET DATABASE "TEST" RESETLOGS NOARCHIVELOG ,并且若初始化参数REMOTE_LOGIN_PASSWORDFILE 为 EXCLUSIVE 应该为SHARED, 再适适吧