Oracle数据库安装及运维工作指南.docx_第1页
Oracle数据库安装及运维工作指南.docx_第2页
Oracle数据库安装及运维工作指南.docx_第3页
Oracle数据库安装及运维工作指南.docx_第4页
Oracle数据库安装及运维工作指南.docx_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Oracle数据库安装及运维工作指南金蝶软件(中国)有限公司K3 CLOUD 基础系统部2017-04-10张华福本文主要强调 ORACLE 数据库服务器环境的安装软件及版本,以及安装完成后的后续完善工作。以确保数据库以比较完善的状态投入生产,尽可能避免已知的问题影响生产库的运营。文章不涉及到软件的安装方法步骤。 1 服务器系统软件,数据库版本安装推荐:1 数据库服务器的操作系统,推荐使用 ORACLE LINUX6.8。2 数据库软件版本,要求安装11204,单节点或RAC环境均可,推荐使用RAC。2 数据库安装创建完毕后,需要进行下列的完善工作,1 打上最新的补丁集,如:ORACLE 11204,截止至 2017年4月,ORACLE11204 数据库, 当前最新版本的补丁集为 20161018 日发布的, p24436338_112040_Linux-x86-64_GI_20161018.zip -rac 版本, p24006111_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 参数,设置好归档日志存放路径, SYSk3db1show parameter db_recovery NAME TYPE VALUE - - - db_recovery_file_dest string db_recovery_file_dest_size big integer 0 SYSk3db1alter system set db_recovery_file_dest_size=50g; - 此参数值按实际情况设置。 System altered. Elapsed: 00:00:00.04 SYSk3db1alter system set db_recovery_file_dest=+FLASH; - 此参数值按实际情况设置。 System altered. Elapsed: 00:00:00.03 alter 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 as begin dbms_stats.gather_dictionary_stats(); dbms_stats.gather_fixed_objects_stats();end pro_analyze_dict;/begin dbms_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);begin dbms_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;/begin dbms_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点运行。create or replace procedure _analyze_stats asbegin for i in (select owner, table_name from dba_tables a where owner in (LNZHONGYI,ZHONGYICS) and temporary=N and table_name not like TMP% and not exists (select 1 from dba_mview_logs where log_owner=a.owner and log_table=a.table_name) order by owner, last_analyzed nulls first) loop dbms_stats.gather_table_stats(i.owner,i.table_name); end loop; for i in (select owner, table_name from dba_tables where owner in (LNZHONGYI,ZHONGYICS) and temporary=Y and last_analyzed is not null order by owner, table_name) loop dbms_stats.delete_table_stats(i.owner,i.table_name); end loop;end pro_analyze_stats;/说明:红色部分,是业务账户名,请根据实际情况更改。蓝色部分,用于清空临时表(ORACLE定义的临时表)的统计信息,这在11G版本是可行的,到了12C,ORACLE对临时表的统计信息作了进一步的改进,需要分情况处理了。begin dbms_scheduler.create_schedule (schedule_name = SCHEDULE_DAILY_AT_0510, start_date = TO_DATE(2016-08-04 00:00:00,YYYY-MM-DD HH24:MI:SS), end_date = NULL, repeat_interval = FREQ=DAILY; BYHOUR=05; BYMINUTE=10; BYSECOND=0, comments = );end;/说明:红色部分说明的是作业的运行时间点,可以更改。begin dbms_scheduler.create_program (program_name = PROC_ANALYZE_STATS, program_type = PLSQL_BLOCK, program_action = BEGIN pro_analyze_stats; END;, number_of_arguments = 0, enabled = TRUE, comments = 2017-03-13 13:56);end;/begin dbms_scheduler.create_job (job_name = JOB_ANALYZE_STATS, program_name = PROC_ANALYZE_STATS, schedule_name = SCHEDULE_DAILY_AT_0510, enabled = TRUE, comments = zhang.huafu, analyze tables stats);end;/-3.3.2 创建一作业,删除过期的临时表- 创建删除临时表的过程。create or replace procedure _purge_tmptable as begin for i in (select table_name, last_analyzed from dba_tables a where owner=LNZHONGYI and table_name like TMP% and length(table_name) = 30 and exists (select 1 from dba_objects where owner=LNZHONGYI and object_type=TABLE and object_name like TMP% and object_name=a.table_name and created desc lnzhongyi.t_bas_temporarytablename Name Null? Type - - - FTABLENAME NOT NULL VARCHAR2(30) FCREATEDATE DATE FUSERTOKEN VARCHAR2(36) FPROCESSTYPE NUMBER(10) FUSERTRANSACTIONID VARCHAR2(200)- 创建作业运行用的时间表,每小时运行一次。begin dbms_scheduler.create_schedule (schedule_name = SCHEDULE_HOURLY_INTERVAL_1, start_date = TO_DATE(2017-04-18 15:00:00,YYYY-MM-DD HH24:MI:SS), end_date = NULL, repeat_interval = FREQ=HOURLY; INTERVAL=1; BYMINUTE=17; BYSECOND=30, comments = );end;/- 创建作业运行的PROGRAM。begin dbms_scheduler.create_program (program_name = PROC_PURGE_TMPTABLE, program_type = PLSQL_BLOCK, program_action = BEGIN pro_purge_tmptable; END;, number_of_arguments = 0, enabled = TRUE, comments = 2016-08-04 06:30:00);end;/- 创建定期作业, begin dbms_scheduler.create_job (job_name = JOB_PURGE_TMPTABLE, program_name = PROC_PURGE_TMPTABLE, schedule_name = SCHEDULE_HOURLY_INTERVAL_1, enabled = TRUE, comments = );end;/4 制定合适的备份策略, 4.1 通常情况下,我们都是以物理备份为主,逻辑备份为辅,也就是,主要使用 rman 备份,同时辅以 expdp 导出备份。 4.2 对于 rman 的备份策略,基本有两者 4.2.1 保留几份全库备份(包括全库备份以后的所有日志,以保障可用该备份恢复自该备份以来的任意时间点),但此策略只要求有备份, 不保障能往回追溯N天以来,故,不常用。 4.2.2 保留恢复最近N天以来的备份。使用此策略,可以保障备份集,可以恢复从现在开始,往回追溯 N 天以来的任意时间点。 这是最常用的备份保留策略,基本上,我们都使用此策略

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论