手记

Oracle配置管理

一、oracle网络配置


  • Oracle安装完成后,服务器和客户端都需要进行网络配置才能连接,服务端配置监听客户端配置网络服务名

  • 服务端通过配置文件“listener.ora”设置端口、地址、监听协议、全集数据库名称;客户端通过配置文件“tnsnames.ora”设置和服务端相同的参数,并使用sqlplus等客户端工具(sqlplus或者开发语言中oracle连接出驱动器)进行连接。

        

1.监听器配置(服务器端)

(1)lsnrctl命令行格式:

        lsnrctl { start | stop |status | reload | set | show | help | version | change_password}

(2)监听器修改(注:需将主机IP和域名提前添加到/etc/hosts文件)

    su - oracle        //切换用户为oracle

    vim /opt/oracle/product/11.2/db_1/network/admin/listener.ora    //编辑监听端配置文件



LISTENER =                                  //监听器名称



  (DESCRIPTION_LIST =



    (DESCRIPTION =



      (ADDRESS = (PROTOCOL= TCP)(HOST = oracle.hiahia.org)(PORT = 1522))



     )



   )



解析



PROTOCOL                           //通信协议



HOST                                    //服务器主机名或IP



PORT                                    //监听端口号


    

(3)将实例的服务描述添加到listener.ora中



SID_LIST_LISTENER =    //格式:SID_LIST_监听名



(SID_LIST =



   (SID_DESC =



     (SID_NAME = orcl)    //实例名



     (ORACLE_HOME = /opt/oracle/product/11.2/db_1)    //标识服务的Oracle 主目录位置



     (GLOBAL_DBNAME = abc)    //全局数据库名称。在这里仅表示对外的网络连接名称,可以任意设置



 )



)


     

     su - oracle    //切换到oracle用户

     lsnrctl start listener    //开启监听

     

2.网络服务器名配置(客户端)

    vim /opt/oracle/product/11.2/db_1/network/admin/tnsnames.ora

    

    验证

    sqlplus sys@orcl as sysdba    //@后加实例名表示连接到指定的实例

    

二、管理控制文件

1.作用



  • 数据库创建的时候自动生成的二进制文件,其中记录了数据库的状态信息

  • 其它任何用户都无法修改控制文件,只有数据库运行过程中,数据库实例可以修改控制文件中的信息


2.控制文件记录内容

        




  • 数据库创建的时间及名称、一个控制文件只能属于一个数据库

  • 数据文件的名称、位置、联机、脱机等状态信息

  • 重做日志文件的名称、位置及归档信息

  • 所有表空间的信息;当前日志序列号;最近检查点

3.获得控制文件的信息

方法一

    sqlplus sys as sysdba

    SQL> SELECT name FROM V$CONTROLFILE;

    SQL> quit;

    

方式二

    sqlplus sys as sysdba

    SQL> SELECT name,value FROM V$PARAMETER WHEREname='control_files';

    SQL> quit;

    

4.控制文件多路复用(控制文件存储多份)

    


(1)文件存储目录新建

    mkdir /backup

    chownoracle:oinstall /backup

    
(2)登陆数据库,修改control_files参数

    sqlplus sys as sysdba

        SQL >  alter system set control_files = '/opt/oracle/oradata/orcl/control01.ctl','/opt/oracle/flash_reco

very_area/orcl/control02.ctl','/backup/control03.ctl' SCOPE=SPFILE;

        SQL> shutdown immediate; //关闭数据库

        SQL> quit;

    

    cp /opt/oracle/oradata/orcl/control01.ctl /backup/control03.ctl

        

    sqlplus sys as sysdba

        SQL > startup;

        SQL> select name from v$controlfile; //验证是否增加新的控制文件

    

5.控制文件备份

(1)什么时候备份控制文件?
  • 在数据文件或日志文件位置信息发生变化时(如新增数据文件到表空间等),对控制文件进行备份   

(2)如何备份?

    SQL> ALTER DATABASEBACKUP CONTROLFILE TO '/backup/control.bkp';    //备份为二进制文件

    

(3)如何恢复?

    


6.使用Oracle 数据库的搭建流程

  • 服务端:

    

  • 客户端:

    

三、管理重做日志文件

1.作用

  • 重做日志也称为联机重做日志

  • 记录对数据库进行的更改

  • 应多路复用以避免文件丢失

    

日志写进程的写入时间为:

  • 事务提交时

  • 日志缓冲区三分之一已满时

  • 每隔3秒

  • 在DBWn写入之前

:oracle规定:1db重做日志组>=2,组内至少一个以上的成员(文件)

2.读取重做日志文件信息

    SQL> SELECT group#,sequence#,bytes,members,archived,statusfrom V$LOG;

    

    SQL> SELECT group#, status,type,member FROM V$LOGFILE;

    

3.重做日志文件多路复用(重做日志文件存储多份)


  • 为了提高磁盘效率和防止重做日志文件的损坏,Oracle引入了一种重做日志结构

(1)创建重做日志文件组

    SQL> ALTER DATABASE [database_name] ADD LOGFILE [GROUPgroup_number] Filename [SIZE size_integer [K\M]] [REUSE]

 SQL> ALTER DATABASE ADD LOGFILE ('/opt/oracle/oradata/orcl/redo04a.log','/backup/redo04b.log')size 10M;        //Oracle会为这个重做日志组自动生成一个组号,即在原有日志组号的基础上加1

    

(2)删除重做日志文件组

    SQL> ALTER DATABASE DROP LOGFILE GROUP group_number;

    SQL> ALTER DATABASE DROP LOGFILE GROUP 4;

    

    注


  • 当前日志组不可删除

  • 要删除当前日志组需要先对当前日志组进行切换

  • 使用命令为alter system switch logfile;

  • 活动的日志组不可删除

  • 没有归档的日志组不可删除(前提是已运行在归档模式下)

(3)添加重做日志文件

    SQL> alter database add logfile member '/backup/redo01b.log'to group 1;    //日志文件组1添加新成员

    

(4)删除重做日志文件

    SQL> alter database drop logfile member  '/backup/redo01b.log';    //日志文件组1中删除/bakup/redo01b.log成员

    

    


  • 不能删除当前组的成员

  • 如要删除则先执行强制性切换重做日志的命令:ALTER SYSTEM SWITCH LOGFILE;

  • 活动的日志成员不可删除

  • 没有归档的日志成员不可删除(前提是已运行在归档模式下)

  • 当日志组中只有一个成员

4.检查点事件

(1)启动时间


  • 每隔三秒(或更加频繁)

  • 发生日志切换

  • 立即选项关闭例程时

  • 手动请求

(2)作用


  • 使用检查点信息更新数据文件标题

  • 使用检查点信息更新控制文件

  • 在完成检查点向DBWn发出信号

    a.日志切换就是停止写当前日志组,转而写另一个新的日志组,oracle支持手动切换和自动切换,当发生日志切换,触发ckpiont进程,将数据写入文件

    b.检查点是一个事件,用于减少实例恢复的时间。当检查点发生时,会触发DBWR进程,把数据从SGA中写入到数据,同时检查点进程会更新控制文件和数据文件头部,保证数据的一致。总结:将内存中的数据写到硬盘文件中

    c.检查点越频繁,实例恢复时间越短

5.日志切换


  • 当前联机重做日志组已满时,LGWR 开始向下一个组写入

  • 当最后一个可用联机重做日志文件已满时,LGWR 返回到第一个联机重做日志组并再次开始写入

四、管理归档日志文件

1.归档进程


  • 可选的后台进程

  • 为数据库设置ARCHIVELOG(归档)模式时会自动归档联机重做日志文件

  • 保留对数据库所有更改的记录

2.归档日志文件


  • 数据库在允许覆盖重做日志信息之前生成联机重做日志组的副本,这些副本又称为“归档日志”

(1)oracle数据库有两张运行方式

归档模式:日志切换后ARCH进程会对已经写满的重做日志文件进行归档,保存数据库做数据库做的所有更改,好处是即使数据文件损坏,也可恢复;缺点,启用后降低系统性能

非归档模式:日志在切换后直接覆盖以前日志,不产生归档日志

oracle默认使用非归档模式,在性能要求不苛刻的情况建议使用归档模式,确保数据的安全,且修改归档日志文件的位置和限制归档文件的大小

3.配置数据库归档日志步骤

查询数据库归档方式,确定当前不处于归档方式

关闭数据库并启动数据库到MOUNT状态

将数据库设置位归档模式,并验证

    SQL>archive log list;

    

    SQL>shutdown immediate;

    

    SQL>startup mount;

    

    SQL>alter database archivelog;

    SQL>alter database open;

    SQL>archive log list;

    

五、数据字典

1.数据字典的含义


  • 数据字典是oracle存储关键信息的表和视图的集合

  • 所有者sys用户,存放在SYSTEM表空间中

  • 数据字典描述了实际数据是如何组织的,如一个表的创建者、创建时间、用户访问权限等

  • 数据字典通常在oracle的安装和创建数据时创建,是oracle数据系统工作的基础,能查看,不能修改

2.数据字典的结构


  • 数据字典分为:数据字典表和数据字典视图。数据字典不可以直接访问,视图可以访问

  • 数据字典视图:静态性能视图和动态性能视图

  • 静态视图分为三类:user_*(用户),ALL_*(所有),DBA_*(DBA所有)

  • 动态视图:主要是v$视图,动态更新,反映当前实例和数据库运行状态。一般用于监控和维护数据

注:V$是动态性能视图,存在于controlfile中,数据库在mount状态下可以查询;dba是静态视图,存在于数据库中,只能在open时查询

原文出处

0人推荐
随时随地看视频
慕课网APP