有几个问题值得考虑:
1、慢不一定是你所说的原因,可能是新库的索引未建好,你可以对关键查询的查询计划使用pl/sql developer进行分析,看索引走得是否正常。
2、慢也可能是由于你新机器的性能不如旧机器,也可能是所分配给Oracle的sga不如老库大。
3、不知你表删除使用的是什么,不应使用drop,使用truncate就可以,这样可以在imp时加入ignore=y,这样不致使索引与数据到一个表空间。
4、exp,imp全库很简单,只需使用full=y参数

解决方案 »

  1.   

    我想与你数据的导入不应该有什么关系
    你的数据库慢的原因很多,还是需要你自己去查

    机器配置
    内存分配
    IO争用
    资源争用
    等方面
    主要查询
    v$sgastat
    v$sysstat
    v$waitstat
    v$system_event
    v$session_event
    v$session_wait
    v$rollstat
    v$session
    v$lock
      

  2.   

    首先谢谢大家。
    to :hrb_qiuyb
    1、这个我不知道怎么做。
    2、新的服务器配置比旧的服务器好很多倍。新的是sun的服务器,今年买的。就得是一款dell的3年前的服务器。
    3、我删除表的时候确实是用drop,然后用exp对所有表备份过来恢复的。
    4、我是做了全库,问题是我再恢复的时候,因为以前的东西我不知道怎么能删除到开始建库的状态,所以恢复的时候老是说已经存在。
      

  3.   

    to :penitent
    我在新的服务器和旧的服务器上建库都是默认值,问题是新的慢的离谱,旧的服务器上一个很复杂的数据库循环操作,用20秒,新的这里用了300秒。
      

  4.   

    建议你做以下几个方面的检查:
    1.init配置文件,新机器上的配置文件是否已经按照你的机器资源的状况作过调整,你可以使用旧机器上的配置文件做对比,甚至可以直接使用旧机器的配置文件做测试。
    2.sga区域的划分,建议你将sga的大小设定为内存的一半或一半略大一些,sga的其他内存分区也要做相应的调整。
    3.新机器的表空间的大下,特别是rollback表空间和system表空间的大小,此外你的业务数据是否单独建立了自己的表空间,这是很重要的。
    4.检查你的template表空间是否与system表空间和业务数据表空间分开了,对于大量数据处理的复杂查询需要一个独立的template表空间。
    5.检查你的rollabck segment的大小和个数的设置,如果rollback segment太小,会出现速度很慢的情况。
    6.新机器的索引是否全部建立,检查你的数据库设计文档或旧机器的数据库,那里应该有你的数据库全部索引,对应他们分别创建起来。
    7.如果数据量比较大,数据修改频率较高,需要为索引单独建立表空间,这样会提高效率。
    8.如果上述都不能起作用,建议你在sqlplus中单步执行你的复杂的查询,以确定引起速度缓慢的具体原因和具体的表,如果有必要,可以重新导入某个表(此表需要先导出)。我曾遇到过由于oracle内部错误导致的上述问题,但那是由于将低版本的数据导入高版本时产生的。
        祝你好运。
      

  5.   

    我的
    -rw-rw-r--   1 oracle   dba      29108477952 Jan  9 21:35 system01.dbf
    这个文件太大了吧,29G 怎么处理?
    请指教。
      

  6.   

    我用df -k看了一下,我装oracle的那个分区用了98%,我删除了一些文件,还是93%,我查文件就发现这个文件大的离谱了。
      

  7.   

    能不能再说详细一些,比如导出来是全库导吗?用full=y?
    重建表空间要怎么做?先删除原来的那个文件吗?
    请说详细一些,谢谢。这个问题困扰我很久了。
      

  8.   

    open_cursors = 300
    max_enabled_roles = 30
    # db_file_multiblock_read_count = 8                                   # SMALL
    # db_file_multiblock_read_count = 16                                  # MEDIUM
    # db_file_multiblock_read_count = 32                                  # LARGEdb_block_buffers = 192000  # INITIAL
    #db_block_buffers = 19200  # INITIAL
    # db_block_buffers = 100                                              # SMALL
    # db_block_buffers = 550                                              # MEDIUM
    # db_block_buffers = 3200                                             # LARGE#shared_pool_size = 104857300  # INITIAL
    shared_pool_size = 52428800  # INITIAL
    # shared_pool_size = 3500000                                          # SMALL
    # shared_pool_size = 5000000                                          # MEDIUM
    # shared_pool_size = 9000000                                          # LARGElarge_pool_size = 614400
    java_pool_size = 20971520log_checkpoint_interval = 10000
    log_checkpoint_timeout = 1800processes = 150  # INITIAL
    # processes = 50                                                      # SMALL
    # processes = 100                                                     # MEDIUM
    # processes = 200                                                     # LARGElog_buffer = 10485760  # INITIAL
    background_dump_dest = /opt/oracle/admin/drfuxun/bdump
    core_dump_dest = /opt/oracle/admin/drfuxun/cdump
    #Uncomment this parameter to enable resource management for your database.
    #The SYSTEM_PLAN is provided by default with the database.
    #Change the plan name if you have created your own resource plan.# resource_manager_plan = system_plan
    user_dump_dest = /opt/oracle/admin/drfuxun/udumpdb_block_size = 8192remote_login_passwordfile = exclusiveos_authent_prefix = ""
    # The following parameters are needed for the Advanced Replication Option
    job_queue_processes = 4
    job_queue_interval = 60
    distributed_transactions = 10
    open_links = 4mts_dispatchers = "(PROTOCOL=TCP)(PRE=oracle.aurora.server.SGiopServer)"
    # Uncomment the following line when your listener is configured for SSL
    # (listener.ora and sqlnet.ora)
    # mts_dispatchers = "(PROTOCOL=TCPS)(PRE=oracle.aurora.server.SGiopServer)"compatible = "8.1.0"
    sort_area_size = 65536
    sort_area_retained_size = 65536
    这些有没有什么不对的地方?
      

  9.   

    我不知道怎么回都跑到system里面去,并且就是都放进去也不至于这么大。我用exp到出来也就90M 另外现在这样是不是只有重建了。