【最新整理,下载后即可编辑】Oracle数据库安装及运维工作指南金蝶软件(中国)有限公司K3 CLOUD 基础系统部2017-04-10张华福本文主要强调ORACLE 数据库服务器环境的安装软件及版本,以及安装完成后的后续完善工作。
以确保数据库以比较完善的状态投入生产,尽可能避免已知的问题影响生产库的运营。
文章不涉及到软件的安装方法步骤。
1 服务器系统软件,数据库版本安装推荐:1 数据库服务器的操作系统,推荐使用ORACLE LINUX6.8。
2 数据库软件版本,要求安装11204,单节点或RAC环境均可,推荐使用RAC。
2 数据库安装创建完毕后,需要进行下列的完善工作,1 打上最新的补丁集,如:ORACLE 11204,截止至2017年4月,ORACLE11204 数据库, 当前最新版本的补丁集为20161018 日发布的,p2*******_112040_Linux-x86-64_GI_20161018.zip --rac 版本,p2*******_112040_Linux-x86-64_DB_20161018.zip --纯数据库版。
请按照补丁集上的readme.html,把补丁集打到GI, 数据库上。
2 初始化参数,下面的参数值,只是通常情况下的设置(或可根据服务器的硬件条件自行修改配置),要想系统效率最优,得依据数据库实际的运行情况逐步作微调(注意,下面的命令,在RAC和单节点环境下,稍有不同)。
alter profile default LIMIT PASSWORD_LIFE_TIME UNLIMITED;alter system set processes=500 scope=spfile sid='*';alter system set control_file_record_keep_time=21 scope=spfile sid='*';alter system set open_cursors=300 scope=spfile sid='*';alter system set session_cached_cursors=300 scope=spfile sid='*';alter system set audit_trail=NONE scope=spfile sid='*';alter system set recyclebin=off scope=spfile sid='*';alter system set log_archive_dest_1='location=use_db_recovery_file_dest' scope=both sid='*';alter system set fast_start_mttr_target = 30 scope=both sid='*';alter system set streams_pool_size=100m scope=spfile sid='*';alter system set archive_lag_target = 1200;alter system set "_optimizer_use_feedback"= false scope=spfile sid='*';alter system set "_optimizer_invalidation_period"=60 scope=both sid='*';修改结束后,需重启数据库,才能确保上述修改生效。
3 将数据库设置成归档模式,并开启最小附加日志.3.1 启用db_reocvery_file_dest 参数,设置好归档日志存放路径,SYS@k3db1>show parameter db_recoveryNAME TYPE VALUE------------------------------------ ----------- ------------------------------db_recovery_file_dest stringdb_recovery_file_dest_size big integer 0SYS@k3db1>alter system set db_recovery_file_dest_size=50g; -- 此参数值按实际情况设置。
System altered.Elapsed: 00:00:00.04SYS@k3db1>alter system set db_recovery_file_dest='+FLASH'; --此参数值按实际情况设置。
System altered.Elapsed: 00:00:00.03alter system set log_archive_dest_1='location=use_db_recovery_file_dest' scope=both sid='*';同时在两节点上执行:关闭数据库,设置归档模式,都设置了归档模式后,再打开数据库。
2 节点1,节点2上。
Shutdown immediate;3 节点1,节点2上。
Startup mount;4 节点1,节点2上。
Alter database archivelog;Alter database add supplemental log data;-- 开启最小附加日志alter database add supplemental log data;5 节点1,节点2上。
Alter database open;3 制定作业,定时采集系统表,业务表的统计信息,3.1 以sys 身份,使用sqlplus 工具,登录生产库,创建定时作业,采集系统表,每周日早上7点开始运行。
create procedure pro_analyze_dict asbegindbms_stats.gather_dictionary_stats();dbms_stats.gather_fixed_objects_stats();end pro_analyze_dict;/begindbms_scheduler.create_schedule(schedule_name => 'SCHEDULE_SUNDAY_AT_0700',start_date => TO_DATE('2016-08-04 00:00:00','YYYY-MM-DD HH24:MI:SS'),end_date => NULL,repeat_interval => 'FREQ=WEEKLY;BYDAY=SUN;BYHOUR=07; BYMINUTE=00; BYSECOND=0',comments => '');end;/exec dbms_scheduler.drop_program(program_name=> 'PROC_ANALYZE_DICT');begindbms_scheduler.create_program(program_name => 'PROC_ANALYZE_DICT',program_type => 'PLSQL_BLOCK',program_action => 'BEGIN pro_analyze_dict; END;', number_of_arguments => 0,enabled => TRUE,comments => '2016-08-07 07:00:00');end;/begindbms_scheduler.create_job(job_name => 'JOB_ANALYZE_DICT',program_name => 'PROC_ANALYZE_DICT',schedule_name => 'SCHEDULE_SUNDAY_AT_0700',enabled => TRUE,comments => 'zhang.huafu, analyze sys tables'' stats and fixed objects'' stats');end;/3.2 关闭系统自带的统计信息等功能。
exec dbms_auto_task_admin.disable(client_name => 'auto space advisor', operation => NULL, window_name => null);exec dbms_auto_task_admin.disable(client_name => 'sql tuning advisor',operation => null, window_name => null);exec dbms_auto_task_admin.disable(client_name => 'auto optimizer stats collection', operation => NULL, window_name => NULL); 3.3 以sys 身份,用sqlplus 工具,登录生产库,创建一个常用的管理账户,并授予合适的权限:create user manager identified by "20160803";grant dba to manager;grant drop any table to manager;grant delete any table to manager;grant select any table to manager;grant select on dba_tables to manager;grant select on dba_objects to manager;grant select on dba_recyclebin to manager;grant select on dba_mview_logs to manager;grant analyze any to manager;grant update(failure_count) on sys.scheduler$_job to manager;--3.3.1 以manager 身份登录,创建采集业务表的定时作业,每天早上5点运行。