Oracle配置管理

博文結構
配置和連接數據庫
控住文件的管理
日誌文件的管理
歸檔日誌的管理
數據字典

一.配置數據庫

在實際生產環境中, Oracle 一般都是通過遠程方式進行管理及維護, 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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章