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时查询

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值