EAS Cloud升级葵花宝典
问题描述:
想了解EAS Cloud升级流程
EAS Cloud升级前的注意事项有哪些?
如何提升EAS Cloud升级的效率?
EAS Cloud升级时遇到问题如何进行处理?
解决方案:
不在让EAS Cloud数据中心升级困扰您,请看以下升级葵花宝典。
一、升级前数据库检查工作:
1.每个数据库实例在线日志组有5组以上,且每组日志大小大于等于512M;
2.数据库初始化参数配置合理,sga(sga_max_size,sga_target)参数值设置为数据库服务器物理内存的65%左右,pga(pga_aggregate_target)参数值设置为库服务器物理内存的15%左右(如果内存大于128G,比例可以适当调小些,在线的EAS用户越多,需要的pga内存参数值就会越多些),db_cache_size设置为sga_max_size参数值的65%左右,shared_pool_size设置为sga_max_size参数值的30%左右;
3.EAS账套表空间足够大,至少能支撑升级数据中心用;
4.大的账套undo表空间大于等于 60GB;
5.近期收集过表统计信息或导出前做过统计信息的收集,并且导出并导入了统计信息。如果没有导入统计信息,导入数据后要手工用脚本做一次对EAS账套全采样统计分析。统计分析的目的是让SQL语句通过统计的表记录数等信息选择最佳的执行计划,SQL执行速度进行提升;
6.升级前做好数据库的备份,升级前可把数据库改成非归档模式,避免产生较多归档导致归档空满,引起数据库宕机。数据中心升级上来后数据库改回归档模式。归档的更改将由客户的专业DBA进行处理;
7.建议升级的数据库用户临时赋dba权限,否则DBA_PART_TABLES 这个没权限查询会导致升级过程报错。升级完如果有客户要求不要赋dba权限,则对升级的数据库用户收回dba权限,赋单独的查询等权限;
8.升级的测试应用服务器、数据库服务器的硬件配置不要太低,建议跟正式服务器的配置差不多,可能略低些,但不要低太多,否则升级速度会很慢。(升级存放数据库的数据的磁盘建议用较好性能的存储(磁盘每秒读写共150M以上)或用固态硬盘);
9.正式升级的服务器硬件配置参照EAS发版时部署方案手册中相应并发数推荐的硬件配置去升级相应硬件,提升性能。
二、升级时几点注意事项:
打管理控制台最新补丁后点管理控制台中的数据中心升级按钮,才会出现升级的三种模式选择,否则就只有一种升级方式。
1.升级时如果选择了第一种,升级时报错就中断,修正错误脚本后,点继续升级。升级卡住时,通过工具(EAS数据库管理器)找到卡住耗时的SQL语句,用工具杀掉语句的会话,让升级那块报错,调优SQL后,点继续升级。 那样就会从报错那开始升级。切记不要关了管理控制台,
再次点“升级”按钮,那样会从头开始升级,会进行二次升级,则二次升级会出现升级脚本重复执行,那样则要把账套(数据库用户)备份数重新导入。 (正式升级推荐用这种)
2.选择第二种跨小版本升级,哪个版本报错,就会在哪个版本开始升级。
3.选择第三种就是不管升级过程中是否有报错,都不会中断,直到所有脚本执行完,然后查看升级详情信息分析报错的脚本,修正脚本后再次点升级,此时需要恢复一个账套升级,否则会出现二次升级,升级脚本会报一次升级没有报的错误。 (测试升级推荐用这种)
三种方式升级图如下所示:
三、大家升级时可能会出现升级卡(SQL语句执行时间较长,有时是对应表中垃圾数据较多,需要找对应业务模块支持人员想办法对垃圾数据进行清理,以提升执行速度。有时是KSQL语句中用的是case函数,翻译成ORACLE数据库语法时变成了decode函数,引起执行慢,则执行翻译后的脚本改成case函数后,执行就快了,还有语句缺索引导致慢,则加索引等),表空间不足,数据库参数不合理(ORACLE),建议推荐用我之前开发的EAS数据库管理器,方便使用,一键把需要的信息查询了出来。把卡住的SQL语句会话杀掉等处理也可以用这个工具。
EAS数据库管理器For Oracle V2.0(数据库性能分析平台):
登录EAS数据库管理器后,执行“数据库概述”-->"一键操作全展示”可以看到数据库参数配置合理情况,表空间使用情况,耗时SQL语句,锁等待相关信息。
执行“性能SQL语句诊断”-->"一键操作全展示”可以看到耗时SQL语句,锁等待相关信息,且可以看到语句的执行计划,统计信息,如果要终止SQL语句执行,可以选择语句行后,点击“杀会话”按钮进行会话杀掉。
只要有升级的账套,可以连上那个数据中心,相关工具功能就可以使用。先连一下升级前的数据库用户,用工具扫一下,保存相关的信息(数据库参数)、表空间使用大小, 然后用工具连升级时的数据中心(数据库用户),一键扫一下,扫出来的表空间大小跟升级库表空间大小做对比,就知道升级时的数据库要建多大的表空间大小。
相关查出的信息可以导出来,也可以做为基线数据。
其它工具使用介绍:
查看升级卡的SQL语句其它工具有: ORACLE数据库有OEM工具(ORACLE企业管理器), 通过进入"项级活动",查到耗时SQL,进行SQL调优或杀会话,让升级报中断错误。
对发现执行慢的SQL语句用“调度SQL优化指导”功能进行优化,如下所示:
点击上图中的“活动”,进入对应的SQL语句对应的会话,点击对应的SQL ID进入后,点“终止会话”按钮可以杀掉或终止掉正在运行的SQL语句的会话。
Oracle em工具使用指南:
https://pan.yunzhijia.com/s/MTEwNjgwNyxmZDM5
SQL SERVER数据库则用数据库的Studio,进入活动管理,查到耗时的SQL并进行处理。
找到要杀掉的会话,右击鼠标,选择如“杀进程”按钮杀掉进程。
PL/SQL DEVELOPER工具, 菜单项 tools--->session 根据状态ACTIVE过滤找到正在执行的SQL语句。
通过脚本查出挂起的SQL:
看等待事件(近3分钟内的等待事件sysdate-3/1440)
select sess_id,SQL_ID,username,program,wait_event,sess_time/1000000 as "sess_time(S)",round(100 * (sess_time / total_time),2) pct_time_waited
from (select a.session_id sess_id,SQL_ID,decode(session_type,'background',session_type,c.username) username,a.program program,
b.name wait_event,sum(a.time_waited) sess_time from sys.gv_$active_session_history a,
sys.gv_$event_name b, sys.dba_users c where a.event# = b.event# and a.user_id = c.user_id and
sample_time > sysdate-3/1440 and sample_time < sysdate
group by a.session_id,SQL_ID,decode(session_type,'background',session_type,c.username),a.program,b.name),(select sum(a.time_waited) total_time
from sys.gv_$active_session_history a,sys.gv_$event_name b where a.event# = b.event# and sample_time > sysdate-3/1440 and
sample_time < sysdate ) order by 6 desc;
SESS_ID SQL_ID USERNAME PROGRAM WAIT_EVENT sess_time(S) PCT_TIME_WAITED
---------- ------------- --------------- ------------------------------------------------ ---------------------------------------------------------------- ------------ ---------------
1890 400daptmckmpu XD851 oracle@ceshi (DW00) statement suspended, wait error to be cleared 62.018795 44.78
6600 5jdjamwk0wrks XDFRIST oracle@ceshi (DW01) statement suspended, wait error to be cleared 62.017063 44.78
3766 SYS oracle@ceshi (DBW0) db file async I/O submit
statement suspended, wait error to be cleared 表示SQL被挂起,然后查询到表空间:EAS_D_XDEAS_INDEX已满,则推断出因表空间满导致SQL被挂起,从而看到一条sql执行了N久都没完成。
查询前10个执行时间最长的sql语句:
select *
from
(
select
sql_id,
sql_text as "sql语句前100个字符",
sql_fulltext as "完整的sql语句",
optimizer_cost "查询成本",
round(elapsed_time/1000/60,2) "语句执行的共用时间(m)"
from v$sqlarea
order by elapsed_time desc ) where rownum<10;
通过SQL_ID如何查到对应的SQL语句:
select a.username, a.sid,b.SQL_TEXT, b.SQL_FULLTEXT
from v$session a, v$sqlarea b
where a.sql_address = b.address
and b.sql_id='SQL会话标识号';
如何通过SQL_ID查到sid,serial#,见以下脚本:
select sid,serial# from v$session b where b.SQL_ID='SQL会话标识号';
怎样杀掉耗时或有问题的SQL语句会话:
alter system kill session 'SID,SERIAL#';
四、数据库统计分析
对整个账套做统计分析
begin
dbms_stats.gather_schema_stats(
ownname=> '"EAS75"' , --改为现场EAS账套名称,要为大写名称
cascade=> TRUE,
estimate_percent=> null,
degree=> 2, --根据现场CPU个数情况更改此值,一般CPU个数减2
no_invalidate=> DBMS_STATS.AUTO_INVALIDATE,
granularity=> 'AUTO',
method_opt=> 'FOR ALL COLUMNS SIZE AUTO',
options=> 'GATHER');
end;
/
其中: ownname改为现场的eas账套名,如果在SQL>下执行,则最后要加上“/”,如果在PL/SQL DEVELOPER工具的SQL WINDOW中执行,则不要最后的“/”。
五、数据库REDO文件大小修改方法
六、数据库参数修改方法参考
七、数据库账套数据备份与恢复
八、数据中心升级流程及升级常见问题FAQ等知识学习
【金蝶企业云盘】链接:https://pan.yunzhijia.com/s/MTAzODk2Myw1M2Yw
密码:11hn
九、EAS 安装部署资料查看金蝶云社区链接https://vip.kingdee.com/article/43437916727869502
本帖整理了EAS各个常见版本的安装部署资料(包括系统管理员手册、发版说明、部署方案等),主要内容如下所示:
EAS Cloud 安装部署文档
EAS V8.5 安装部署文档
EAS V8.2 安装部署文档
EAS V8.0 安装部署文档
EAS V7.5 安装部署文档
EAS安装部署微课堂
EAS Cloud升级葵花宝典
本文2024-09-22 20:30:28发表“eas cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-eas-114066.html