NC5数据库如何升级成NC6数据库(orcale11G)

如何将 oracle 10g 升级到 orcale 12c_百度知道
如何将 oracle 10g 升级到 orcale 12c
提问者采纳
0.5)•Oracle数据库10g(10.0可以直接升级到12C的数据库版本有.0,需要先将数据库升级到10.2.1.5或其他直接版本,才能再次升级到12C.1.2 或后续版本)如果数据库版本非以上三种:&#.0.2.7)&#8226.0;Oracle 数据库 11g (11,比如是10.0想要升级到12C;Oracle 数据库 11g (11
其他类似问题
为您推荐:
oracle的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁3227人阅读
数据库升级应急方案
通过对数据库初始化参数进行调整来对出现的故障或者性能问题进行处理。
_subquery_pruning_enabled
参数:_subquery_pruning_enabled
默认值:true
推荐值:false
动态修改:推荐在session修改
说明:enable the useof subquery predicates to perform pruning
解决问题:Bug :
执行“insert select”查询会花费大量时间生成执行计划,进行trace可以看到大量对TBL$OR$IDX$PART$NUM的等待。
解决办法:
1. alter session set&_optimizer_table_expansion&=
2.alter session set &_and_pruning_enabled&=
3.alter session set &_subquery_pruning_enabled&=
Bug :select复合分区表遇到ORA-1008
解决办法:
1. alter session set&_and_pruning_enabled&=
2.alter session set &_subquery_pruning_enabled&=
3.alter session set &_optimizer_table_expansion&=
Bug :从10.2.0.5升级到11.2.0.3,merge语句可能遇到ORA-904错误
解决办法:
_subquery_pruning_enabled=false
相关文档:
Bug :当select中where两个char类型的列,但是长度不同,其中一个列为分区主键进行连接,将会得到错误结果。
解决办法:
alter session set&_subquery_pruning_enabled& =
相关文档:
Bug :对包含本地分区表的分布式查询操作,远程数据库可能遇到ORA-600[qesmagetpamr-nullctx]也可能遇到未知错误,例如ORA-14091。
解决办法:
_subquery_pruning_enabled=FALSE
相关文档:
Bug :当启用星形转换和分区修剪后可能会遇到ora-942
解决办法:
(1) set parallel_force_local=true to makeall parallel slaves run on the
& & same instance as the user session.
(2) set _subquery_pruning_enabled=false todisable subquery partition
& & pruning.
相关文档:
adaptive_cursor_sharing相关参数
参数:_optimizer_adaptive_cursor_sharing
默认值:true
推荐值:FALSE
动态修改:是
说明:optimizeradaptive cursor sharing
参数:_optimizer_extended_cursor_sharing
默认值:true
推荐值:none
动态修改:是
说明:optimizerextended cursor sharing
参数:_optimizer_extended_cursor_sharing_rel
默认值:true
推荐值:none
动态修改:是
说明:optimizerextended cursor sharing for relational operators
解决问题:由于AdaptiveCursor Sharing(ACS)导致的bug,例如:Bug 由于extendedcursor sharing导致多游标或者ORA-4031在分配KGLH0上。
由于ACS和柱状图,选择范围不准确。
由于ACS导致大量子游标,可能会看到大量cursor: pin S wait on X等待。
相关文档: &&
_use_adaptive_log_file_sync
参数:_use_adaptive_log_file_sync
默认值:true
推荐值:false
动态修改:是,建议修改后重启
说明:Adaptivelyswitch between post/wait and polling
解决问题:Bug LGWR阻塞其他会话
In cases where a restart is not feasible,then you can set in memory and also in the SP file for when a restart doesoccur:
SQL& ALTER SYSTEM SET&_use_adaptive_log_file_sync&=FALSE; -- to set in memory
SQL& ALTER SYSTEM SET&_use_adaptive_log_file_sync&=FALSE scope=sfile sid='*'; -- to set onspfile, so parameter is used at next restart.
相关文档:
_optimizer_join_factorization
参数:_optimizer_join_factorization
默认值:true
推荐值:false
动态修改是
说明:use joinfactorization transformation
解决问题:Bug 类似UNION ALL操作得到错误结果
相关文档:
_projection_pushdown
参数:_projection_pushdown
默认值:TRUE
推荐值:FALSE
动态修改:是
说明:projectionpushdown
解决问题:Bug
当数据库遇到 ORA-600[qkeIsExprReferenced1]报错时,很可能遇到这个bug,请通过调整这个参数尝试解决问题。
相关文档:
_cursor_features_enabled
参数:_cursor_features_enabled
默认值:2
推荐值:514
动态修改:否
说明:Shared cursorfeatures enabled bits
解决问题:Bug ORA-7445 [kpughndlarr]或者其他ora-7445错误在堆栈kpoopq,也可能是Qnnn进程遇到ORA-600 [kghstack_alloc], [definehandles] /& &ORA-600[kponPurgeUnreachLoc-3]报错。
相关文档:
_cursor_obsolete_threshold
参数:_cursor_obsolete_threshold
默认值:100
推荐值:根据情况设定
动态修改:否
说明:Number ofcursors per parent before obsoletion
解决问题:11.2.0.3中Oracle引入了_cursor_obsolete_threshold隐藏参数,默认为100,表示一个parentcursor最多可以有100个如果SQL需要第101个child cursor,则将该parent cursor & its 100 childcursor设置为obsoleted,并且重新生成新的parent cursor. 但是那些过期的child cursor不会从v$sql中消失,dbms_shared_pool也无法将这些过期的child
cursor flush出去,可以临时增加_cursor_obsolete_threshold来解决过期子游标无法age out的问题。
相关文档:
_memory_imm_mode_without_autosga
参数:_memory_imm_mode_without_autosga
默认值:true
推荐值:FALSE
动态修改:否
说明:Allowimmediate mode without sga/memory target
解决问题:当设置
memory_target = 0
sga_target = 0
仍旧会出现SGA内存调整,甚至导致ORA-4031等内存问题,通过设置这个参数可以避免这个问题。
相关文档:
_optimizer_use_cbqt_star_transformation
参数:_optimizer_use_cbqt_star_transformation
默认值:true
推荐值:false
动态修改:是
说明:use rewrittenstar transformation using cbqt framework
解决问题:Bug 错误结果或者ORA-600 [kkooqb:bsj not used].
相关文档:
_external_scn_rejection_threshold_hours
参数:_external_scn_rejection_threshold_hours
默认值:24
推荐值:根据情况计算
动态修改:否
说明:Lag in hoursbetween max allowed SCN and an external SCN
解决问题:dblink报错ORA-19706,由于scn增长过快,为了防止scn快速增长导致数据库crash而设置_external_scn_rejection_threshold_hours参数,如果确实出现这个问题可以通过调整这个参数值,首先让应用可以正常运行
相关文档:
以下参数为部分客户默认已修改参数
以下参数为客户已经修改的参数,以下罗列了设置这些参数的初衷,当数据库出现问题后,请检查这些参数是否为客户提供的设定值,并考虑这些参数是否对数据库产生了负面影响
_datafile_write_errors_crash_instance
参数:_datafile_write_errors_crash_instance
默认值:true& &
推荐值:true
动态修改:是
说明:datafile write errors crash instance
Oracle推荐这个参数设置为true,但是当前设置为false
存在问题:Bug 原本设置这个值是希望出现IO异常时不要down数据库,但是由于这个bug,可能虽然设置了这个参数,但是仍旧会crash实例。
相关文档:
deferred_segment_creation
参数:deferred_segment_creation
默认值:true
推荐值:FALSE
动态修改:是
说明:延时段创建,创建对象时不分配对应的段空间,当真正开始使用空间时才划分对应的段空间。
解决问题:exp-11
相关文档:
默认客户已修改
parallel_force_local
参数:parallel_force_local
默认值:false
推荐值:true
动态修改:否
说明:并行执行操作是否可以跨界点执行,true表示只能在运行节点并行执行。
解决问题:Bug ORA-600 [15570]/执行结果错误
相关文档:
默认客户已修改
_gc_policy_time
参数:_gc_policy_time
默认值:true
推荐值:false
动态修改:否
说明:how often tomake object policy decisions in minutes
解决问题:Bug ORA-600 [kjbmprlst:shadow] RAC环境LMS进程导致实例crash,通过Disable DRM解决。
如果在修改参数时遇到如下的问题:
SQL& alter system set&_gc_policy_time&=0 scope=spfile sid='*';
alter system set&_gc_policy_time&=0 scope=spfile sid='*'
ERROR at line 1:
ORA-00068: invalid value 0 for parameter_gc_policy_time, must be between 1 and
请执行下面的语句来关闭二进制检查的警告:
alter system set&_disable_image_check& = TRUE;
如果可以的话,请通过crsctl命令来重新启动数据库,看看这个警告是否还出现,然后再次尝试修改_gc_policy_time。
相关文档:& &
默认客户已修改
_optimizer_use_feedback
参数:_optimizer_use_feedback
默认值:true
推荐值:false
动态修改:是
说明:optimizer usefeedback
解决问题:Bug 由于Feedback功能导致GROUP BY语句执行计划错误
相关文档:
默认客户已修改
parallel_threads_per_cpu
参数:parallel_threads_per_cpu
默认值:根据操作系统而定 (通常为 2)
推荐值:各个节点的设置值相同
动态修改:是
说明:说明一个 CPU 在并行执行过程中可处理的进程或线程的数量, 并优化并行自适应算法和负载均衡算法。如果计算机在执行一个典型查询时有超负荷的迹象, 应减小该数值
解决问题:Bug &&在RAC环境中,对gv$进行查询时由于parallel cursor未被共享而导致VERSION_COUNT在该节点很高。这个问题是由于parallel_threads_per_cpu在各个节点设置值不同导致,在该节点可能能看到:'cursor: mutexX'
相关文档:
默认客户都设置为默认值
db_lost_write_protect
参数:db_lost_write_protect
默认值:enable
推荐值:NONE
动态修改:是
说明:它允许使用物理备用数据库检测由数据讹误的丢失写形式所导致的数据讹误
解决问题:Bug &&遇到大量buffer busy waits等待
相关文档:
默认客户都设置为默认值
sec_case_sensitive_logon
参数:sec_case_sensitive_logon
默认值:true& &
推荐值:false
动态修改:是
说明:密码是否区分大小写
解决问题:因为之前版本密码不区分大小写,为了方式出现问题,延续10g版本设置
相关文档:
默认客户都设置为默认值
_optimizer_distinct_agg_transform
参数:_optimizer_distinct_agg_transform
默认值:true& &
推荐值:false
动态修改:是
说明:Transforms Distinct Aggregates to non-distinct aggregates
解决问题:Bug & &当有merged子查询遇到ORA-600 / ORA-7445
相关文档:
默认客户都设置为默认值
_enable_row_shipping
参数:_enable_row_shipping
默认值:true& &
推荐值:false
动态修改:是
说明:use the row shipping optimization for wide table selects
解决问题:Bug 使用OCI7进行dblink查询遇到ORA-1455
相关文档:
默认客户都设置为默认值
_add_col_optim_enabled
参数:_add_col_optim_enabled
默认值:true& &
推荐值:false
动态修改:是
说明:Allows new add column optimization
解决问题:Bug delete from table with add column optimization时遇到报错ORA-7445 [evakdustoopn]
相关文档:
默认客户都设置为默认值
其他非默认设置参数说明
参数:event 10511 trace name context forever, level 1
说明:禁止SMON Offline空闲的rollback segment虽然11g版本对SMON进程的调用进行了优化,但是无法完全避免SMON的争用,通过设置这个参数可以减少由于SMON争用而导致的问题
参数:event 10736 trace name context forever, level 2
说明:disable&&pinned buffer history dump included in&&an errorstack dump由于此设置仅是防止触发redo dump,通过保留这个参数可以防止相关问题的出现
参数:event 10949 TRACE NAME CONTEXT FOREVER
说明:解决大量'direct path read'等待问题文档
参数:_undo_autotune=FALSE
说明:关闭undo自动调整
参数:_gby_hash_aggregation_enabled=false
说明:关闭hash分组运算方式,保证分组运算可以排序,相关文档
参数:_gc_undo_affinity=FALSE
说明:和_gc_policy_time=0共同关闭DRM
参数:_optim_peek_user_binds=FALSE
说明:解决bug &&ORA-07445[qksbgGetCursorVal()+77]问题
参数:_rollback_segment_count=2000
说明:此参数是设定回滚段的数量,在Oracle的相关内部信息中有提到在11.2.0.3版本在undo压力较大的情况下,通过加大这个参数值可以一定程度上提高性能
参数:result_cache_max_size=0
说明:关闭结果缓存功能
打PATCH故障处理说明
通过对GI软件或者RDBMS软件实施patch用以解决故障,本文以当前系统版本为11.2.0.3.3为基础版本进行分析。
基础版本:11.2.0.3.3/11.2.0.3.4
通过应用这个patch可以解决:
Document: Wrong results withSQL_TRACE / 10046
Document: Wrong results onfirst execution
11.2.0.3.6通过应用patch 来修复这个问题。
基础版本:11.2.0.3.0-11.2.0.3.3
通过应用这个patch可以解决:
Document: Wrong results on IOTsecondary index after DML
此问题在11.2.0.3.6已修复
基础版本:11.2.0.3.0-11.2.0.3.3
通过应用这个patch可以解决:
Document:Wrong results on iot secondary index through join
此问题在11.2.0.3.6已修复
基础版本:11.2.0.3.0-11.2.0.3.6
通过应用这个patch可以解决:
Document: Wrong results thefirst time a query is executed
11.2.0.3.6也需要应用这个patch来修复这个问题。
基础版本:11.2.0.3.0-11.2.0.3.6
通过应用这个patch可以解决:
Document: Poor Cardinalityestimations for columns with DESC indexes
11.2.0.3.6也需要应用这个patch来修复这个问题。
基础版本:11.2.0.3.3-11.2.0.3.5
通过应用这个patch可以解决:
Document: Part of fix missing from 11.2.0.3 - disabled deadlock detection for Cursor build locks (on$BUILD$)
此问题在11.2.0.3.6已修复
基础版本:11.2.0.3.2-11.2.0.3.6
通过应用这个patch可以解决:
Document: AIX: &asynchdescriptor resize& wait not necessary on AIX
Document: increased elapsedtime on &db file scattered read& in IBM AIX
11.2.0.3.6也需要应用这个patch来修复这个问题。
基础版本:11.2.0.3.0-11.2.0.3.6
通过应用这个patch可以解决:
Document: hash join consumesmore CPU in IBM AIX
Document: higher cpu usage inIBM AIX
11.2.0.3.6也需要应用这个patch来修复这个问题。
基础版本:11.2.0.3.0-11.2.0.3.6
通过应用这个patch可以解决:
AIX: Excess &work USLA heap& process memory use in 11.2 on AIX
更多详细信息可以阅读文档:
11.2.0.3.6也需要应用这个patch来修复这个问题。
基础版本:11.2.0.3.0-11.2.0.3.3
通过应用这个patch可以解决:
Unpublished Bug
AIX-11202-CRS:HIGH CPU OVERHEAD OF AN &IDLE& RAC CLUSTER
更多详细信息可以阅读文档:
此问题在11.2.0.3.6已修复
基础版本:11.2.0.3.0-11.2.0.3.5
该patch为11.2.0.3 PSU6,该patch中不仅包含了上面所罗列的某些bug,还包含了很多其他的bug,相比于PSU3,PSU6额外修复了如下bug:
Advance Queuing
&&ORA-3146 from AQ propogation from 11.2.0.3 to&&11.2.0.2
Automatic Storage management
&&After rebalance a disk goes offline in multi-node&&ASM
&&Drop directory in asmcmd fails with&&ORA-600[kfaDelTree00]
&&Many alert messages &NOTE: attempting voting&&file ..& in RAC with ASM
&&Integrate ASM with OAK lib
&&Adding a new disk on ODA appliance hits ORA-600&&[kfgpset3]
&&ORA-15072 from CREATE DISKGROUP on ODA
&&Query against v$asm_attribute produces ORA-600&&[kfexvContentCb0]
Buffer Cache Management
&&Instance crash with ORA-600 [kjblpkeydrmqscchk:pkey]&&or similar - superseded
&&ORA-600 [kjblpkeydrmqscchk:pkey] or similar /&&session hangs on &gc buffer busy acquire&
&&Per process Async IO Max limit is reached very&&quickly in processes
&&ORA-600 [kclchkblkdma_3] can occur in RAC crashing&&the instance
&&ORA-600 [kcbchg1_38] using XA in RAC
&&ORA-600 [6856] on interrupt / kill using a global&&temporary table
Enterprise Manager Database Control
&&Fix for bug
&&Fix for bug
&&Fix for bug
&&Fix for bug
&&Fix for bug
&&Fix for bug
&&Fix for bug
&&Fix for bug
&&Fix for bug
&&Fix for bug
&&Fix for bug
&&Fix for bug
&&High CPU use for select on INTERVAL partitioned&&table
&&OERI:[ktsircinfo_num1] with concurrent parallel DML&&and online index creation
&&UTLRP does not report the correct number of&&&OBJECTS WITH ERRORS&
&&ORA-942 / ORA-1031 / corruption for SQL using same&&object name in multiple schemas - superseded
&&ORA-1460 with parallel query
&&Shared pool leak of &KGLHD& memory when&&using multiple subpools
&&dba_hist_sqlstat.ccwait_delta is zero always
&&ORA-600 [delrow:iot1] from DELETE or MERGE..DELETE&&with an IOT
&&Hang / SGA memory corruption / ORA-7445 [kglic0]&&when using multiple shared pool subpools
&&ORA-600 [kcbgtcr_1] on update of reference&&partitioned table
&&DBMS_REDEFINITION disables Foreign Keys used for&&REFERENCE partitioning
&&Wrong results / ORA-7445 on IOT secondary index
&&ORA-600 [kgxRelease-bad-holder] can occur in rare&&cases
&&ORA-7445 [kkscsSearchChildList] with fix of bug&& present – superseded
&&ORA-600 [kokegPinLob1] selecting a CLOB
&&ORA-600 [kkzgbtcols] creating materialized view on&&table with Object / UROWID / BFILE types
&&ORA-4030 due to &KGL Iterator information&
&&Wrong results from query with ROWNUM on partitioned table
&&DBMS_REDEFINITION fails with ORA-600&&[kkzucmvl_ChkMVLog: kkzlglnm]
&&ORA-600 [kglLock-bad-byd] can occur
&&Select against V$ACCESS / V$OPEN_CURSORS fails with&&ORA-4029
&&BUILD lock is not released on error ('library cache&&lock' waits)
&&Creation of Cursor-Duration in-memory temporary&&table produces too much recursive SQL
&&ORA-7445[qerixFetchFastFullScan] on update of IOT&&with secondary index
&&Upgrade invalidate of views is slow in utlrvw.sql
&&SELECT FOR UPDATE not returning values for added&&column with NOT NULL and default value
&&Cursors not shared due to DIFF_CALL_DURN even though&&they should share
&&Wrong Results with NULLIF using constants in JOINs
&&Online redefinition corrupts dictionary /&&ORA-600[kqd-objerror$] from DROP USER
&&ora-22992 when creating materialized view with&&remote lob column
&&ORA-600 [qcsfbdnp:1] from Merge Statement with Bind&&Variables
&&ORA-600 [kkmmctbf:bad intcoln] from DELETE with FK&&constraints and compound trigger
&&ORA-7445 compiling library unit with&&_LOAD_WITHOUT_COMPILE in non-base Edition
&&ORA-600 [qkaffsindex5] on a query with ORDER BY DESC&&and functional index on DESC column from SQL tuning index advisor job
&&Cannot drop/replace trigger in editioning&&environment
&&Deadlock waiting for 'library cache: mutex x' while&&producing an ORA-4031 diagnostic dump
&&Wrong results from query on partitioned table
&&Dump on kkspbd0
&&ORA-7445 [kksLockDelete] then Instance crash from&&PMON
&&ORA-600 / ORA-7445 from parse of query with table&&that has undergone ADD COLUMN optimization
&&Increase dc_rollback_segs hash buckets to reduce&&'latch: row cache objects' waits
&&Part of fix
missing from 11.2.0.3 -&&disabled deadlock detection for Cursor build locks (on $BUILD$)
&&Process spin in kkscsSearchChildList() -&&&kkshGetNextChild() with fix for bug
&&Wrong results / Mismatch in cursor shareability with&&VPD/RLS policy with fix
High Availability
&&ORA-600 [krsr_pic_complete.8] on standby database
&&Excessive memory use by DIAG / DIA0
&&GCR0 trace files continuously created with&&&kjgcr_DeleteSO& message
&&DB instance terminated due to ORA-29770 in RAC
&&Recovery fails with ORA-600 [krr_assemble_cv_12] or&&ORA-600[krr_assemble_cv_3]
&&RAC instance crash due to ORA-600[kjbrscping:slsend]&&in LMS
&&RAC instance eviction due to &TIMEOUT in DRM&&FREEZE step& or &SYNC TIMEOUT ...&
&&RAC Instance eviction during dynamic remastering or&&cluster reconfiguration.
&&PMON block recovery loop - instance hang
&&Starting up instance may be evicted in RAC
&&RAC node eviction dur to &TIMEOUT in DRM FREEZE&&step& or &SYNC TIMEOUT&
&&ORA-600 [kcrpdv_noent] during STARTUP in crash&&recovery with parallelism
&&Active duplicate should work when connected to&&Standby as source DB
&&ORA-600 [krsw_redo_complete.1] can occur (rare)
&&RMAN BZ2 compression backup hangs
&&PGA consumption keeps growing in DIA0 process
&&LMS crashes with ORA-600 [kjbrwrdone:sc3]
Oracle Security
&&ORA-28267 from JDBC issuing SQL over DB link to 10g&&DB ( relates to E2E_CONTEXT namespace)
Oracle Space management
&&Excessive TX enqueue contention with heavy&&Securefile insert workload on RAC
&&ORA-600 [kcbchg1_12] or ORA-600 [kdifind:kcbget_24]
&&ORA-10637 occurs on SHRINK of a partitioned table&&with deferred segments
&&ORA-600 [ktsflmerge-cycle-1] during inserts into&&freelist managed segment
&&Large trace file for ORA-8103
&&Corruption / ORA-600 after ALTER TABLE of a LONG to&&CLOB
&&ORA-8103 during insert / update of basicfile LOB in&&assm segment using space search cache
&&INSERT ... SELECT does not compress some rows
&&Abnormal segment growth with unformatted blocks when&&using space search cache
&&Extensive growth of Securefiles segments undergoing&&updates
&&ORA-17503 from create EHCC tablespace on ZFS
&&Wrong results on IOT secondary index after DML
&&TRUNCATE table hangs in RAC with &reliable&&message& wait if fix
Oracle Spatial
&&Fix for bug
&&Fix for bug
Oracle Streams
&&Call Memory corruption / ORA-600 [17114] with CDC
&&CDC purge routine invalidating custom indexes
Oracle Transaction Management
&&ORA-4031 with high &KTC latch subh& memory&&usage
&&SGA memory corruption / ORA-7445 when modifying&&uncompressed blocks of an HCC-compressed segment
&&DML hangs when HCC has initrans=255
Oracle Virtual Operating System Services
&&Slow rman backup / IO Slaves not spawned
&&Excessive time holding shared pool latch in kghfrunp&&with auto memory management
&&Fix for bug
&&ORA-600 [15419] / PLS-801 using REFCURSOR bind with&&PLSQL
&&IMPDP or IMP hangs on compilation of PLSQL&&containing a pipelined function
&&Internal errors, corruptions, using pipelined&&function whose rows raise exceptions
Server Manageability
&&AWR Snapshot collection hangs due to slow inserts&&into WRH$_TEMPSTATXS.
&&AWR Compare Period takes a long time to generate
Workspace Manager
&&Fix for bug
&&ORA-955 from Workspace Manager script owmv1120.plb
Miscellaneous Issues
&&Fix for bug
&&Fix for bug
建议关注以下bug:
ora-600 [kjblpkeydrmqscchk:pkey]
ora-600 [kjbldrmrpst:pkey]
ora-600 [kjbrchkpkeywait:timeout]
导致数据库crash
Workaround:
disable read mostly locking via:& &_gc_read_mostly_locking=false
共享池KGLHD内存泄漏。
可以看到共享池KGLHD越来越大或者ORA-4031,而且有多个共享池子池。
Workaround:
Set &_kghdsidx_count&=1
相关bug:(也是由于多共享池子池导致)
使用rownum对分区表进行查询时,有可能返回错误的结果。
看到hang,有&library cache lock& 和&library cache load lock&,堆栈信息中未看到kksfbc。
在join操作中有NULLIF的查询有可能得到错误的结果。
由于PMON进程导致实例crash,可能遇到报错ORA-7445 [kksLockDelete]或者ORA-4024。
打这个对应的patch可以减轻在dc_rollback_segments上的row cache latch,latch: row cache objects等待时间,尤其数据库有大量的undo segment。
ASM dia0进程占用大量内存
select ss.sid, p.pid, p.pname, sn.name,round(ss.value/())||'Mb' &MegaBytes&
from v$sesstat ss, v$statname sn,v$session s, v$process p
where s.paddr = p.addr
and&&sn.statistic# = ss.statistic#
and&&s.sid = ss.sid
and&&sn.name in ('session pga memory' , 'session pga memory max')
and&&p.pname='DIA0'
order by ss.value
60& &&&8 DIA0& && && &session pgamemory& && &&&58Mb
60& &&&8 DIA0& && && &session pga memorymax& & 58Mb
After one day:
60& &&&8 DIA0& && && &session pga memorymax& & 898Mb
60& &&&8 DIA0& && && &session pgamemory& && &&&898Mb& && & ====&& growth is about 840MB perday in this example
Workaround:
临时解决办法可以先kill一下dia0进程。
RAC中一个节点由于遇到ORA-29770错误而中断,类似如下报错
LMS8 (ospid: 2917) has not called a waitfor 93 secs.
Errors in file /.../xxx_lmhb_2927.trc&&
ORA-29770: global enqueue process LMS8 (OSID2917) is hung for more than 70 seconds
Incident details in:&&...
ERROR:Some process(s) is not making progress.
Trace内内容
LMS8 (ospid: 1998) has not moved for 73sec (.)
kjfmGCR_HBCheckAll: LMS8 (ospid: 1998) has status 2
& &: waiting for event 'gcs remote message' for 0secs with wait_id 23404.
Workaround:
Set init.ora parameter _gc_defer_time to 3.
LMS进程报ORA-600[kjbrscping:slsend]进而导致实例crash。
由于'TIMEOUTin DRM FREEZE step' 或者'SYNCTIMEOUT while waiting for lmd'导致实例被驱逐。
相关bug:与之类似
由于ORA-600[kjbrwrdone:sc3],LMS进程crash实例。
修改统计信息故障处理说明
很多故障都是由于某条或者某些执行计划错误变更而导致的性能问题,我们可以通过修改统计信息的方式来对执行计划进行调整。
统计信息迁移
当语句执行计划出现问题后,可以考虑尝试将原10g版本的统计信息导入到11g版本数据库中,尝试解决问题。
统计信息迁移步骤(以迁移test用户下a1表的统计信息为例,中间信息存储表为stat_history):
进行sql语句执行计划固化,进行固化之前,首先通过hint或者参数方式,找到目标sql语句最优的执行计划,假设目标sql语句的sql_id为6bcwxgty705p8,通过hint得到这个语句的目标执行计划hash&#511,然后执行:
SQL& @coe_xfr_sql_profile.sql 6bcwxgty705p8
执行完成后,在执行的目录下生成文件:coe_xfr_sql_profile_6bcwxgty705p8_.sql
然后运行这个脚本,即完成了sqlprofile创建。
最后通过DBA_SQL_PROFILES查询相关信息。
Downgrade说明
Oracle支持对升级进行downgrade的,通过Downgrade可以将包括数据库及软件版本都回退到升级前的版本,数据库内的数据库不用额外进行恢复。
根据沟通,如果数据库未使用Oracle Database Vault,本文中不考虑Oracle Database Vault的影响。
并不是所有的情况下都可以进行Downgrade,10g Release 2版本要求是10.2.0.2及以后版本进行升级,才可以进行Downgrade。
如果希望可以进行Downgrade,要求进行upgrade的时候不能修改数据库的COMPATIBLE参数,如果将这个参数修改为11.2.0.0以上版本,那么将不能进行Downgrade。
DB downgrade步骤
以下所写步骤请参考,请在实际环境中进行测试形成最终完整可操作文档。
1.& && & DST修改,在进行upgrade的时候,使用DBMS_DST PL/SQL包更新了database time zone版本,那么需要恢复对应的版本,恢复方法为到MOS下载之前数据库版本在对应平台上的patch。
查询当前DST版本命令:
SELECT value$ FROM sys.props$ WHERE NAME = 'DST_PRIMARY_TT_VERSION';
2.& && & 如果设置了ORA_TZFILE环境变量请去掉这个环境变量
3.& && & 如果安装了Oracle Application Express,备份一个apxrelod.sql文件到到非Oracle目录下。
4.& && & 如果有基于fixed objects创建的对象,后面删除这些对象时有可能遇到ORA-600错误,downgrade完成后可以重建这些对象。
5.& && & 以Oracle用户登录系统
6.& && & 停止所有节点的Enterprise Manager
7.& && &停止数据库,修改参数CLUSTER_DATABASE为false
8.& && & 以sysdba使用sqlplus连接数据库
9.& && & 以downgrade模式启动数据库
SQL& STARTUP DOWNGRADE
10.& & 如果配置了Enterprise Manager,先删除sysman用户
DROPUSER sysman CASCADE;
11.& &制定日志路径
SQL& SPOOL downgrade.log
12.& & 执行downgrade脚本
SQL& @catdwgrd.sql
该脚本需要在11g版本的环境下执行11g版本的脚本。如果有组件downgrade失败会显示ORA-39709报错,必须让所有组件downgrade都成功数据库downgrade才成功。
13.& & 停止日志记录
SQL& SPOOL OFF
14.& & 停止数据库并退出sqlplus
SQL&SHUTDOWN IMMEDIATE
15.& & 修改ORACLE_HOME等环境变量到10g版本
16.& & 以sysdba使用sqlplus连接数据库
17.& & 以upgradee模式启动数据库
SQL& STARTUPUPGRADE
18.& & 制定日志路径
SQL& SPOOL reload.log
19.& & 执行catrelod.sql脚本
SQL& @catrelod.sql
Catrelod脚本将会重新在10g版本数据库中加载各个组件的适当版本。
20.& & 停止日志记录
SQL& SPOOLOFF
21.& & 停止数据库,修改参数CLUSTER_DATABASE为true并正常启动数据库。
22.& & 运行utlrp.sql脚本
SQL&@utlrp.sql
23.& & 修改集群内注册信息
$ srvctldowngrade database -d db-unique-name -o old_ORACLE_HOME -t to_relnum
clusterware downgrade步骤
GI downgrade支持从10.2.0.3到11.1.0.7升级到11.2.0.3版本后的downgrade。
1.& && & 在非OCR node执行(OCR node指进行执行安装或者升级的节点,一般来说是1节点)
#$NEW_HOME/crs/install/rootcrs.pl -downgrade -force
2.& && & 在OCR node执行:
#$NEW_HOME/crs/install/rootcrs.pl -downgrade -force -lastnode -oldcrshome$OLD_HOME -version $OLD_VERSION
3.& && & 清理各个节点gpnp profile
rm -rf$NEW_HOME/gpnp/*
mkdir -p$NEW_HOME/gpnp/profiles/peer $NEW_HOME/gpnp/wallets/peer$NEW_HOME/gpnp/wallets/prdr $NEW_HOME/gpnp/wallets/pa$NEW_HOME/gpnp/wallets/root
4.& && & 删除各个节点checkpoint file
rm -rf $ORACLE_BASE/Clusterware/ckptGridHA_${nodename}.xml
5.& && & 检查各个节点oratab文件中asm是否指向旧版本位置
6.& && & 启动旧版本集群软件
$OLD_HOME/bin/crsctlstart crs
7.& && & 检查旧版本集群运行是否正常:
exportORACLE_HOME=$OLD_HOME
$OLD_HOME/bin/crsctlquery crs activeversion
$OLD_HOME/bin/crsctlquery crs softwareversion
$OLD_HOME/bin/crsctlcheck crs
$OLD_HOME/bin/crs_stat-t
$OLD_HOME/bin/crs_stat
$OLD_HOME/bin/oifcfgiflist -p -n
$OLD_HOME/bin/oifcfggetif
$OLD_HOME/bin/ocrcheck
cat/etc/oracle/ocr.loc /var/opt/oracle/ocr.loc
$OLD_HOME/bin/crsctlget css diagwait
$OLD_HOME/bin/srvctlconfig nodeapps -n `hostname | cut -d'.' -f1 | awk '{ print tolower($0); }'` -a
$OLD_HOME/OPatch/opatchlsinventory oh=$OLD_HOME
ifconfig& && && && &&&## location and exact syntax innote
unsetORACLE_HOME
8.& && & 设置&CRS=true& for OLD_HOME
/ocw/grid/oui/bin/runInstaller-updateNodeList ORACLE_HOME=&/ocw/grid& CRS=true
## ==&/ocw/grid is current clusterware home
Downgrade方案虽然可以进行版本回退,但是在实际当中使用极少,某些企业对此进行了测试,但是当前Oracle ACS未发现国内大型企业客户有采用此种方式进行正式生产系统回退的先例。
这种方式的优点:
l&&不占用升级时间,此操作只在确定需要回退是才开始执行
l&&技术本身限制较多,包括COMPATIBLE参数不能升级,很多新功能无法使用
l&&影响面大,不仅涉及到数据库,rdbms,甚至包括集群软件都需要downgrade,因为涉及到集群操作,有可能完成downgrade后无法恢复到原来运行的状态
l&&Downgrade时间长,具体时间需要进行详细测试之后才能确定,但是肯定以小时作为时间计量单位,另外完成downgrade后需要花费额外的时间来验证downgrade是成功的
l&&操作复杂需要单独测试,整个操作步骤很多,中间步骤出现问题进行处理难度将更大,所以此种方案必须进行多次多场景测试才可应用于生产环境。
l&&风险度高,因为在决定downgrade的时候,仅有11g数据库内有最完整数据,此时如果downgrade出现数据问题,将会导致数据丢失
GoldenGate说明
由于本次升级,对于原有10g数据库不进行变更,那么如果在升级过程中或者校验时发现问题可以回退到原有10g版本数据库系统,对业务影响较小,但是如果校验成功,11g数据库连接应用对外服务后发现问题,由于有新的数据更新,已经无法回退连接到原有10g版本数据库系统,如果在11g版本数据库连接应用之前,可以实施Oracle GoldenGate,将连接应用后的数据变更同步到原有10g版本数据库,那么当运行一段时间后发现11g版本数据库存在问题,也可以切换回原有的10g版本数据库而没有数据丢失。
要求11g版本的数据库打开归档,并且打开补充日志,建议开启force logging以防止隐患。
对于RAC环境11g数据库,GoldenGate的相关软件和工作目录需要配置在shared disk环境中,从而保证对所有node都是可用的,从任何一个node都可以启动GoldenGate的进程,当其中一个node出现异常时,可以在剩余的node启动而无须修改任何配置参数。
GoldenGate实施步骤
以下所写步骤请参考,正式实施前请进行测试形成正式文档。
1.& && & 安装Oracle GoldenGate(以下简称OGG)(新系统指11g版本数据库,旧系统指10g版本数据库,以下对新旧系统都执行)
a)& && &&&建议使用Oracle用户安装和配置OGG;
b)& && &&&可以在任意位置建立OGG软件安装目录,例如/app/goldengate,该目录的属主为Oracle用户。但为了实现高可用性,建议放在共享阵列,并且所在磁盘必须有一定的空间,例如几十个G。
c)& && &&&使用管理员用户通过ftp等方式上传OGG软件并解压缩.
2.& && & 数据库必须打开归档模式(对新系统执行)
Grantsucceeded.
SYS@ora11g&
Database logmode& && & Archive Mode
Automaticarchival& && && &Enabled
。。。。。。
3.& && & 检查日志记录要求(对新系统执行)
SQL&selectsupplemental_log_data_min from v$
结果为NO,表示没有打开附加日志。使用以下命令将数据库附加日志打开:
SQL&alterdatabase add s
切换日志以使附加日志生效:
SQL&ALTERSYSTEM ARCHIVE LOG CURRENT;
4.& && & 建立OGG数据库用户(新旧系统执行)
OGG需要从数据字典读取表结构.OGG数据库用户权限:
CREATE USER goldengate&&IDENTIFIED BY goldengate DEFAULT TABLESPACE USERS ;
GRANT CONNECT TO
GRANT CREATE SESSION TO
GRANT ALTER SESSION TO
GRANT RESOURCE TO
GRANT SELECT ANY DICTIONARY TO
GRANT SELECT ANY TABLE TO
GRANT FLASHBACK ANY TABLE TO
GRANT ALTER ANY&&TABLE TO
目标端根据需要再额外添加其他权限,例如需要对表做DML:
GRANT INSERT ANY TABLE TO
GRANT UPDATE ANY TABLE TO
GRANT DELETE ANY TABLE TO
5.& && & 在源端OGG命令行模式下为数据库表添加trandata(新系统执行)
a)& && & GGSCI&DBLOGIN&&USERID xxxxx, PASSWORD xxx
b)& && & GGSCI&ADD TRANDATA&owner&.&table&
6.& && & 创建子目录,上传参数文件
a)& && & 在安装目录下运行OGG命令行控制界面:
& & ./Ggsci
b)& && & 在OGG命令行界面下创建子目录:
& & GGSCI& create subdirs
c)& && & 通过ftp上传参数文件mgr, ext*,dpe*到dirprm文件夹中,后面手工通过edit param &进程名&编辑也可。
7.& && & 配置GOLDENGATE 相关进程
a)& && & 配置mgr进程
& & GGSCI&edit param mgr
--AUTORESTARTER *, RETRIES 3, WAITMINUTES 2, RESETMINUTES 60
--PURGEOLDEXTRACTS./dirdat/*, USECHECKPOINTS, MINKEEPDAYS 7
& & GGSCI&start mgr
& & Manager started.
b)& && & 配置源端抽取进程
(注:从此步骤起,请定义自己的extract/data pump/replicat名称,以及exttrail和rmttrail名称。建议抽取日志的进程以extXX命名,在网络上传输数据的data pump进程以dpeXX格式命名,replicat以repXX格式命名;本地队列以./dirdat/tX命名,远程队列以./dirdat/rX命名。)
& & GGSCI&add ext extXX, tranlog, begin now
& & EXTRACT added.
& & GGSCI&add exttrail ./dirdat/tX, extextXX,&&megabytes 50
& & EXTTRAIL added.
& & GGSCI&edit param extXX
EXTRACT extXX
--setenv (NLS_LANG = AMERICAN_AMERICA.ZHS16GBK )
USERID ogg,PASSWORD ogg
EXTTRAIL./dirdat/tX
dynamicresolution
tablesystem.custcardinfo1;
& & GGSCI&add ext dpeXX, exttrailsource./dirdat/tX
& & EXTRACT added.
& & GGSCI&add rmttrail ./dirdat/rX, extdpeXX, megabytes 50
& & RMTTRAIL added.
& & GGSCI&edit param dpeXX
extract dpeXX
--setenv (NLS_LANG = AMERICAN_AMERICA.ZHS16GBK )
rmthost&&旧系统IP,mgrport7809, compress& &&&
rmttrail./dirdat/rX
Dynamicresolution
table &owner&.*;
8.& && & 启动源端进程
a)& && & 启动源端抓取进程:
& & GGSCI&start er *
b)& && & 查看源端进程状态:
& & GGSCI&info er *
& & RUNNING
& & RUNNING
注:若目标端mgr进程未启动,则该步骤无法启动dpe*进程,需等目标端mgr进程启动后再启动。
9.& && & 配置Oracle数据库的目标进程
a)& && & 配置目标端投递进程:
& &GGSCI&add rep repxx, exttrail ./dirdat/rX,nodbcheckpoint
b)& && & 配置目标参数:
replicatrepXX
USERIDgoldengate, PASSWORD goldengate
--SETENV(NLS_LANG = &AMERICAN_AMERICA.ZHS16GBK&)
SETENV(NLS_LANG = &SIMPLIFIED CHINESE_CHINA.ZHS16GBK&)
reperrordefault, discard
discardfile./dirrpt/rp02.dsc, append, megabytes 50
grouptransops100
DDL includemapped
DDLERRORDEFAULT IGNORE RETRYOP MAXRETRIES 3 RETRYDELAY 5
DDLOPTIONSreport
MAP&owner&.*, TARGET &owner&.*;
c)& && & 启动目标端投递进程:
& &GGSCI&start repXX
观察数据是否正确复制到目标端。
使用Oracle GoldenGate作为回退方案,保证了再运行过程中存在一份在线数据备份,有效的保护了数据,所有的实施都在应用上线前进行实施,当出现问题时只需要恢复应用对数据库的指向即可。
这种方式的优点:
l&&回退速度快操作简单,只需要进行应用数据库指向即可
l&&存在在线数据备份,提升了数据安全
l&&风险低,即使在OGG同步过程中出现问题,对运行的生产系统是没有直接影响的
l&&需要额外购买软件,Oracle GoldenGate是单独产品,需要额外购买
l&&安全风险,需要在新旧数据库分别创建数据库用户,加大安全风险
l&&加长升级时间,由于要在应用连接数据库前启动OGG,所以OGG部署应该在UPGRADE之后,应用启动之前,这样就加大了应用停止时间
l&&数据库直接性能影响,由于推荐打开数据库的force logging,并且开启补充日志,所以将会增加数据库redo开销,影响数据库性能。
l&&数据库间接性能影响,因为主机资源是固定的,虽然OGG可以限制内存的使用量,当存在大事务或者redo量很大时,有可能OGG会消耗较大量系统资源,从而对同样在主机上运行的数据库系统产生影响。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:869019次
积分:13446
积分:13446
排名:第611名
原创:327篇
转载:322篇
译文:135篇
评论:31条
(1)(3)(2)(1)(3)(2)(5)(4)(18)(2)(4)(6)(2)(1)(8)(10)(8)(10)(26)(9)(8)(13)(22)(16)(28)(38)(31)(39)(31)(46)(16)(19)(47)(55)(38)(66)(33)(53)(36)(20)(1)(3)

我要回帖

更多关于 用友nc6.3注册机 的文章

 

随机推荐