oracle數據備份和數據庫啓動關閉流程

一、oracle數據備份

(一)oracle備份流程:

1,導出用戶的數據(backup scott)命令:exp

2,創建用戶並配置默認表空間:create user  username identified by password default tablespace  tablespacename quota  size on tablespacename;

例如:

create user  liqinghai identified by liqinghai default tablespace  users quota  10M on users;

3,給用戶配置權限:grant create session,create table , create view to  username;

4,導入用戶數據(import the data ):imp

其中:在導出和導入中,要區分好用戶名;

導出爲你要導出用戶的用戶名和密碼

導入爲你新建的用戶,當提示是否導入整個文件時:用戶名爲之前所導出的用戶名

(2)備份數據庫中的表,在新表中操作數據,避免破壞原有的數據

create table 新表 as select * from 舊錶;

mysql中沒有as

(二)表空間知識

詳細內容:點擊打開鏈接http://blog.csdn.net/jmilk/article/details/51599260

二、表空間的分類

(一)表空間分爲3類:永久表空間、臨時表空間和undo表空間。

1、永久表空間:存儲數據庫中需要永久化存儲的對象,比如二維表、視圖、存儲過程、索引。

2、臨時表空間:存儲數據庫的中間執行過程,如:保存order by數據庫排序,分組時產生的臨時數據。操作完成後存儲的內容會被自動釋放。臨時表空間是通用的,所的用戶都使用TEMP作爲臨時表空間。一般只有tmp一個臨時表空間,如果還需要別的臨時表空間時,可以自己創建。

3、UNDO表空間:保存數據修改前的副本。存儲事務所修改的舊址,即被修改之前的數據。當我們對一張表中的數據進行修改的同時會對修改之前的信息進行保存,爲了對數據執行回滾、恢復、撤銷的操作。

(二)oracle的數據庫在邏輯上是有表空間組成的

 

(三)oracle實例

1.實例是一組後臺進程和共享內存。

2.數據庫是磁盤上存儲的數據集合。

3.實例“一生”只能裝載並打開一個數據庫。

4.數據庫可以由一個或多個實例(使用RAC)裝載和打開。

三、數據庫實例啓動演示

(一)數據庫啓動命令startup用法及過程:

每當一個Oracle數據庫啓動時,它都經歷一系列步驟來保證數據庫一致性。因此,當一個數據庫啓動時,它經歷三個模式:NOMOUNT、MOUNT和OPEN。

1、STARTUP NOMOUNT選項:(讀取初始化參數文件,啓動實例):

STARTUP NOMOUNT選項啓動實例,但不安裝數據庫。當數據庫以這個模式啓動時,參數文件被讀取;後臺進程和內存結構被啓動;但它們不被附加或與數據庫的磁盤結構進行通信。當實例處於這個狀態時,數據庫是不可使用的。

2、STARTUP MOUNT選項:(完成nomount過程,並打開控制文件)

STARTUP MOUNT選項執行STARTUP NOMOUNT選項的所有工作,但另外附加數據庫結構並與這些結構進行交互。這時Oracle從它用來查找和附加到主要數據庫結構的控制文件中獲得信息。當處於這個模式時,可以執行一些管理型任務,比如恢復。

3、STARTUP OPEN選項:(完成nomount和mount過程,並打開數據文件,日誌文件)

如果STARTUP命令行上沒有指定任何模式,STARTUP OPEN選項就是默認的啓動模式。STARTUP OPEN選項執行STARTUP NOMOUNT和STARTUP MOUNT選項的所有步驟。這個選項把數據庫變成對所有用戶都時可用的。

4、STARTUP FORCE選項:(重新啓動數據庫)

如果在用正常方式啓動數據庫時遇到了困難,可以使用STARTUP FORCE選項。STARTUP FORCE選項首先異常關閉數據庫,然後重新啓動它。

(二)數據庫關閉命令shutdown用法:

1、shutdown normal :正常方式關閉數據庫。 不允許新的連接、等待會話結束、等待事務結束、做一個檢查點並關閉數據文件。啓動時不需要實例恢復。

2、shutdown immediate :立即方式關閉數據庫。  不允許新的連接、不等待會話結束、不等待事務結束、做一個檢查點並關閉數據文件。沒有結束的事務是自動rollback的。啓動時不需要實例恢復。 

3、shutdown abort :直接關閉數據庫。正在訪問數據庫的會話會被突然終止,如果數據庫中有大量操作正在執行,這時執行shutdown abort後,重新啓動數據庫需要很長時間 。不允許新的連接、不等待會話結束、不等待事務結束、不做檢查點且沒有關閉數據文件。啓動時自動進行實例恢復。

4、shutdown  transactional: 等待用戶完成當前的事務後關閉數據庫。不允許新的連接、不等待會話結束、等待事務結束、做一個檢查點並關閉數據文件。啓動時不需要實例恢復。

(三)ORACLE中,sqlplus / as sysdba中,斜槓與as中間有空格。sqlplus /nolog命令中,卻沒空格,爲什麼呢?
  sqlplus / as sysdba是一種簡化寫法,其實是省略了用戶名和密碼,完整的寫法是sqlplus  sys/password  as  sysdba而sqlplus  /nolog是另外的用法了,nolog表示不進行登錄,僅僅是進入sqlplus軟件而已

(四)連接數據庫格式:connect username/password@servername as sysdba

oracle在登錄時,有三種身份認證方式:操作系統身份認證、密碼文件認證、數據庫認證。而conn /  as sysdba是屬於操作系統認證。

(五)select name from v$database;

1、v$database視圖是當前數據庫實例的各種信息;

2、v$database視圖是當前數據庫實例的各種信息;

四、創建數據庫流程:

Oracle安裝完後,其中有一個缺省的數據庫,除了這個缺省的數據庫外,我們還可以創建自己的數據庫。

 對於初學者來說,爲了避免麻煩,可以用'Database Configuration Assistant'嚮導來創建數據庫。

 創建完數據庫後,並不能立即在數據庫中建表,必須先創建該數據庫的用戶,並且爲該用戶指定表空間。

(一)下面是創建數據庫的具體過程:

    1.假如現在已經建好名爲'news'的數據庫,此時在F:\oracle\product\10.1.0\oradata\目錄下已經存在news目錄(注意:我的Oracle10g安裝在F:\oracle下,若你的Oracle安裝在別的目錄,那麼你新建的數據庫目錄就在*\product\10.1.0\oradata\目錄下)。

    2.在創建用戶之前,先要創建表空間:

    其格式爲:格式:  create tablespace 表間名 datafile '數據文件名' size 表空間大小;

    如:

    SQL> create tablespace news_tablespace datafile 'F:\oracle\product\10.1.0\oradata\news\news_data.dbf' size 500M;

    其中'news_tablespace'是你自定義的表空間名稱,可以任意取名;'F:\oracle\product\10.1.0\oradata\news\news_data.dbf'是數據文件的存放位置,'news_data.dbf'文件名也是任意取;'size 500M'是指定該數據文件的大小,也就是表空間的大小。

    3.現在建好了名爲'news_tablespace'的表空間,下面就可以創建用戶了:

    其格式爲:格式:  create user  用戶名 identified by 密碼  default tablespace 表空間名;

create user  liqinghai identified by liqinghai default tablespace  users quota  10M on users;

其中:quota size on tablespace_name 給表空間指定大小

    如:

    SQL> create user news identified by news default tablespace news_tablespace;

    默認表空間'default tablespace'使用上面創建的表空間。

    4.接着授權給新建的用戶:

    SQL> grant connect,resource to news;  --表示把 connect,resource權限授予news用戶

    SQL> grant dba to news;  --表示把 dba權限授予給news用戶

    授權成功。

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