加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 电商 > 正文

漫谈数据库的启动和封锁

发布时间:2018-08-23 23:58:21 所属栏目:电商 来源:站长网
导读:对付DBA们来说,封锁和从头启动数据库以便优化、调解应用的运行是常常遇到的工作。假如用户已经log进如了数据库,你用SHUTDOWN IMMEDIATE 或SHUTDOWN ABORT呼吁来执行封锁数据库,那用户将不能毗连,直到数据库从头启动,用户时常会诉苦:怎么又要重起。其

对付DBA们来说,封锁和从头启动数据库以便优化、调解应用的运行是常常遇到的工作。假如用户已经log进如了数据库,你用SHUTDOWN IMMEDIATE 或SHUTDOWN ABORT呼吁来执行封锁数据库,那用户将不能毗连,直到数据库从头启动,用户时常会诉苦:怎么又要重起。着实,每次这样的启动封锁都是为了数据库能更好的运做。这篇文章将详细先容shutdown/startup操纵时应想到的步协调很多留意事项,或者这些能对你有所辅佐。 NOTE:在执行第一步前,SHUT DOWN 数据库,不要提前封锁SQL*NET,直到你确认封锁了SERVER上的数据库后再封锁SQL*NET。由于一旦你封锁了SQL*NET,用户将将失去和数据库的会话。 第一步---存档或删除老的trace files 和 logs 当你启动ORACLE的一个实例(INSTANCE)时,ORACLE把关于该实例的诊断信息写入指定的trace 和 log文件。每个靠山历程都增进一个TRACE文件,它被存储在指定的目次(该路径由INIT.ORA 或CONFIG.ORA文件中的BACKGROUND_DUMP_DEST参数指定)。用户在数据库中碰着一个内部错误时也增进 USERS' TRACE文件,该文件的位置由INIT.ORA 或 CONFIG.ORA 文件中的USER_DUMP_DEST参数指定。 TRACE文件的个数和名称情势由你的操纵体系抉择。譬喻在UNIX下,文件名是一个数字加下画线加靠山历程号,相同3_12345.trc,当你下一次启动实例时,一个新的文件将被发生,由于历程号的差异,文件名也许是3_13245.trc 。 因为每次启动和封锁数据库时,ORACLE并不自动删除TRACE文件,以是假如忽略这个步调,那这些没有效的文件将占有大量的自由空间。以是DBA应该主动的打点这些文件,或删除或存档在此外指定目次下,怎样打点首要是按照你本身的开拓情形必要而订了。 SQL*NET也发生LOG文件,一样平常叫LISTENER.LOG,为了能知道他的位置,可以键入呼吁 lsnrctl status LISTENER.LOG文件巨细也跟着启动的次数不绝的变大,以是通过妥善打点它也能有用的操作空间。 第二步---更名ALERT LOG文件 ALERT LOG文件也是用来记录INSTANCE的诊断信息的。它的存放目次也通过BACKGROUND_DUMP_DEST参数来指定。一样平常环境下ALERT LOG文件定名方法为:ALERT_.LOG。ALTER LOG文件包罗了一些数据库首要变乱信息,譬喻:startup,dhutdown, redo log 的行使,tablespace的改变,文件的改变,内部错误信息,tablespace-backup的状态的改变等。ALTER LOG文件是重要的,同时该文件的巨细增添的速率也很惊人,假如你不搜查他,一段时刻后你想看看它将是很费劲,由于它已经很大了,查起来也费劲。 为了既能留下这些有效的信息,同时不至于挥霍很大的空间,可以用更名的要领。你可以在任何时辰变动ALTER LOG文件名,乃至在DATABASE OPEN时。当ORACLE不能找到被BACKGROUND_DUMP_DESC指定的文件时,他将增进一个新的ALTER LOG文件。固然更名不要求SHUTDOW,但选择在SHUTDOWN/STARTUP数据库时更更名字是一个好的主意。 NOTE:下面的几步是在restart数据库时做的。 第三步---发生一个增进节制文件(CREATE CONGROLFILE )呼吁的文件 为了recover一个被粉碎的数据库,你不得不消CREATE CONTROLFILE 呼吁来重建control files。CREATE CONTROLFILE呼吁有两个行使: 1、在你的现有CONTROL FILES文件破化后重建它 2、在ALTER DATABASE 级此外参数时,如:MAXDATAFILES 你可以手输入呼吁,但最亏得STARTUP前发送一呼吁,以便你拥有最新版本的CREATE CONTROLFILE呼吁。从进入SQLDBA,SERVER MANAGER可能SQL*PLUS,输入: alter database backup controlfile to trace; 该呼吁在USER_DUMP_DESC参数指定的路径发生一个TRACE文件,名字也许是SIDNAME_PROCESSID.TRC,该文件将包括针对你的数据库的完备的CREATE CONTROLFILE 语法。 第四步--把PACKAGES 和 PROCEDURES驻留SGA区 众所周知,当PL/SQL OBJECTS被一个用户挪用时,它将被存储在SGA区的SQL共享池中,当别人再度挪用该OBJECT时直接从SGA区读取,能感觉到明明的速率晋升。以是,把常用的PACKAGES 和 PROCEDURES在STARTUP时就载入并驻留SGA,将进步应用的整体机能。通过重新编译、挪用等要领可以挪用OBJECT(PROCEDURES 或 CURSORS)进SGA,然后用DBMS_SHARED_POOL.KEEP来驻留SGA。如下: alter package APPOWNER.ADD_CLIENT compile; execute DBMS_SHARED_POOL.KEEP('APPOWNER.ADD_CLIENT','P'); (P代表PROCEDURES,C代表CURSORS) 一样平常每个数据库包罗两类驻留措施: 1、数据库的焦点PACKAGES 2、用户自界说的PACKAGES 焦点PACKAGES包罗SYS 全部的PACKAGES,STANDARD,DBMS_SQL, DBMS_UTILITY, DIUTIL,为了查察你的INSTANCE中那些被驻留了,查询DBA_OBJECT_SIZE,用下面的语句: select Owner, Name, Type, Source_Size+Code_Size+Parsed_Size+Error_Size Total_Bytes from DBA_OBJECT_SIZE where Type = 'PACKAGE BODY' order by 4 desc;

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读