日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

面向dba的linux shell 脚本简介,面向dba的linuxshell脚本简介.doc

發布時間:2024/10/8 linux 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 面向dba的linux shell 脚本简介,面向dba的linuxshell脚本简介.doc 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

面向dba的linuxshell腳本簡介.doc

面向DBA的LinuxShell腳本簡介7年前,Oracle發布了Linux上的第一個商業數據庫。從那時起,Oracle、RedHat和Novell/SUSE就不斷地合作更改Linux內核,從而提高數據庫和應用程序的性能。正因為這樣,用于Linux的Oracle數據庫10g才包含了與操作系統緊密相關的許多增強功能。DBA比以往任何時候更需要了解和使用此平臺來在其監視下對系統進行最佳管理。以往,系統管理員與DBA之間在職責方面存在差別。但實際上,這種差別通常并不明顯。許多IT部門雇傭一些可解決數據庫級以及操作系統級問題的員工。當然,Oracle數據庫本身使用操作系統資源,并能與其環境緊密交互。此外,許多系統管理員和DBA發現將其工作相關的任務自動化很有必要或比較方便。軟件安裝、系統資源監視以及系統管理涉及一些重復和容易出錯的任務,而自動過程可以比手動過程更好地完成這些任務。將這些任務自動化的方法之一是shell腳本。Shell腳本自Linux系統安裝之初就起著重要作用。啟動和關閉系統時就會調用各種腳本。Oracle和其他第三方供應商的實用程序也是通過shell腳本可調用的。由于這些腳本可以快速開發,因此歷來就用它們構建應用程序原型。系統管理員已利用通過shell腳本實現的功能提供針對其監視的系統的特定要求和特征定制的解決方案了。在本文中,我將介紹“bash”shell腳本可以實現的、與在Linux平臺上安裝、運行和維護Oracle數據庫相關的功能。注意,本文適用于Linux腳本初學者或對Linux相對陌生的DBA;對大多數經驗豐富的Linux系統管理員則不適用。Shell腳本是什么?shell腳本是一個包含命令序列的文本文件。當運行文件(或腳本)時,將執行該文件中包含的命令。術語shell僅指與Linux內核通信所使用的特定命令行用戶界面。目前有多個不同的shell,其中包括Cshell(csh)、Kornshell(ksh)、Bourneshell(sh)和Bourne-Againshell(bash)。shell本身就是一個從文件或終端讀取命令、解釋這些命令并通常執行其他命令的命令。Bourne-Againshell合并了上述其他shell的特性,本文就使用該腳本進行演示。腳本文件中的第一行可用于指定使用哪個shell來運行該腳本。以下是所有腳本示例中包含的第一行的含義:#!/bin/bash為什么使用Shell腳本?由于shell腳本與DBA的工作相關,因此您可能不會馬上看到shell腳本的價值,這跟您的工作經歷有關。如果您以前從未使用過UNIX或類似UNIX的系統,那么可能會對大量含義晦澀的命令感到一愁莫展。此外,除了作為關系數據庫外,Oracle10g還提供了一個用于處理數據庫數據的強健平臺以及幾個用于在數據庫外部與操作系統交互的方法。但您會發現幾個探究shell腳本領域的原因,其中包括:?必須支持已經存在的腳本。?需要在安裝Oracle軟件前自動設置系統。例如,您可以編寫一個腳本來檢查OS的初始狀態并報告安裝軟件前必須滿足的任何前提條件。該腳本還可以創建相關的OS用戶和組并為用戶設置環境變量。?可以使用正在運行的Oracle數據庫來執行手動或計劃的任務。但在數據庫未運行時需要運行某些任務。可以使用腳本停止或啟動數據庫(以及偵聽器或相關的數據庫進程)。無法從數據庫內部啟動此類動作。?您需要一種監視數據庫狀態(例如,是否正在運行并可進行進程查詢)的機制。這樣的腳本還可以監視非特定于Oracle的其他進程和資源,從而提供系統當前運行情況的更詳細信息。?需要將備份自動化。OracleRecoveryManager(RMAN)是一個用于開發可以在任何平臺上運行的備份腳本的實用程序。可以從shell腳本中調用OracleRecoveryManager并使用它執行各種備份和恢復活動。?您可能有一個并非特定于某個數據庫的要求。您可能在一臺計算機上安裝了多個數據庫。建議您不要使用單個數據庫滿足此要求,因為那樣會引發潛在的安全性問題。在這些情況下,shell腳本提供了一種既可以滿足此要求又不會將進程與單個數據庫關聯的方法。什么情況下不使用Shell腳本Oracle數據庫包含了超出RDBMS傳統定義的功能。與軟件的任何其他部分一樣,它使用操作系統提供的資源,但它所“看到”并“更改”其環境的程度遠遠超過了其他軟件。SQL和Oracle的固定視圖從數據庫內部提供了系統視圖,而shell腳本從數據庫外部提供了系統視圖。Shell腳本并不是適用于所有問題的解決方案。必須意識到,操作系統的許多方面可以從數據庫內部進行監視和修改。可以使用Oracle的固定視圖(帶v$前綴的視圖)確定計算機的主機名(v$instance)或數據庫正在其中運行的平臺的名稱(v$database)。還可以通過這種方式確定與數據庫相關的文件的位置和其他屬性。可以直接從數據庫中查詢數據文件(v$datafile、dba_data_files)、臨時文件(v$tempfile、dba_temp_files)、重做日志(v$logfile)、存檔日志(v$archived_log)和控制文件(v$controlfile)的位置和其他屬性。可以通過該視圖以及通過查看某些init.ora參數(db_recovery_file_dest、db_recovery_file_dest_size)確定有關閃回恢復區($recovery_file_dest)的信息。還可以查詢進程(v$process)和內存(v$sga、v$sgastat等)的狀態。有各種內置的PL/SQL程序包,并能夠創建允許對底層OS進行其他訪問的Java和C數據庫對象。如果您正在考慮為一個需要大量數據庫訪問的任務編寫腳本,則腳本可能并不是最佳選擇。本文的稍后部分將介紹如何使用SQL*Plus訪問數據庫,但在很多情況下,使用其他語言可以更好地解決此問題。下表歸納了可以從數據庫中訪問的信息:服務器/操作系統信息服務器標識典型查詢附注實例運行在的主機的名稱selecthost_namefromv$instance;也可以通過從bash運行以下命令來獲得該信息:hostname或uname–n操作系統平臺selectplat_namefromv$database–-(10g)如果運行uname–s,則將返回類似信息文件信息Oracle文件位置典型查詢附注控制文件selectnamefromv$controlfile;數據庫控制文件的位置。init.ora的參數control_files也包含該信息。數據文件selectfile_namefromDba_data_files;數據庫數據文件的位置臨時文件selectfile_namefromDba_temp_files;數據庫臨時文件的位置日志文件selectmemberfromv$logfile;重做日志的位置歸檔日志selectnamefromv$archived_log歸檔重做日志的位置。init.ora的參數log_archive_dest_n也包含該信息。如果數據庫不在Archivelog模式下

總結

以上是生活随笔為你收集整理的面向dba的linux shell 脚本简介,面向dba的linuxshell脚本简介.doc的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。