您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > Oracle042知识点和演示
1Oracle042知识点和演示(一)一、创建数据库时,指定字符集和连接数请注意:左下方的“所有初始化参数”,在这个地方,设置sessions,processes。注:在这里设置字符集,请牢记,数据库字符集和国家字符集是不同的两个概念,数据库字符集是针对大多数数据类型(varchar2、char、number、int等),2通常我们对于中文数据库,我们选择ZHS16GBK,如果中西文混用,我们选AL32UTF8,国家字符集是为少数如:nchar,nvarchar2等字符,通常我们只有两种选择:AL16UTF16和UTF8。通常,oracle不建议修改oracle数据库server端的字符集,最常用的两种字符集ZHS16GBK和ZHS16CGB231280之间不存在子集和超集关系,因此理论上讲这两种字符集之间的相互转换不受支持。不过修改字符集有2种方法可行。1.通常需要导出数据库数据,重建数据库,再导入数据库数据的方式来转换。2.通过ALTERDATABASECHARACTERSET语句修改字符集,但创建数据库后修改字符集是有限制的,只有新的字符集是当前字符集的超集时才能修改数据库字符集,例如UTF8是US7ASCII的超集,修改数据库字符集可使用ALTERDATABASECHARACTERSETUTF8。二、数据库文件,表空间、数据文件、段、区、块、表的概念和相互关系逻辑存储结构包括表空间、段、区、块。逻辑存储结构之间的关系是:多个块组成区,多个区组成段、多个段组成表空间、多个表空间组成逻辑数据库。(1)数据文件(bigfiletablespace只能有一个数据文件)(2)一个段主要是数据段(表段),索引段(索引段),撤销段,临时段,还包括;表分区段、索引分区段、大数据段(lob),一个段只能属于一个表空间;(3)一个区只能存在一个数据文件中,由一个或多个区组成一个段,一个段中的各个区可以分别在多个数据文件中。组成区的块是连续的;(4)块是最小的数据管理单位。即数据管理中输入输出的最小单位。相应的,操作系统执行输入输出操作的最小单位是操作系统块,块的大小是操作系统块大小的整3数倍。数据库文件:数据库的物理存储文件有:控制文件、数据文件、重做日志文件、密码文件、参数文件和归档重做日志文件等。(1)控制文件控制文件是一个很小的二进制文件。在装载数据库时,ORACLE将读取控制文件中的信息,以便判断数据库的状态,获得数据库的物理结构信息及物理文件的使用权。因此,控制文件对于数据库的成功装在,以及其后的打开都是至关重要的。只有控制文件正常才能装载、打开数据库,否则不能。在数据库运行的过程中,每当出现数据库检查点(checkpoint)或修改数据库结构之后,ORACLE就会修改控制文件的内容。DBA可以通过OEM工具修改控制文件中的部分内容,但是不应该认为的修改控制文件中的内容,否则会破坏控制文件。应该定期对数据库的控制文件进行备份,并将备份保存在不同的硬盘上;另外,处于安全考虑,可以创建多个控制文件,互为镜像进行复用。(2)数据文件数据文件是实际存储插入到数据库表中的实际的操作系统文件。数据文件的大小与它们所存储的数据量的小小直接相关,会自动增大,但删除其中的数据,数据文件的大小不会减少,只能使其有更多的空闲区。一个表空间在物理上对应于若干个数据文件,而一个数据文件只能属于一个表空间。在创建表空间时,ORACLE会同时为该表空间创建第一个数据文件。处SYSTEM表空间之外,任何表空间都可以由联机状态切换到脱机状态。当表空间进入脱机状态时,组成该表空间的数据文件也就进入脱机状态了。也可以将表空间中的某一个数据文件单独的设置为脱机状态,以便进行数据库的备份或恢复。正在使用的联机数据文件是不能备份的。(3)重做日志文件当用户对数据库进行修改时,ORACLE实际上是在内容中进行修改,过一段时间后,再几种将内存中的修改结果成批的吸入上面的数据文件中。如果在将内存中的修改结果写入到数据文件之前发生故障,导致计算机或数据库崩溃,那么,这些修改结果就会被遗失。ORACLE是用重做日志文件来随时保存这些修改结果的,即ORACLE随时将内存中的修改结果保存到重做日志文件中。“随时”表示在将数据修改结果写入数据文件之前,可能已经分好几次写入重做日志文件了。因此,即使发生故障导致数据库崩溃,ORACLE也可以利用重做日志文件中的信息来恢复丢失的数据。只要某项操作的重做信息没有丢失,就可以利用这些重做信息来重现该操作。因为ORACLE是以循环方式来使用重做日志文件的,所以每个数据库至少需要2个以4上重做日志文件。当第一个重做日志文件被写满之后,后台进程LGWR开始写入第二个重做日志文件。当第二个重做日志文件写满后,又开始写入第一个重做日志文件。当循环使用的重做日志文件比较多、比较大时,可以记录的重做日志就比较多。还可以启动自动归档功能,将即将被覆盖的重做日志文件中的内容存储到另外的归档文件总,以便不丢失任何重做日志,得以恢复任何数据。(4)其他文件其他文件包括参数文件、口令文件、归档重做日志文件和后台进程跟踪文件等。参数文件参数文件也被称为初始化参数文件,用于存储SGA、可选的ORACLE特性和后台进程的配置参数。从ORACLE9I开始,它有2中类型:文本参数文件PFILE和服务器参数文件SPFILE。这两种参数文件的作用都相同,可以使用其中之一来配置例程和数据库选项。文本参数文件可以使用文本编辑器进行编辑;服务器参数文件是二进制文件,不能直接用文本编辑器进行编辑。当数据库启动时,并在创建例程或读取控制文件之前,会先读取参数文件,并按期中的参数进行例程的配置。默认使用的是SPFILE。口令文件口令文件是个二进制文件,用于验证特权用户。特权用户是指具有SYSOPER或SYSDBA权限的特殊数据库用户。这些用户可以启动例程、关闭例程、创建数据库、执行备份恢复等操作。创建ORACLE数据库,默认的特权用户是SYS。口令文件的默认位置是$ORACLE_HOME/dbs,命令格式为orapwSID;Windows是%ORACLE_HOME%database,命令格式为PWDSID.ora。预警文件按时间顺序记录了由服务器进程、后台进程写入的消息和错误。查看预警文件就可以查看到是否有ORACLE内部错误、块损坏错误,以及非默认的初始化参数,还可以监视特权用户的操作,监视数据库的物理结构的变化。预警文件的位置由初始化参数background_dump_dest确定。命名格式为SID_alert.log。后台进程跟踪文件后台进程跟踪文件用来记录后台进程的警告或错误消息。每个后台进程都有相应的跟踪文件。后台进程跟踪文件的位置由初始化参数background_dump_dest确定。命名格式为SID_PROCESS_SPID.trc。服务器进程跟踪文件该文件用来记录服务器进行的相关信息,跟踪SQL语句,诊断SQL语句性能,做出相应的性能调整规划。当使用该类型跟踪文件来跟踪SQL语句时,必须先激活SQL5跟踪。服务器进程跟踪文件的位置由初始化参数user_dump_dest来确定。命名格式为SID_ora_SPID.trc。激活SQL跟踪的办法是在初始化参数文件中,或是在启动会话时,将参数sql_trace设置成TRUE。归档日志文件非活动的重做日志文件的备份。通过使用归档日志文件,可以保留所有历史重做记录。只有在归档模式下才会生成归档日志文件。监听程序日志文件、跟踪文件记录监听程序的启动时间、正在监听的端口、正在运行在哪台计算机上、已经建立了哪些连接等信息。其默认位置是%ORACLE_HOME%\NETWORK\log,命名格式为listenerX.log,其中listenerX为程序的名称。三、数据库五大后台进程作用和触发条件DBWR进程:该进程执行将缓冲区写入数据文件,是负责缓冲存储区管理的一个ORACLE后台进程。主要任务是将“弄脏”的缓冲区写入磁盘,使缓冲区保持“干净”。触发条件(1)发生增量检查点(incrementalcheckpoint)或完全检查点(completecheckpoint)时触发DBWR(2)每隔三秒钟启动一次DBWR。(3)将表空间设置为离线(offline)状态时触发DBWR。6(4)发出命令:altertablespace…beginbackup,从而将表空间设置为热备份状态时触发DBWR。altersystemcheckpoint;(5)将表空间设置为只读状态时,触发DBWR。(6)删除对象时(比如删除某个表)会触发DBWR。LGWR进程:该进程将日志缓冲区写入磁盘上的一个日志文件,它是负责管理日志缓冲区的一个ORACLE后台进程。LGWR进程将自上次写入磁盘以来的全部日志项输出触发条件(1)超时(timeout),3秒超时时间,logfileparallelwrite等待事件将会出现。(2)阈值达到,Min(1M,1/3logbuffersize)时触发。(3)提交,LGWR写时,以logfilesync事件开始出现,超时时间为1秒。(4)在DBWR写之前注:了解oracle快速commit机制CKPT进程:由checkpoint进程(LGWR/CKPT进程)发出,当checkpoint事件发生时DBWn会将脏块写入到磁盘中,同时数据文件和控制文件的文件头也会被更新以记录checkpoint信息触发条件(1)log_checkpoint_timeout时间达到(2)当前redo日志已经写够log_checkpoint_internavl*操作系统块大小(3)redologswitch(4)altersystemcheckpoint(5)altertablespaceXXXbeginbackup,endbackup的時候(6)altertablespace,datafileoffline,shutdownimmediate,directread的時候;SMON进程:该进程实例启动时执行实例恢复,还负责清理不再使用的临时段。在具有并行服务器选项的环境下,SMON对有故障CPU或实例进行实例恢复。SMON进程有规律地被呼醒,检查是否需要,或者其它进程发现需要时可以被调用。PMON进程:该进程在用户进程出现故障时执行进程恢复,负责清理内存储区和释放该进程所使用的资源。例:它要重置活动事务表的状态,释放封锁,将该故障的进程的ID从活动进程表中移去。PMON还周期地检查调度进程(DISPATCHER)和服务器进程的状态,如果已死,则重新启动(不包括有意删除的进程)。PMON有规律地被呼醒,检查是否需要,或者其它进程发现需要时可以被调用。四、数据库启动和关闭的各个阶段做的事情,不同的启动和关闭方式的区别(一)启动一个数据库需要三个步骤:a、创建一个Oracle实例(非安装阶段)b、由实例装载数据库(装载阶段)c、打开数据库(打开阶段)在Startup命令中,可以通过不同的选项来控制数据库的不同启动步骤。1、STARTUPNOMOUNTNONOUNT选项仅仅创建一个Oracle实例。读取init.ora初始化参数文件、7启动后台进程、初始化系统全局区(SGA)。Init.ora文件定义了实例的配置,包括内存结构的大小和启动后台进程的数量和类型等。实例名根据Oracle_SID设置,不一定要与打开的数据库名称相同。当实例打开后,系统将显示一个SGA内存结构和大小的列表,如下所示:SQLstartupnomountORACLE例程已经启动。TotalSystemGlobalArea35431692bytesFixedSize70924bytesVariableSize18505728bytesDatabaseBuffers16777216bytesRedoBuffers77824bytes2、STARTUPMOUNT该命令创建实例并且安装数据库,但没有打开数据库。Oracle系统读取控制文件中关于数据文件和重
本文标题:Oracle042知识点和演示
链接地址:https://www.777doc.com/doc-2884771 .html