下面是工作中對Oracle日常管理操作的一些總結,都是一些基本的oracle操作和SQL語句寫法,在此梳理成手冊,希望能幫助到初學者(如有梳理不準確之處,希望指出)。
一、數據庫的啓動和關閉
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
1.1 數據庫的正常啓動步驟
要想啓動或關閉ORACLE系統必須首先切換到ORACLE用戶
[[email protected] ~]
# su - oracle
以DBA的身份登錄數據庫(oracle用戶下執行)
[[email protected] ~]$ sqlplus
"/as sysdba"
執行啓動數據庫命令
SQL> startup
ORACLE instance started.
Total System Global Area 285212672 bytes
Fixed Size 1218968 bytes
Variable Size 88082024 bytes
Database Buffers 188743680 bytes
Redo Buffers 7168000 bytes
Database mounted.
Database opened.
啓動和關閉監聽(oracle用戶下執行)
[[email protected] ~]$ lsnrctl start
[[email protected] ~]$ lsnrctl stop
1.2 數據庫的正常關閉步驟
同樣以DBA的身份登錄數據庫
[[email protected] ~]$ sqlplus
"/as sysdba"
執行數據庫關閉命令
SQL>
shutdown
immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.<br>
1.3 幾種關閉數據庫方法對比
shutdown
有四個參數:normal、transactional、immediate、abort。缺省不帶任何參數時表示是normal。
shutdown
normal: 不允許新的連接、等待會話結束、等待事務結束、做一個檢查點並關閉數據文件。啓動時不需要實例恢復,這種方法往往不能關閉數據庫或等待很長時間。
shutdown
transactional: 不允許新的連接、不等待會話結束、等待事務結束、做一個檢查點並關閉數據文件。啓動時不需要實例恢復。
shutdown
immediate: 不允許新的連接、不等待會話結束、不等待事務結束、做一個檢查點並關閉數據文件。沒有結束的事務是自動rollback的。啓動時不需要實例恢復。最常用的方法。
shutdown
abort: 不允許新的連接、不等待會話結束、不等待事務結束、不做檢查點且沒有關閉數據文件。啓動時自動進行實例恢復。一般不推薦採用,只有在數據庫無法關閉時使用,可能造成數據庫的不一致。
|
----------------------------------------------------------------------------------------------------------
Oracle數據庫的啓動關閉的幾種方式
--> 啓動數據庫
Oracle啓動過程涉及幾種模式,這些模式涉及不同的文件,每個狀態下數據庫做不同的事情,同時這些模式適用於不同的維護需求,主要的模式有三種:NOMOUNT、MOUNT、OPEN。
NOMOUNT:啓動數據庫實例, 此時讀取參數文件,但是不加載數據庫;
MOUNT:啓動數據庫實例,加載數據庫,但是數據庫處於關閉狀態;
OPEN:啓動數據庫實例,加載並打開數據庫;
FORCE:終止實例並重啓數據庫,這種模式在數據庫關閉或者啓動遇到問題時使用,這種方式不到萬不得已時不要使用,會有數據丟失;
abort: 不允許新的連接、不等待會話結束、不等待事務結束、不做檢查點且沒有關閉數據文件。啓動時自動進行實例恢復。一般不推薦採用,只有在數據庫無法關閉時使用,可能造成數據庫的不一致。