温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Oracle配置管理

发布时间:2020-07-14 08:18:09 来源:网络 阅读:175 作者:mb5d03569e7eb16 栏目:系统运维

博文结构
配置和连接数据库
控住文件的管理
日志文件的管理
归档日志的管理
数据字典

一.配置数据库

在实际生产环境中, Oracle 一般都是通过远程方式进行管理及维护, Oracle 远程操作除了对客户端工具的使用外,它的通信原理也是需要掌握的。

无论是使用SQL*Plus工具还是使用第三方工具连接远程数据库,都必须建立客户端与服务器端
之间的连接。Oracle 提供了Oracle Net Services 组件,用于方便地配置和管理网络连接。这些组件不
需要单独安装,在安装Oracle服务器或客户端软件时会自动安装。

开启监听
[oracle@Oracle ~] $ lsnrctl start

1.Oracle Net协议
如图所示,Oracle 通过Oracle Net协议实现客户端与服务器端的连接及数据传递。Oracle Net
是同时驻留在Oracle服务器端和客户端上的一一个软件层,它封装了TCP/IP 协议,负责建立和维护客
户端应用程序到数据库服务器的连接。

Oracle配置管理

2.客户端与服务器端的连接过程

在分析客户端与服务器端的连接机制之前,先要了解两个概念:一个是Oracle Net监听器,另一个是Oracle网络服务名。

案例:客户机远程连接oracle

[root@oracle ~]# systemctl stop firewalld
[root@oracle ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
[root@oracle ~]# systemctl restart network
[root@oracle ~]# xhost +
access control disabled, clients can connect from any host
[root@oracle ~]# su - oracle
[oracle@oracle root]$ export DISPLAY=:0.0
[oracle@oracle ~]$ lsnrctl start
[oracle@oracle ~]$ sqlplus / as sysdba
SQL> select instance_name from v$instance;
[oracle@oracle admin]$ pwd
/u01/app/oracle/product/12.2.0/dbhome_1/network/admin
[oracle@oracle admin]$ vim tnsnames.ora   \\gaiyi改一下地址

客户端配置如下:

下载oracle客户端软件

Oracle配置管理

默认一直下一步

点开编辑文件

Oracle配置管理

配置如下

ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
    (SID=orcl)
    )
  )

保存

打开连接

Oracle配置管理

Oracle配置管理

二.管理控制文件

控制文件在Oracle 数据库中有非常重要的作用,若控制文件损坏、丢失,将导致数据库无法启动,所以合理地管理维护控制文件,对于DBA来说至关重要。

  • 控制文件在数据库启动中的作用

对于DBA来讲,Oracle数据库控制文件是非常重要的文件。它是在数据库创建时自动生成的二进制文件,其中记录了数据库的状态信息,主要包括以下内容:

数据库的名称, 一-个控制文件只能属于一个数据库。
数据库的创建 时间。
数据文件的名称、位置、联机、脱机状态信息。
重做日志文件的名称、 位置及归档信息。
所有表空间信息。
当前日 志序列号。
最近检查点信息。

控制文件在数据库启动的MOUNT阶段被读取。数据库启动与控制文件的关系如所示。

Oracle配置管理

案例:备份恢复数据库

  • 获得控制文件信息
SQL> select name from v$controlfile;

NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/orcl/control01.ctl
/u01/app/oracle/oradata/orcl/control02.ctl

SQL> 
  • 获取控制文件中包含的内容

SQL> select type,record_size,records_total,records_used from v$controlfile_record_section;

  • 创建多路复用控制文件
[oracle@rhel1 ~]$ su - root
[root@oracle ~]# mkdir -p /backup1/control
[root@oracle ~]# mkdir -p /backup2/control
[root@oracle ~]# chown -R oracle /backup1
[root@oracle ~]# chown -R oracle /backup2
  • 在数据库仍然打开时,修改spfile中的contro_files参数
SQL> alter system set
  2  control_files=
  3   '/u01/app/oracle/oradata/orcl/control01.ctl',
  4  '/backup1/control/control02.ctl',
  5  '/backup2/control/control03.ctl' scope=spfile;

系统已更改。

关闭数据库

SQL> shutdown immediate;

使用操作系统命令将文件复制到新的位置

SQL> quit;
[oracle@rhel1 ~]$cp /u01/app/oracle/oradata/orcl/control01.ctl   /backup1/control/control02.ctl
[oracle@rhel1 ~]$ cp /u01/app/oracle/oradata/orcl/control01.ctl   /backup2/control/control03.ctl

重新启动数据库

[oracle@rhel1 ~]$ sqlplus sys/123456 as sysdba
SQL>startup

4.备份与恢复控制文件
直接用现有的完好的控制文件覆盖损坏或丢失的控制文件
模拟故障,停止数据库,删除控制文件

sql>shutdown  immediate
sql>quit
$rm  -f  /badkup1/control/control02.ctl

启动数据库

sql>startup 观察现象

恢复控制文件

sql>shutdown abort;
sql>quit
$ cp /u01/app/oracle/oradata/orcl/control01.ctl  /backup1/control/control02.ctl

再次启动数据库

sql>startup

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI