程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> [實驗-視頻過程]oracle控制文件增加減少

[實驗-視頻過程]oracle控制文件增加減少

編輯:Oracle教程

[實驗-視頻過程]oracle控制文件增加減少


控制文件

控制文件是二進制文件 

控制文件記錄了數據庫的結構和行為

在 mount 時候讀

在數據庫 open 時一直使用

丟失需要恢復

相關字典

select name from v$controlfile;

select TYPE,RECORD_SIZE,RECORDS_TOTAL,RECORDS_USED from V$CONTROLFILE_RECORD_SECTION;
select value from V$spparameter where name='control_files';

控制文件的位置在參數文件中描述

多個控制文件是鏡像的關系

最多八個,最少一個

增加控制文件的個數

實驗的目的是增加控制文件的個數,1 到 8 個,保護控制文件。

1.修改參數文件
2.停止數據庫
3.復制控制文件
4.啟動數據庫
5.驗證,查看 v$controlfile

修改二進制的初始化參數文件中的 control_files 選項

SQL> alter system set control_files=3 scope=spfile;
SQL> select value from v$spparameter where name='control_files';

驗證參數文件已經被修改

SQL> select name from v$controlfile;

驗證現在內存中的控制文件個數

SQL> alter system set control_files='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/flash_recovery_area/orcl/control02.ctl','/u01/app/oracle/oradata/orcl/control03.ctl' scope=spfile;
SQL> shutdown immediate;

拷貝一個數據庫參數文件過去

SQL> host cp /u01/app/oracle/oradata/orcl/control01.ctl /u01/app/oracle/oradata/orcl/control03.ctl

重新啟動數據庫,使修改的參數起作用

使用操作系統的命令將老的控制文件覆蓋

SQL> alter database open;
SQL> alter database mount;
啟動到 mount 狀態
Database altered.
SQL> alter database open;
啟動到 open 狀態
Database altered.

驗證參數文件中 control_files 選項的值

 SQL> select value from v$spparameter where name='control_files';

驗證現在內存中的控制文件個數

 SQL> select name from v$controlfile;

減少控制文件的個數

該實驗的目的是初步認識如何修改參數文件,如何減少控制文件.
減少控制文件,實驗的目的,有一個控制文件損壞,我們要將損壞的控制文件剔除。

1.修改參數文件,並驗證

2.停止數據庫

3.啟動數據庫

4.驗證,查看 v$controlfile

SQL> select  name from v$controlfile;

驗證現在內存中的控制文件個數

/u01/app/oracle/oradata/orcl/control01.ctl
/u01/app/oracle/flash_recovery_area/orcl/control02.ctl

修改二進制的初始化參數文件中的 control_files 選項

SQL> alter system set control_files=
2 '/u01/app/oracle/oradata/orcl/control01.ctl' scope=spfile;
System altered.

驗證參數文件已經被修改

SQL> select value from v$spparameter where name='control_files';

驗證內存中的值沒有被修改,因為 control_files 是靜態參數,想要改變必須重新啟動數據庫。

SQL> select name from v$controlfile;

重新啟動數據庫,使修改的參數起作用

SQL> startup force;

 SQL> select name from v$controlfile;

驗證內存被修改了

SQL> select value from v$spparameter where name='control_files';

驗證參數文件中的值和內存中的值相同

http://v.youku.com/v_show/id_XMTM2NDY3MDg4NA==.html?from=y1.7-1.2=

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved