博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle实验——初始化参数文件与控制文件管理
阅读量:751 次
发布时间:2019-03-23

本文共 2934 字,大约阅读时间需要 9 分钟。

初始化参数文件与控制文件管理

1. 采用不同的方法查询Oracle数据库当前使用的初始化参数文件和控制文件。

show parameter spfile//通过初始化参数查询select value from v$parameter where name='spfile';//通过动态性能视图v$parameter查询show parameter control_files//通过初始化参数查询select value from v$parameter where name='control_files';//通过动态性能视图v$parameter查询

2. 练习从spfile创建pfile,以及pfile创建spfile。

create pfile='d:\orclpfileA.ora' from spfile;//从spfile创建pfile

此时是从spfile启动,关闭数据库,修改orclpfileA.ora文件的*.open_cursors=300为500,以pfile启动,查询open_cursors发现已更改为500

在这里插入图片描述
查询此时的spfileorcl.ora文件,其中的*.open_cursors=300

create spfile from pfile='d:\orclpfileA.ora';//从pfile创建spfile

执行上述sql语句后,此spfile为从pfile创建的,*.open_cursors=500

create pfile='d:\orclpfileA.ora' from memory;//从当前实例创建pfilecreate spfile from memory;//从当前实例创建spfile

3. 以open_cursors初始化参数为例,学习修改当前实例、spfile,以及pfile中的这一参数值。

alter system set open_cursors=300 scope=memory|spfile|both;

该语句中的scope选项说明初始化参数修改何时生效,是修改当前实例的初始化参数还是spfile,或者对二者同时修改。

1.MEMORY:修改只影响当前实例,当实例重新启动后,该语句所做修改不复存在。实例使用pfile启动时,该选项是默认设置。

2.SPFILE:只有在当前实例使用服务器参数文件启动时才能使用该选项。对初始化参数的修改被写入服务器参数文件,但不影响当前实例,因此此修改只有在实例重新启动后才生效。

3.BOTH:修改当前实例的初始化参数值,如果当前实例使用spfile启动,该选项是默认设置,它还会修改服务器参数文件中的参数值。

4. 在现有控制文件基础上,为数据库再添加一个控制文件。给出具体实现和验证步骤。

(1)查看数据库当前控制文件设置

show parameter control_files

此时只有两个控制文件

(2)修改初始化参数control_files

如果使用pfile,使用文本编辑器直接编辑。如果使用spfile,则执行alter system语句,增加新的控制文件。

alter system set control_files='D:\ORACLE\APP\WYZ\ORADATA\ORCL\CONTROL01.CTL','D:\ORACLE\APP\WYZ\ORADATA\ORCL\CONTROL02.CTL','C:\ORACLE\APP\WYZ\ORADATA\ORCL\CONTROL03.CTL' scope =spfile;

(3)关闭数据库,把现有控制文件拷贝到指定位置

‘C:\ORACLE\APP\WYZ\ORADATA\ORCL\CONTROL03.CTL’

(4)启动数据库,让修改的初始化参数生效。此时有三个控制文件。

5. 备份控制文件,并查看所备份的文件。

(1)把控制文件备份到跟踪文件

alter database backup controlfile to trace;

(2)打开alert_orcl.log查找orcl_ora_10452.trc并打开

show parameter control_filesshutdown immediate

将三个控制文件移到oradata下面

startup

(3)把实例启动到nomount状态

select status from v$instance;

此时为nomount

(4)创建控制文件

CREATE CONTROLFILE REUSE DATABASE "ORCL" RESETLOGS  NOARCHIVELOG    MAXLOGFILES 16    MAXLOGMEMBERS 3    MAXDATAFILES 100    MAXINSTANCES 8    MAXLOGHISTORY 292LOGFILE  GROUP 1 'D:\ORACLE\APP\WYZ\ORADATA\ORCL\REDO01.LOG'  SIZE 200M BLOCKSIZE 4096,  GROUP 2 'D:\ORACLE\APP\WYZ\ORADATA\ORCL\REDO02.LOG'  SIZE 200M BLOCKSIZE 4096,  GROUP 3 'D:\ORACLE\APP\WYZ\ORADATA\ORCL\REDO03.LOG'  SIZE 200M BLOCKSIZE 4096-- STANDBY LOGFILEDATAFILE  'D:\ORACLE\APP\WYZ\ORADATA\ORCL\SYSTEM01.DBF',  'D:\ORACLE\APP\WYZ\ORADATA\ORCL\SYSAUX01.DBF',  'D:\ORACLE\APP\WYZ\ORADATA\ORCL\UNDOTBS01.DBF',  'D:\ORACLE\APP\WYZ\ORADATA\ORCL\USERS01.DBF'CHARACTER SET AL32UTF8;
select status from v$instance;

成功创建控制文件之后,自动进入到mount状态。

(5)打开数据库

ALTER DATABASE OPEN RESETLOGS;
select status from v$instance;

此时为open

(6)查询数据文件

desc dba_data_filesselect FILE_NAME from dba_data_files;select FILE_NAME from dba_temp_files;

发现此时没有临时文件

ALTER TABLESPACE TEMP ADD TEMPFILE 'D:\ORACLE\APP\WYZ\ORADATA\ORCL\TEMP01.DBF'     SIZE 20971520  REUSE AUTOEXTEND ON NEXT 655360  MAXSIZE 32767M;

执行此语句将临时文件添加到临时表空间中,再查询临时文件则存在。

转载地址:http://ebjzk.baihongyu.com/

你可能感兴趣的文章