关于参数文件,一直困扰着我。比如性能调整方面,sga_target的大小;改变参数,语法设置问题,alter system还是alter session?查看数据库内部状况,如控制文件,到底是用show parameter control还是用select * from v$controlfile?等等吧。当然上面的话说的很绕口,分号前单独看,问号前单独看,问号前单独看。。。。希望解释的够明白。
这个参考手册平时不怎么看,需要的时候就查下,上周周中开始看了下目录,这书的确跟字典一样,看一眼就想把它撇一边,如果我以后能写出这样的书,估计就能到Oracle专门写文档了。真的不耐看,绝对没兴趣!书中有这么一段话:
这段话在P83,意思就是说关注以下比较重要的且基本的参数,至于其他参数,仅仅在特定环境下需要注意。
以下即是基础参数:
CLUSTER_DATABASE
COMPATIBLE
CONTROL_FILES
DB_BLOCK_SIZEs
DB_CREATE_FILE_DEST
DB_CREATE_ONLINE_LOG_DEST_n
DB_DOMAIN
DB_NAME
DB_RECOVERY_FILE_DEST
DB_RECOVERY_FILE_DEST_SIZE
DB_UNIQUE_NAME
INSTANCE_NUMBER
JOB_QUEUE_PROCESSES
LOG_ARCHIVE_DEST_n
LOG_ARCHIVE_DEST_STATE_n
NLS_LANGUAGE
NLS_TERRITORY
OPEN_CURSORS
PGA_AGGREGATE_TARGET
PROCESSES
REMOTE_LISTENER
REMOTE_LOGIN_PASSWORDFILE
ROLLBACK_SEGMENTS
SESSIONS
SGA_TARGET
SHARED_SERVERS
STAR_TRANSFORMATION_ENABLED
UNDO_MANAGEMENT
UNDO_TABLESPACE
这个明显是以字母顺序排列的。并且你会发现,这些参数的出现,仿佛仅是让你去了解数据库而并不是改变它。我说的是仿佛,因为我发现前几个我尝试去修改,都被数据库给否定了,当然这里还是有很多可以修改的。只不过我感觉,oracle的意思是让你通过这些参数去了解数据库内部的情况。
在这之前,oracle说了下初始化参数的作用:1,对数据库本身范围限制;2,对用户和进程进行范围限制;3,对可访问数据库资源的范围限制;4,影响性能。
现在我要澄清一点,参数是分两种,初始化参数,服务参数。参数文件也被分为初始化参数文件和服务参数文件。显而易见,初始化参数文件存储初始化参数,服务参数文件存储服务参数!---------这是大错特错的。Oracle之所以难,我想有一点就在于这个畜生的概念太模糊。服务参数文件,是包含初始化参数的,服务参数文件是二进制的,初始化参数文件是文本的,可存在客户端的。那就说明,初始化参数文件仅仅包含初始化参数。我用简单的话来说,无论哪种参数文件,我们先不管。就说说参数文件,这是什么呢?这是一个列表,这个表中有很多很多参数,你,或我,或其他DBA从这里面选出部分参数作为初始化参数。当然,初始化参数可以是改变的,也可以是不变的。可以是二进制的,也可以是文本文件。对于这个列表,show parameters(记得用spool保存)。我日,东西太多了。估计我不能背下来。那作为初始化参数有多少?select count(*) from V$spparameter;有200多个,我也背不下来!由DBA自己设定的有多少个? select count(*) from V$spparameter where isspecified = 'TRUE'; 有24个,哈哈。就记它们好了。谁让你们最少呢~
P92-P95,这几页阐述了哪些可以用alter session,哪些可以用alter system。Oracle仅仅对alter session和alter system的概念说明了,难道要背下来?我想还是算了吧。建个pl/sql,把他们整合吧。如果是给其他公司做support,那就带着文档吧,背下来,确实很难很难,并且没实验做支持太难记忆了。
这仅仅是对参考手册的学习笔记,具体那些基本的参数,我另开辟一章来讲。