Oracle 10g的控制文件(2)――添加控制文件(一)

2014-11-24 09:21:27 · 作者: · 浏览: 2

 在oracle 10g中,创建好一个 数据库,默认会有3个控制文件,control01.ctl,control02.ctl,control03.ctl,我们可以为数据库手动添加一些控制文件。
  在数据打开的情况下,我们可以在sqlplus中通过show parameter control来查看当前所使用的控制文件的情况。
SQL> show parameter control
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time integer 7
control_files string /u01/app/oracle/oradata/orcl/c
ontrol01.ctl, /u01/app/oracle/
oradata/orcl/control02.ctl, /u
01/app/oracle/oradata/orcl/con
trol03.ctl
  那么接下来的实验,我们将要添加一个控制文件control04.ctl。
  首先,我们通过shutdown immediate关闭当前的数据库。
SQL> shutdown immediate; www.2cto.com
Database closed.
Database dismounted.
ORACLE instance shut down.
  进到控制文件的目录(/u01/app/oracle/oradata/orcl)中,复制一个控制文件control04.ctl。
[oracle@www orcl]$ cp control01.ctl control04.ctl
[oracle@www orcl]$ ll
total 1448720
-rw-r----- 1 oracle oinstall 7389184 Apr 8 01:08 control01.ctl
-rw-r----- 1 oracle oinstall 7389184 Apr 8 01:08 control02.ctl
-rw-r----- 1 oracle oinstall 7389184 Apr 8 01:08 control03.ctl
-rw-r----- 1 oracle oinstall 7389184 Apr 8 01:10 control04.ctl
...................................
  由于control file的指定信息是在pfile或者spfile中,所以我们需要修改pfile和spfile,通过以下方式修改。
  在sqlplus中执行以下命令,使用当前的spfile文件创建pfile:
SQL> create pfile='/home/oracle/init.ora' from spfile;
File created.
  在oracle用户家目录中会生产一个 init.ora,使用vi命令修改该文件,红色部分为我们新添加的控制文件文件名和路径,修改好之后保持修改,如下所示。
TSH1.__db_cache_size=104857600
TSH1.__java_pool_size=4194304
TSH1.__large_pool_size=4194304
TSH1.__shared_pool_size=121634816
TSH1.__streams_pool_size=8388608
*.audit_file_dest='/u01/app/oracle/admin/orcl/adump'
*.audit_trail='DB','EXTENDED'
*.background_dump_dest='/u01/app/oracle/admin/orcl/bdump'
*.compatible='10.2.0.1.0'
*.control_files='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/oradata/orcl/control02.ctl','/u01/app/oracle/oradata/orcl/control03.ctl','/u01/app/oracle/oradata/orcl/control04.ctl'#Restore Controlfile
*.core_dump_dest='/u01/app/oracle/admin/orcl/cdump'
*.db_block_size=8192 www.2cto.com
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='orcl'
*.db_recovery_file_dest_size=31457280000
*.db_recovery_file_dest='/home/oracle/area/'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.job_queue_processes=10
*.log_archive_dest_1='location=/u01/arch'
*.log_archive_dest_2='location=/u01/arch2'
*.log_archive_dest_state_2='DEFER'
*.open_cursors=300
*.pga_aggregate_target=81788928
*.processes=150
  使用我们修改过的pfile创建一个spfile,如下所示。
SQL> create spfile from pfile='/home/oracle/init.ora';
File created.
  spfile创建成功之后,我们就可以开始打开我们数据库了,如下所示。
SQL> startup
ORACLE instance started.
Total System Global Area 247463936 bytes
Fixed Size 1218772 bytes
Variable Size 138413868 bytes
Database Buffers 104857600 bytes
Redo Buffers 2973696 bytes
Database mounted.
Database opened.
  我们再来