本文共 2934 字,大约阅读时间需要 9 分钟。
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查询
create pfile='d:\orclpfileA.ora' from spfile;//从spfile创建pfile
此时是从spfile启动,关闭数据库,修改orclpfileA.ora文件的*.open_cursors=300为500,以pfile启动,查询open_cursors发现已更改为500
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
alter system set open_cursors=300 scope=memory|spfile|both;
该语句中的scope选项说明初始化参数修改何时生效,是修改当前实例的初始化参数还是spfile,或者对二者同时修改。
1.MEMORY:修改只影响当前实例,当实例重新启动后,该语句所做修改不复存在。实例使用pfile启动时,该选项是默认设置。
2.SPFILE:只有在当前实例使用服务器参数文件启动时才能使用该选项。对初始化参数的修改被写入服务器参数文件,但不影响当前实例,因此此修改只有在实例重新启动后才生效。
3.BOTH:修改当前实例的初始化参数值,如果当前实例使用spfile启动,该选项是默认设置,它还会修改服务器参数文件中的参数值。
(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)启动数据库,让修改的初始化参数生效。此时有三个控制文件。
(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/