直接把用户sch删除掉,再删除表空间,再删除数据库文件

解决方案 »

  1.   

    我现在的实际问题是,在一个表空间scheduler里用帐号scheduler创建了很多表,scheduler帐号的默认表空间是scheduler,这些表之间有复杂的关联关系,但是这些表的很多字段用了char,要改成varchar2,.我的做法就是又新建了一个sch表空间及sch帐号,新建了表,然后把数据导入到了sch表空间下面的表中.
    但是无论我修改scheduler的默认表空间为sch后,怎么还是登陆到原来的表空间里呢?
      

  2.   

    oracle9i内,可以真接修改字段类型
    alter table table_name modify column_name datatype;而且导入到sch表空间就是,有什么问题:
    原主机上:
    exp system/system_password owner=你想导出的用户1,用户2... file=filename log=logname
    目标主机上:
    imp system/system_password fromuser=你导出的用户名1,用户2...   touser=你要导入的用户名1,用户2...  file=filename log=logname
    (注意,imp时,fromuser和touser的顺序是一一对应的)
      

  3.   

    能不能这样,修改这些字段为varchar2,varchar2要比char长
      

  4.   

    因为各个表之间有很多的主外键关系,所以用alter语句无法修改字段类型,会显示下面的错误:
    ERROR 位于第 1 行:
    ORA-02267: 列类型与引用的列类型不兼容