有几个问题值得考虑:
1、慢不一定是你所说的原因,可能是新库的索引未建好,你可以对关键查询的查询计划使用pl/sql developer进行分析,看索引走得是否正常。
2、慢也可能是由于你新机器的性能不如旧机器,也可能是所分配给Oracle的sga不如老库大。
3、不知你表删除使用的是什么,不应使用drop,使用truncate就可以,这样可以在imp时加入ignore=y,这样不致使索引与数据到一个表空间。
4、exp,imp全库很简单,只需使用full=y参数
1、慢不一定是你所说的原因,可能是新库的索引未建好,你可以对关键查询的查询计划使用pl/sql developer进行分析,看索引走得是否正常。
2、慢也可能是由于你新机器的性能不如旧机器,也可能是所分配给Oracle的sga不如老库大。
3、不知你表删除使用的是什么,不应使用drop,使用truncate就可以,这样可以在imp时加入ignore=y,这样不致使索引与数据到一个表空间。
4、exp,imp全库很简单,只需使用full=y参数
解决方案 »
- Oracle的性能优化
- 某个字段自动取得这条记录中指定的字段的值?100分
- 游标和更新是否可以同时进行?
- sql 如何查找具有最大值的数据 高手进!
- 请问:oracle的存储过程中如何录入long型的大文本?需要些什么特殊的配置吗?
- insert into 的问题
- 求教sql问题,在线等候!!
- oracle大数据量的问题。
- 调查: 你的数据库是怎么备份的
- win2kad,Oracle8i,在“服务“无法启动OracleOraHome81ManagementServer,高手来帮我kk??
- 我安装了ORACLE后,IE总是打不开!每次开机后都要把ORACLE的HTTP SERVER停止后才能。。。怎么解决?
- 请问一下,RedHat 8.0下怎么安装oracle8.1.7?
你的数据库慢的原因很多,还是需要你自己去查
如
机器配置
内存分配
IO争用
资源争用
等方面
主要查询
v$sgastat
v$sysstat
v$waitstat
v$system_event
v$session_event
v$session_wait
v$rollstat
v$session
v$lock
to :hrb_qiuyb
1、这个我不知道怎么做。
2、新的服务器配置比旧的服务器好很多倍。新的是sun的服务器,今年买的。就得是一款dell的3年前的服务器。
3、我删除表的时候确实是用drop,然后用exp对所有表备份过来恢复的。
4、我是做了全库,问题是我再恢复的时候,因为以前的东西我不知道怎么能删除到开始建库的状态,所以恢复的时候老是说已经存在。
我在新的服务器和旧的服务器上建库都是默认值,问题是新的慢的离谱,旧的服务器上一个很复杂的数据库循环操作,用20秒,新的这里用了300秒。
1.init配置文件,新机器上的配置文件是否已经按照你的机器资源的状况作过调整,你可以使用旧机器上的配置文件做对比,甚至可以直接使用旧机器的配置文件做测试。
2.sga区域的划分,建议你将sga的大小设定为内存的一半或一半略大一些,sga的其他内存分区也要做相应的调整。
3.新机器的表空间的大下,特别是rollback表空间和system表空间的大小,此外你的业务数据是否单独建立了自己的表空间,这是很重要的。
4.检查你的template表空间是否与system表空间和业务数据表空间分开了,对于大量数据处理的复杂查询需要一个独立的template表空间。
5.检查你的rollabck segment的大小和个数的设置,如果rollback segment太小,会出现速度很慢的情况。
6.新机器的索引是否全部建立,检查你的数据库设计文档或旧机器的数据库,那里应该有你的数据库全部索引,对应他们分别创建起来。
7.如果数据量比较大,数据修改频率较高,需要为索引单独建立表空间,这样会提高效率。
8.如果上述都不能起作用,建议你在sqlplus中单步执行你的复杂的查询,以确定引起速度缓慢的具体原因和具体的表,如果有必要,可以重新导入某个表(此表需要先导出)。我曾遇到过由于oracle内部错误导致的上述问题,但那是由于将低版本的数据导入高版本时产生的。
祝你好运。
-rw-rw-r-- 1 oracle dba 29108477952 Jan 9 21:35 system01.dbf
这个文件太大了吧,29G 怎么处理?
请指教。
重建表空间要怎么做?先删除原来的那个文件吗?
请说详细一些,谢谢。这个问题困扰我很久了。
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
这些有没有什么不对的地方?