應用場景1-7為Oracle的安裝過程,此處不過多的講解,網上的材料很多,也許會在後期中補上。
應用場景8
查看所有數據文件的位置:
SELECT NAME FROM V$DATAFILE;
List命令:
LIST
SAVE命令:
SAVE D:\ORACLESQL.SQL;
應用場景9-16為數據庫的卸載和配置過程
-----------------數據庫實例------------------
實例(instance):一組Oracle 後台進程/線程以及一個共享內存區,這些內存由同一個計算機上運行的線程/進程所共享。這裡可以維護易失的、非持久性內容(有些可以刷新輸出到磁盤)。就算沒有磁盤存儲,數據庫實例也能存在。也許實例不能算是世界上最有用的事物,不過你完全可以把它想成是最有用的事物,這有助於對實例和數據庫劃清界線。
下面演示啟動xxx實例,掛接數據庫,打開數據庫,關閉數據庫、卸載數據庫、關閉實例的過程。
1、為了能進行以上操作,oracle的監聽必須首先啟動,這樣,我們才有機會連接到oracle服務器端。可以通過如下命令進行:lsnrctl start;
2、oracle啟動,windows下通常在服務裡啟動oracle,一般情況下同時啟動相關實例,但也可以設置啟動oracle時,不啟動任何指定實例,這樣oracle的啟動速度相當快。
3、設定我們需要啟動的相關實例。在console窗口中,輸入 set oracle_sid=xxx (unix環境下用export命令)
4、用/nolog方式,進入sqlplus。 在console窗口中,輸入 sqlplus /nolog ,然後回車,則進入sqlplus環境。
5、輸入命令 connect sys as sysdba 回車後,提示輸入口令,直接回車,則以sysdba的角色連接到oracle的空閒實例。
6、輸入命令 startup nomount 回車,則啟動了xxx實例,由set oracle_sid=xxx設置。
7、輸入命令 alter database mount 回車,則將相應的數據庫掛接到xxx實例。
8、輸入命令 alter database open 回車,則打開了相應數據庫。
9、輸入命令 shutdown,則關閉數據庫、卸載數據庫、關閉實例。
Oracle數據庫實例的4中狀態:打開(OPEN)、關閉(CLOSE)、已裝載(MOUNT)和已啟動(NOMOUNT)。
------------------------------------------------------------------------------------
應用場景17:正常關閉數據庫實例
使用SHOWDOWN命令關閉數據庫實例:
SHUTDOWN NORMAL (normal參數是默認參數)
打開sqlplus:
cmd -> 在命令窗口輸入 -> SQLPLUS /NOLOG
(打開sqlplus但是未登錄,未連接數據庫)
以管理員省份連接數據庫:
CONN SYS AS SYSDBA; (後邊將會經常用到,使用sys用戶以管理員身份登錄)
通過以上管理員身份來執SHUTDOWN命令----------》》慎用
但是這種方式比較慢,一般不采用這種方式。
應用場景18:立即關閉數據庫實例
SHOWDOWN IMMEDIATE
應用場景19:事務處理的方式關閉數據庫實例
SHUTDOWN TRANSACTIONAL
應用場景20:終止數據庫實例
SHUTDOWN ABORT
應用場景21:在 Enterprise Manager中關閉數據庫實例
通過PHP圖形化界面控制端來關閉數據庫實例
應用場景22:啟動數據庫實例、裝載並打開數據庫實例:
只有系統管理員才有權限關閉數據庫實例。所以需要使用sys用戶以系統管理員的身份連接到SQL Plus。----》執行STARTUP命令可以啟動數據庫實例、裝載並打開數據庫實例。
應用場景23:以指定的初始化餐數據文件來啟動實例
在start命令中使用PFILE子句可以指定啟動數據庫使歷史用用初始化參數文件。
SPFILE = C:\Users\Administrator\Desktop\軟件12-Oracle\源代碼\4.1.4節\initoradb.ora
使用SYS用戶以管理員SYSDBA身份連接到SQL Plus。如果數據庫處於啟動狀態,可以使用應用場景18中提到的 SHUTDOWN IMMEDIATE來關閉數據庫 ,然後執行下面命令。
STARTUP PFILE = C:\Users\Administrator\Desktop\軟件12-Oracle\源代碼\4.1.4節\initoradb.ora
應用場景24:啟動數據庫實例,但不裝載數據庫
STARTUP NOMOUNT ---->啟動數據庫實例可以執行中間數據庫或數據文件等操作。
應用場景25:啟動數據庫實例,裝載數據庫
STARTUP MOUNT ----->並不打開數據庫,可以執行數據庫日志歸檔、數據庫介質恢復、重定位數據文件和重做日志文件操作。
應用場景26:強制啟動數據實例
如果當前的數據庫實例無法正常關閉,而又要啟動另外一個數據庫實例,那麼需要使用強制關閉數據庫實例的選項。
以sys用戶管理員身份登錄。連接SQL Plus,
STARTUP FORCE ---》 首先強行關閉當前數據庫實例,然後在啟動新的數據庫實例。
該命令相當於前面的SHUTDOWN ABORT命令,然後執行STARTUP 。
應用場景27:以限制模式啟動數據庫實例
在以下的情形中需要以限制模式啟動數據庫實例。
1、執行數據庫動操作(此時不應該有其他的普通的用戶訪問數據庫,以免導致數據不一致)2、使用 SQL*LOader提取數據庫中的數據。3、需要再是拒絕普通用戶訪問數據庫。4、進行數據庫移植或升級操作。
使用
STARTUP RESTRICT
語句以限制模式啟動數據庫實例,此時只有擁有RESTRICT SESSION權限的用戶才可以訪問數據庫。
應用場景28:在數據庫啟動時開始介質恢復
如果需要介質恢復,使用
STARTUP RECOBER
自動執行恢復程序。
應用場景29:使用ALTER DATABASE 命令改變啟動模式
1.切換mount模式:用戶使用
STARTUP NOMOUNT命令啟動數據庫實例,執行重建數據庫和數據文件等任務。執行完成後,就可以裝載數據庫實例。執行以下命令
ALTER DATABASE MOUNT;
2.切換到OPEN模式,執行完上面的操作後,數據庫實例仍處關閉狀態,需要打開數據庫實例,執行下面的命令
ALTER DATABASE OPEN;
為了防止用戶事務修改數據庫中的數據,可以只讀方式打開數據庫,
ALTER DATABASE OPEN READ ONLY; ---->有點問題
應用場景30:停頓數據庫
停頓數據庫時指將數據庫轉變為“停頓”狀態。當數據庫處於該狀態時,只有dba用戶(sys 和system) 可以執行事務,查詢和pl/sql語句,而普通用戶將不能執行這些操作。停頓數據庫可以使用
alter system quiesce restricted
命令,
改變為正常狀態可以使用
alter system unquiesce
命令。
查看此時的數據庫實例的活動狀態:
select active_state from v$instance
應用場景31:掛起(Suspending)數據庫
為了禁止在數據文件和控制文件上執行i/o操作,可以使用
alter system suspend
命令暫停數據庫;為了繼續正常使用i/o操作,可以使用
alter system resume
命令。
查看此時的數據庫實例的活動狀態:
select active_state from v$instance