oracle 12c rac管理命令梳理____oracle

來源:互聯網
上載者:User

1、關閉資料庫執行個體:

Srvctl stop instance -d tar -n rac2

只停一個節點上的資料庫執行個體rac2

2、查看資料庫執行個體狀態:

Srvctl status database -d tar -f -v

我這邊四節點叢集,目前只起了節點1和節點2.

3、啟動執行個體

Srvctl start instance -d tar -n rac2

指定啟動節點2上的資料庫執行個體

4、再次查看資料庫執行個體狀態:

Srvctl status database -d tar -f -v


二、資料庫的啟動和關閉

1、關閉之前查看一下資料庫執行個體的情況

Srvctl status database -d tar -f -v

1、關閉資料庫

Srvctl stop database -d tar

關閉資料庫會把叢集所有的執行個體都關掉

2、關閉後查看執行個體狀態:

Srvctl status database -d tar -f -v

發現所有的執行個體都已經關閉了。

3、啟動資料庫

Srvctl start database -d tar

跟單節點的起庫步驟差不多,不同的是會起叢集所有的資料庫執行個體。

4、啟動後在次查看資料庫執行個體狀態

Srvctl status database -d tar -f -v

發現所有的節點上的執行個體都起來了。


三、參數檔案(pfile、spfile)管理

1、當前資料初始化參數檔案情況查詢

Su - oracle

Sqlplus / as sysdba

Show parameter spfile

2、可根據pfile建立spfile

create spfile=’+DG_ZERO/zerodb/spfilezerodb.ora’ from

pfile=’/zerodb/11g/db_base/db_home/dbs/initzero.ora’;

同樣,也可以通過spfile建立pfile:

3、值說明:

在參數前面是*號,表明對所有的節點都生效

*.parallel_max_servers =40

參數前面是執行個體名,表示該參數只對該特定的執行個體生效

tar2.parallel_max_servers=42

1、兩種修改參數值方式:

A、直接修改pfile檔案,然後通過pfile產生spfile。

B、直接通過命令列,以alter system的方式改。

show parameter parallel_max_servers;

修改所有所有的執行個體:

alter system set parallel_max_servers=42 sid='*' scope=both;

節點1:

節點2:

修改所有的執行個體(同上面是一個意思):

alter system set parallel_max_servers=42 scope=both;

修改指定的執行個體(tar2):

alter system set parallel_max_servers=42 sid='tar2' scope=both;

show parameter parallel_max_servers;


四、會話管理

1、建立測試使用者,節點1:

Su - oracle

Sqlplus / as sysdba

create user c##test identified by Xtyt2008;

grant dba to c##test;

2、節點2登陸資料庫

Su - oracle

Sqlplus / as sysdba

Conn c##test/Xtyt2008

節點2:

3、節點1

查詢所有的會話:

select inst_id, sid, serial#,USERNAME from gv$session;

節點1:

可以殺掉剛才在節點2登陸的那個會話:

alter system kill session '39, 6135,@2';

4、然後在節點2剛才登陸的地方執行一條sql,會產生報錯(因為會話已經被殺掉了)

Select sysdate from dual;

節點2:


五、復原資料表空間的管理

1、查詢復原資料表空間的情況:

column name format a20;

column value format a20;

select inst_id,name,value from gv$parameter where name like '%undo_tablespace%';

可以看到有兩個復原資料表空間,一個執行個體對應一個復原資料表空間。

2、下面我們把執行個體二的復原資料表空間換成新的undo資料表空間

3、建立一個undo資料表空間:

CREATE UNDO TABLESPACE UNDOTBS_TYT

DATAFILE '+data/tar/datafile/TYT.db' SIZE 10M AUTOEXTEND ON;

4、修改undo資料表空間為新的undo資料表空間,執行個體指定為執行個體2(在節點1上做)

alter system set UNDO_TABLESPACE=UNDOTBS_TYT sid='tar2' scope=both;

5、我們在執行上面的查詢語句:

select inst_id,name,value from gv$parameter where name like '%undo_tablespace%';

發現並沒有變化。

節點1:

節點2:

6、想要變化,有兩種方式

A、重啟執行個體二。

B、把alter system set UNDO_TABLESPACE=UNDOTBS_TYT sid='tar2' scope=both;語句再在執行個體2上執行一遍。

節點2:


六、聯機重做記錄檔的管理

1、查看當前資料庫聯機重做日誌的情況

可以看到有幾個日誌組,每個組屬於哪個執行個體:

select GROUP#,thread# from v$log;

2、可以看到每個組有幾個記錄檔(成員)

column MEMBER format a50;

select group#,status,member from v$logfile order by GROUP#;

可以看到一個日誌組有兩個成員。

不要使用gv$log,gv$logfile,其列出的資訊是冗餘的,容易誤導

select thread#,group# from gv$log;

select INST_ID,group#,member from gv$logfile;

3、新增一個組,組編號是5,這個組給執行個體1

ALTER DATABASE

ADD LOGFILE INSTANCE 'tar1'

GROUP 9  

('+DATA/TAR/ONLINELOG/redo_z111','+DATA/TAR/ONLINELOG/redo_z222') SIZE 10M reuse;

4、新增完成後再次查看日誌組的情況:

select GROUP#,thread# from v$log;

發現執行個體1多了一個組9.

4、還可以查看該新增的組的成員資訊

column MEMBER format a50;

select group#,status,member from v$logfile order by GROUP#;

新增的組我們指定了兩個成員。

6、可以drop掉新增的日誌組:

ALTER DATABASE DROP LOGFILE GROUP 9;



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.