Oracle是一個龐大的系統,對于初學者來說,難免會有些無從下手的感覺,什么都想學,結果什么都學不好,那么從哪開始學好呢?如果在大學期間學過數據庫理論,或有一定的數據庫基礎自然很好;如果沒有的話,真的是個大問題,我個人認為還是應該從日常基本運維命令及基本體系結構學起,下面我分享一下我常用的運維命令及總結的體系結構。
一、Oracle日常基本運維命令
- Oracle 打開數據庫
# su – oracle
$ sqlplus
Enter user-name: con /as sysdba
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SYS@orcl>startup [nomount|mount|startup]
備注:打開數據庫 startup 可帶三個參數,分別是
SYS@orcl> startup nomount 僅啟動 instances
SYS@orcl> startup mount 啟動 instances,連上(mount)數據庫
SYS@orcl> startup normal 啟動 instances,連上(mount)數據庫(推薦)
打開(open)數據庫
startup 缺省參數是 normal
2.啟動Oracle Listener
#su – oracle
$lsnrctl start
- 關閉 Oracle Listener
#su – oracle
$lsnrctl stop
- Oracle 關閉數據庫
SYS@orcl> shutdown immediate
- 查找Oracle 軟件位置
$ cd $ORACLE_HOME
$ pwd
/u01/app/oracle/product/10.2.0/db_1
- 查找Oracle 數據庫的位置
$ cd $ORACLE_BASE
$ pwd
/u01/app/oracle
備注:Oracle數據庫軟件的文件和Oracle數據庫的文件可以分開存儲到兩個地方。
我們最常使用的幾乎全部的在生產環境里面的存放結構是:Oracle數據庫軟件存放在服務器本地硬盤上而Oracle數據庫存放在存儲上
- 查看是否存在Oracle實例
$ ps -ef|grep ora
oracle 8888 1 0 08:88 ? 00:00:00 ora_pmon_yxxt
- 查看內存狀態
$ ipcs
—— Shared Memory Segments ——–
key shmid owner perms bytes nattch status
- 查詢數據文件路徑
SYS@orcl>select FILE_NAME from dba_data_files;
FILE_NAME
—————————————————
/data/oracle/app/oradata/orcl/users01.dbf
/data/oracle/app/oradata/orcl/undotbs01.dbf
/data/oracle/app/oradata/orcl/sysaux01.dbf
/data/oracle/app/oradata/orcl/system01.dbf
/data/oracle/app/oradata/orcl/essc5DBSpace_01.dbf
/data/oracle/app/oradata/orcl/tkmsDBSpace_01.dbf
6 rows selected.
10.查詢重做日志文件
SYS@orcl>select * from v$logfile;
3 ONLINE
/data/oracle/app/oradata/orcl/redo03.log
NO
2 ONLINE
/data/oracle/app/oradata/orcl/redo02.log
NO
1 ONLINE
/data/oracle/app/oradata/orcl/redo01.log
NO
11.查詢控制文件
SYS@orcl>select * from v$controlfile;
/data/oracle/app/oradata/orcl/control01.ctl
NO 16384 720
/data/oracle/app/fast_recovery_area/orcl/control02.ctl
NO 16384 720
12.查看是否啟用了歸檔模式
SYS@orcl> archive log list;
13.查看歸檔路徑
SYS@orcl>show parameter log_archiverd_dest ;
SYS@orcl>select name from v$archived_log ;
二、Oracle基本體系結構
1.Oracle實例有SGA,SGA中有六個池子,還有五個后臺進程。
2.Oracle三大文件,控制文件、數據文件、重做日志文件
2.1控制文件:存放數據庫的物理結構信息,所謂的物理結構,主要是數據庫有多少數據文件,數據文件分別放在什么位置,Oracle數據庫有多少redolog文件,這些文件分別放在什么位置;存放數據庫的當前運行的一些狀態信息,比如說那個數據文件是在線正常的,哪些數據文件是離線不正常的,Oracle數據庫當前正在使用著眾多重做日志文件的哪一個,哪一些日志文件有一些問題。
2.2數據文件:里面放的是Oracle實在的數據文件數據,Oracle數據主要放的是表,表信息就放在數據文件里面,控制文件會很小,但是數據文件會很大,因為Oracle所有的數據全部放在數據文件里面。
2.3重做日志文件:日志文件里放的是日志,日志記錄的是Oracle對數據庫、對數據文件所做的所有的修改,全部會以日志的方式記錄在日志文件中。它記錄的是數據文件的變化過程。
3.Oracle有六大內存塊,共享池、streams池、大型池、java池、數據庫緩沖區高速緩存、重做日志緩沖區。
4.Oracle有五大后臺進程,檢查點(CKPT)、系統監視器(SMON)、進程監視器(PMON)、數據庫寫進程(DBWn)、日志寫進程(LGWR)。
作者:王博,某商業銀行,系統管理工程師