您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > Oracle数据库基础
内部培训讲座1/31Oracle数据库基础数据库是我们安装完产品后建立的,可以在同一台主机上存在8i,9i,10g,11g等多个数据库产品,一套产品可以建立多个数据库,每个数据库是独立的。每个数据库都有自己的全套相关文件,有各自的控制文件、数据文件、重做日志文件、参数文件、归档文件、口令文件等等。其中控制文件、数据文件、重做日志文件、跟踪文件及警告日志(tracefiles,alertfiles)属于数据库文件;参数文件(parameterfile)口令文件(passwordfile)是非数据库文件我们的表存储在数据库中数据库不能直接读取我们通过实例(instance)来访问数据库数据库实例实例由内存和后台进程组成实例是访问数据库的方法初始化参数控制实例的行为一个实例只能连接一个数据库启动实例不需要数据库产品安装好有初始化参数文件就可以启动实例与是否存在数据库无关实例内存分为SGA和PGASGA:是用于存储数据库信息的内存区,该信息为数据库进程所共享。它包含Oracle服务器的数据和控制信息,它是在Oracle服务器所驻留的计算机的实际内存中得以分配,如果实际内存不够再往虚拟内存中写。PGA:包含单个服务器进程或单个后台进程的数据和控制信息,与几个进程共享的SGA正相反,PGA是只被一个进程使用的区域,PGA在创建进程时分配,在终止进程时回收.后台进程是实例和数据库的联系纽带分为核心进程和非核心进程当前后台进程的查看SQLselectname,descriptionfromv$bgprocesswherepaddr'00';NAMEDESCRIPTION---------------------------------------------------------------------PMONprocesscleanupDIAGdiagnosibilityprocessPSP0processspawner0LMONglobalenqueueservicemonitor内部培训讲座2/31LMD0globalenqueueservicedaemon0LMS0globalcacheserviceprocess0LMS1globalcacheserviceprocess1MMANMemoryManagerDBW0dbwriterprocess0ARC0ArchivalProcess0ARC1ArchivalProcess1NAMEDESCRIPTION---------------------------------------------------------------------LGWRRedoetc.LCK0LockProcess0CKPTcheckpointSMONSystemMonitorProcessRECOdistributedrecoveryCJQ0JobQueueCoordinatorQMNCAQCoordinatorMMONManageabilityMonitorProcessMMNLManageabilityMonitorProcess220rowsselected.也可以在操作系统下查看[oracle@db-rac1db01]$ps-ef|grepora_oracle85881007:53?00:00:00ora_j001_gfdb1oracle108161004:58?00:00:08ora_j000_gfdb1oracle1699810Apr18?00:00:00ora_pmon_gfdb1oracle1701710Apr18?00:00:00ora_diag_gfdb1oracle1703010Apr18?00:00:00ora_psp0_gfdb1oracle1704210Apr18?00:00:00ora_lmon_gfdb1oracle1705710Apr18?00:00:00ora_lmd0_gfdb1oracle1706710Apr18?00:00:00ora_lms0_gfdb1oracle1707710Apr18?00:00:00ora_lms1_gfdb1oracle1708110Apr18?00:00:00ora_mman_gfdb1oracle1708310Apr18?00:00:00ora_dbw0_gfdb1oracle1708510Apr18?00:00:00ora_lgwr_gfdb1oracle1708710Apr18?00:00:00ora_ckpt_gfdb1oracle1708910Apr18?00:00:03ora_smon_gfdb1oracle1709110Apr18?00:00:00ora_reco_gfdb1oracle1709310Apr18?00:00:06ora_cjq0_gfdb1oracle1709510Apr18?00:00:02ora_mmon_gfdb1oracle1709710Apr18?00:00:00ora_mmnl_gfdb1oracle1709910Apr18?00:00:00ora_d000_gfdb1oracle1710110Apr18?00:00:00ora_s000_gfdb1oracle1714210Apr18?00:00:01ora_lck0_gfdb1oracle175177593007:55pts/200:00:00grepora_oracle2618210Apr18?00:00:00ora_arc0_gfdb1oracle2618410Apr18?00:00:00ora_arc1_gfdb1oracle2652310Apr18?00:00:00ora_qmnc_gfdb1oracle2715610Apr18?00:00:00ora_q000_gfdb1oracle2717210Apr18?00:00:00ora_q001_gfdb1oracle293081005:53?00:00:00ora_q002_gfdb1内部培训讲座3/31oracle308781007:42?00:00:00ora_q004_gfdb1oracle318821007:26?00:00:00ora_q003_gfdb1核心进程,必须存在,有一个终止,所有数据库进程全部终止非核心进程完成数据库的额外功能归档调度作业Databasewriter(DBWn)数据库写进程将数据库的变化写入到文件最多20个DBW0-DBW9DBWa-DBWj应该和cpu的个数对应由参数DB_WRITER_PROCESSES描述因为dbwr是哪里来的数据写回到哪里,所以可以多个进程一起工作。Logwriter(LGWR)日志写进程将日志缓冲写入到磁盘的日志文件只有一个,因为日志写是顺序写,所以一个就可以了,因为是顺序写所以也不能为多个。Checkpoint(CKPT)检查点进程存盘点触发dbwn,写脏数据块更新数据文件头,更新控制文件Systemmonitor(SMON)系统监测进程实例崩溃时进行自动恢复清除作废的排序临时段Processmonitor(PMON)进程监测进程清除死进程重新启动部分进程监听的自动注册我们连接到数据库其实是连接到实例这个过程叫建立一个会话实验1:数据库的最高帐号sys的操作系统认证模式该实验的目的是进入数据库的最高帐号sys.掌握操作系统认证的两个条件.操作系统认证,因为数据库是在OS上的软件能进入ORACLE帐号,就可以进入到数据库的最高帐号。Conn/assysdbaShowuser无论数据库处于何种状态,sys用户总可以进入到数据库因为sys是外部操作系统认证的内部培训讲座4/31操作系统认证的两条件。一、操作系统的用户要属于dba组;二、和数据库间的连接是安全的。实验2:数据库的最高帐号sys的密码文件认证模式该实验的目的是使用密码文件的认证方式进入到最高sys帐号,如何建立和维护密码文件.在远程,或者操作系统认证不可以使用的情况下,请使用密码文件来认证sys用户在unix下密码文件路径/oracle_home/dbs密码文件名称orapw+sidsid为实例名称,查看实例名称selectinstance_namefromv$instance;select'orapw'||instance_namefromv$instance;密码文件必须存在,即使你以操作系统认证,因为参数remote_login_passwordfile默认的值是要使用密码文件的,除非你将remote_login_passwordfile的值改为none,这样就禁止了密码文件的使用,你想进入到sys用户必须使用操作系统认证模式。密码文件丢失必须重新建立Orapwd为oracle的命令,用于建立密码文件,命令的格式如下Orapwdfile=…..Password=….密码文件中含有sys用户的密码建立密码文件的步骤1.确定实例的名称2.确定密码文件的路径和名称3.停止数据库,删除老的密码文件4.在操作系统下运行orapwdfile=/dbocfs/gfdb/orapwgfdb1password=manager1其中gfdb1为实例的名称,manager1为密码,是sys用户的密码5.连接的sysConnsys/maanger1assysdba显示为连接的空闲实例,因为数据库还没有启动。但这并没有证明你使用了密码文件.SQLconnsys/addasassysdbaConnected.SQLconnasfdsf/adafassysdbaConnected.SQLconn/assysdbaConnected.SQLconnsys/manager1assysoperConnected.SQLconnsys/adsssdassysoperERROR:ORA-01031:权限不足原因很简单,因为操作系统认证的优先级高于密码文件.所以你只要写assysdba内部培训讲座5/31就可以进入,但sysoper不能使用操作系统来认证,它只能使用密码文件认证,上面的实验证明manager1是正确的密码.6.启动数据库startup建立密码文件要重新启动数据库,因为内存中保留有原来的密码.初始化参数remote_login_passwordfile=none则数据库设置为禁止使用密码文件,只能使用操作系统认证登录到最高的老大用户.即使你以密码认证连接到数据库,也不能启动和停止数据库,报权限不足.实验3:数据库的两种初始化参数文件该实验的目的是认识参数文件,两类参数文件的相互转换.如何修改参数.初始化参数文件是描述实例的行为的文件,文件大小很小.初始化参数文件在unix操作系统中存在于oracle_home/dbs目录下.纯文本参数文件,修改参数的时候直接编辑文件,再保存就可以了.Initsid.ora二进制参数文件,必须存在于服务器端.使用命令来修改.spfilesid.oraserverparameterfile纯文本参数文件和二进制参数文件的差别1。修改参数的方式不同2。优先级不同3。是否动态存储修改的参数4。存在的位置不同纯文本可以存在于客户端二进制文件一定存在于server端5.rman可以备份二进制参数文件,不能备份纯文本参数文件.验证现在数据库使用的参数文件类型,我们一定要知道我们使用的是什么类型的参数文件,涉及到我们如何修改参数的手段.selectdistinctISSPECIFIEDfromv$spparameter;如果含有true就是使用二进制参数文件如果只有false就是使用的纯文本参数文件SQLselectdistinctisspecifiedfromv$spparameter;ISSPECIFIED------------TRUEFALSE因为上面的选择有true,所以这个数据库使用的是二进制参数文件.我们修改参数要使用命令而不是编辑文件,千万不要编辑二进制参数文件,你编辑以后会报ora-00600的错误.SQL
本文标题:Oracle数据库基础
链接地址:https://www.777doc.com/doc-12346 .html