1、初始化参数用于设置例程和数据库的特征初始化参数用于设置例程和数据库的特征初始化参数作用初始化参数作用(1)定义定义SGA尺寸尺寸(2)设置例程和数据库名设置例程和数据库名(3)设置用户和进程限制设置用户和进程限制(4)定义数据库的物理属性定义数据库的物理属性(5)定义控制文件、归档日志、跟踪文件和定义控制文件、归档日志、跟踪文件和ALERT文件文件的位置的位置分类分类静态初始化参数静态初始化参数动态初始化参数,修改完后立即生效动态初始化参数,修改完后立即生效11.1 初始化参数和系统性能调整初始化参数和系统性能调整文本型的初始化参数文件文本型的初始化参数文件(PFILE)initSID.ora
2、,可手工修改,下次启动生效可手工修改,下次启动生效二进制的服务器参数文件二进制的服务器参数文件(SPFILE)spfileSID.ora,不可手工修改不可手工修改SID:数据库例程名:数据库例程名初始化参数文件存储位置初始化参数文件存储位置ORACLE_HOMEdatabaseORACLE_HOMEdbs修改初始化参数修改初始化参数ALTER SYSTEM SET parameter=value SCOPE=MEMORY|SPFILE|BOTH ;1.1.初始化参数文件初始化参数文件初始化参数文件的互相转化初始化参数文件的互相转化CREATE SPFILE=spfile-name FROM P
3、FILE=pfile-name;CREATE PFILE=pfile-name FROM SPFILE=spfile-name;查看初始化参数查看初始化参数CONN sys/syspwdorcl AS SYSDBA(1)SHOW PARAMETER db_block_size(2)SELECT name,value FROM v$parameter WHERE name=db_cache_size;修改动态初始化参数修改动态初始化参数ALTER SESSION:修改当前会话的参数设置修改当前会话的参数设置ALTER SYSTEM:修改所有会话的参数设置修改所有会话的参数设置EXA_11_P28
4、1_parameters.SQL1.1.初始化参数文件初始化参数文件对系统性能影响较大的部分初始化参数对系统性能影响较大的部分初始化参数(1)缓冲区中数据库块的数量缓冲区中数据库块的数量db_block_buffers(2)共享池共享池shared_pool_size(3)重做日志缓冲区大小重做日志缓冲区大小log_buffer(4)排序区大小排序区大小sort_area_size(5)同时连接的进程数同时连接的进程数processes(6)数据库块大小数据库块大小db_block_size(7)同时打开的链接数同时打开的链接数open_links(8)用户一次可对表设定锁的最大数目用户一次可
5、对表设定锁的最大数目dml_locks(9)打开游标数打开游标数open_cursors(10)后台写进程数后台写进程数dbwr_io_slaves2.2.影响影响OracleOracle数据库系统性能的参数数据库系统性能的参数性能调整和优化角度性能调整和优化角度DBA:服务器端的数据库设计和系统配置服务器端的数据库设计和系统配置应用系统的开发人员:合理进行处理分布、优应用系统的开发人员:合理进行处理分布、优化代码和程序处理流程化代码和程序处理流程设计、开发、用户人员协调配合设计、开发、用户人员协调配合性能调整和优化是一个持续过程性能调整和优化是一个持续过程2.2.影响影响OracleOrac
6、le数据库系统性能的参数数据库系统性能的参数数据库的启动过程可分成数据库的启动过程可分成3个阶段个阶段1启动例程启动例程(1)读初始化参数文件内容读初始化参数文件内容(2)用读出的参数值替换系统的默认参数值用读出的参数值替换系统的默认参数值(3)在内存中为在内存中为SGA(系统全局区系统全局区)分配空间分配空间(4)启动后台服务进程启动后台服务进程(5)打开报警日志文件打开报警日志文件alert_SID.ora2装载数据库装载数据库(1)按从初始化参数文件中读出的控制文件的位置找到并按从初始化参数文件中读出的控制文件的位置找到并打开控制文件打开控制文件(2)从控制文件中取得数据文件和重做日志文
7、件的名字从控制文件中取得数据文件和重做日志文件的名字3打开数据库打开数据库(1)打开联机数据文件打开联机数据文件(2)打开联机重做日志文件打开联机重做日志文件11.2 启动与停止数据库启动与停止数据库1.1.启动数据库启动数据库例例11.1 指定初始化参数启动数据库。指定初始化参数启动数据库。EXA_11_01.SQL 命令语法命令语法STARTUP FORCE RESTRICT PFILE=filename OPEN RECOVER database|MOUNT|NOMOUNT 参数均可选,一般直接输入参数均可选,一般直接输入STARTUP命令即可命令即可启动数据库需要以启动数据库需要以DB
8、A身份登录数据库身份登录数据库启动数据库的不同模式启动数据库的不同模式(1)启动例程,但不装载数据库启动例程,但不装载数据库(2)启动例程并装载数据库,但保持数据库关闭状态启动例程并装载数据库,但保持数据库关闭状态(3)启动例程,装载并打开数据库启动例程,装载并打开数据库可以迫使例程启动可以迫使例程启动或者启动例程并立即开始完整的介质恢复过程或者启动例程并立即开始完整的介质恢复过程2.2.关闭数据库关闭数据库以以SYSOPER 或或SYSDBA 身份进行连接身份进行连接关闭数据库命令关闭数据库命令SHUTDOWN NORMAL|TRANSACTIONAL|IMMEDIATE|ABORT 关闭数
9、据库的关闭数据库的4种模式种模式(1)正常:正常:NORMAL 选项选项(2)立即:立即:IMMEDIATE 选项选项(3)事务:事务:TRANSACTIONAL 选项选项(4)强制:强制:ABORT 选项选项2.2.关闭数据库关闭数据库4种关闭数据库模式比较种关闭数据库模式比较3.3.改变数据库的可用性改变数据库的可用性例例11.2 改变数据库的可用性。改变数据库的可用性。EXA_11_02.SQL 为例程装载数据库为例程装载数据库ALTER DATABASE MOUNT;打开一个关闭的数据库打开一个关闭的数据库ALTER DATABASE OPEN;以只读模式打开数据库以只读模式打开数据库
10、ALTER DATABASE OPEN READ ONLY;以读写模式打开数据库以读写模式打开数据库ALTER DATABASE OPEN READ WRITE;限制对打开数据库的访问限制对打开数据库的访问ALTER SYSTEM ENABLE|DISABLE RESTRICTED SESSION ;控制文件是一个小型的二进制文件,记录数据库的控制文件是一个小型的二进制文件,记录数据库的物理结构物理结构每个每个Oracle数据库都有一组控制文件数据库都有一组控制文件控制文件的内容控制文件的内容(1)数据库名称数据库名称(控制文件只能属于一个数据库控制文件只能属于一个数据库)(2)数据库创建的时
11、标数据库创建的时标(3)数据文件和联机重做日志文件的名称和位置数据文件和联机重做日志文件的名称和位置(4)表空间的名字表空间的名字(5)当前日志的序号当前日志的序号(6)最近检查点信息最近检查点信息(7)恢复管理器信息恢复管理器信息(RMAN)11.3 控制文件管理控制文件管理1.1.控制文件维护控制文件维护在在SPFILE中指定使用多个控制文件中指定使用多个控制文件(1)修改初始化参数修改初始化参数CONTROL_FILESALTER SYSTEM SET CONTROL_FILES=file1,file2 SCOPE=SPFILE;(2)执行执行SHUTDOWN关闭数据库例程关闭数据库例程
12、(3)用当前的控制文件用当前的控制文件file1复制产生新的控制文件复制产生新的控制文件file2(4)执行执行STARTUP命令重新启动例程,启用增加的控制文件命令重新启动例程,启用增加的控制文件在在PFILE中使用多个控制文件中使用多个控制文件(1)执行执行SHUTDOWN命令关闭例程命令关闭例程(2)用当前的控制文件用当前的控制文件file1复制产生新的控制文件复制产生新的控制文件file2(3)手工直接修改手工直接修改PFILE中控制文件部分内容中控制文件部分内容CONTROL_ FILES=(file1,file2)(4)执行执行STARTUP重新启动例程启用新增控制文件重新启动例程
13、启用新增控制文件2.2.获取控制文件的相关信息获取控制文件的相关信息DBA身份用户可查询如下视图身份用户可查询如下视图V$CONTROLFILEV$CONTROLFILE_RECORD_SECTIONV$PARAMETER重做日志文件用于记录数据库的变化重做日志文件用于记录数据库的变化每个数据库例程都有联机重做日志组每个数据库例程都有联机重做日志组系统要求至少有两个重做日志组系统要求至少有两个重做日志组重做日志组循环使用重做日志组循环使用每个组内一般应包含两个重做日志文件每个组内一般应包含两个重做日志文件数据库运行模式数据库运行模式ARCHIVELOG(归档日志归档日志)模式模式NOARCHI
14、VELOG(非归档日志非归档日志)模式模式初始化参数初始化参数LOG_ARCHIVE_STARTTRUE:由系统自动完成归档操作由系统自动完成归档操作FALSE:手工完成归档手工完成归档11.4 重做日志管理重做日志管理1.1.重做日志的写入重做日志的写入LGWR以循环方式填写联机重做日志文件以循环方式填写联机重做日志文件日志切换日志切换Oracle 结束对某个联机重做日志文件组的填写,而开始填结束对某个联机重做日志文件组的填写,而开始填写另外一个联机重做日志文件组写另外一个联机重做日志文件组日志切换命令日志切换命令ALTER SYSTEM SWITCH LOGFILE;建议将每个组内的各重做
15、日志文件放到不同磁盘上建议将每个组内的各重做日志文件放到不同磁盘上2.2.日志切换与归档日志切换与归档启用或关闭归档日志模式启用或关闭归档日志模式ALTER DATABASE ARCHIVELOG|NOARCHIVELOG;切换日志,使用下一组重做日志文件切换日志,使用下一组重做日志文件ALTER SYSTEM SWITCH LOGFILE;与日志归档相关的命令与日志归档相关的命令ALTER SYSTEM ARCHIVE LOG START|STOP;ALTER SYSTEM ARCHIVE LOG ALL|CURRENT|NEXT;ALTER SYSTEM ARCHIVE LOG GROUP
16、 n|SEQUENCE n;ALTER SYSTEM ARCHIVE LOG LOGFILE logfile;归档日志文件存储位置,由初始化参数指定归档日志文件存储位置,由初始化参数指定LOG_ARCHIVE_DEST_n=LOCATION=directory-spec3.3.联机重做日志组及成员维护联机重做日志组及成员维护建立联机重做日志组及其成员建立联机重做日志组及其成员ALTER DATABASE database ADD LOGFILE GROUP n filespec,GROUP n filespec ;为重做日志组增加新成员为重做日志组增加新成员(日志文件日志文件)ALTER DA
17、TABASE database ADD LOGFILE MEMBER filename REUSE,filename.TO GROUP integer|(filename ,filename .);删除日志组成员删除日志组成员ALTER DATABASE database DROP LOGFILE MEMBER filename,filename ;删除重做日志组删除重做日志组ALTER DATABASE database DROP LOGFILE GROUP n|(filename,filename ),GROUP n|(filename,filename );3.3.联机重做日志组及成员维
18、护联机重做日志组及成员维护例例11.3 添加一个新的重做日志组。添加一个新的重做日志组。EXA_11_03.SQL 每个日志组至少要求一个日志文件每个日志组至少要求一个日志文件建议每个组只包含两个日志文件,太多文件影响性能建议每个组只包含两个日志文件,太多文件影响性能组内的各日志文件大小应一致组内的各日志文件大小应一致当前日志组的日志文件不能被删除当前日志组的日志文件不能被删除日志文件从组内删除后,需要手工删除磁盘上文件日志文件从组内删除后,需要手工删除磁盘上文件当少于两个组时,组删除不能成功当少于两个组时,组删除不能成功当前活动的日志组不能被删除当前活动的日志组不能被删除例例11.4 向组号为向组号为4 4 的重做日志组添加新的重做日志成员。然的重做日志组添加新的重做日志成员。然后删除增加的日志成员和日志组。后删除增加的日志成员和日志组。EXA_11_04.SQL 4.4.获取联机重做日志的相关信息获取联机重做日志的相关信息动态视图动态视图V$LOGV$LOGFILEV$LOG_HISTORY