当前位置:数据库 > Oracle >>

oracle spfile在线修改时损坏的经验分享

oracle spfile在线修改时损坏的经验分享
 
前些天,刚接触ORACLE,知道数据库一定要运行在归档模式下:
好手多把它改为归档模式了:先查询
SQL> select name,log_mode from v$database;
 
NAME      LOG_MODE
--------- ------------
IPTVBMS   ARCHIVELOG
SQL> archive log list
Database log mode              Archive Mode--表示已经改为归档了
Automatic archival             Enabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     7517
Next log sequence to archive   7523
Current log sequence           7523
1. SQL> alter system set log_archive_dest_1=’location=/oracle/oracle10g/log/archive_log’; 
该语句含义是确定归档日志的路径,实际上Oracle 10g可以生成多份一样的日志,保存多个位置,以防不测
 
例如再添加一个日志位置可使用以下语句 
SQL>alter system set log_archive_dest_2=’location=/oracle/oracle10g/log2/archive_log’;
 
2.关闭数据库 
SQL> shutdown immediate
 
3.启动数据mount状态: 
SQL> startup mount;
 
4、修改数据库为归档模式: 
SQL> alter database archivelog;
 
5、打开数据库,查询: 
SQL> alter database open; 
有一天学到参数文件怎么玩,手多也就备份了
SQL> create pfile='/opt/oracle//app/oracle/product/11.1/db/dbs/orabak/initiptvbms.ora' from spfile;
 
今天改SGA_TARGET SGA_MAX_SIZE时搞错单,没有加M等单位,启动时报错了
SQL> shutdown immediate
一致性关闭时,报错如下
ORA-00851:SGA_MAX_SIZE 1577058304 cannot be set to more than MEMORY_TARGET
按网上的方法解决不了?
为了使数据库启动则使用pfile启动:
 
Sql代码  
1.SQL> startup pfile=/opt/oracle/app/oracle/admin/iptvbms/pfile/init.ora.4272011104615  
SQL> startup pfile='/opt/oracle/app/oracle/admin/iptvbms/pfile/init.ora.4272011104615' 通过pfile创建spfile:
 
Sql代码  
1.create spfile='/opt/oracle/app/oracle/product/11.1/db/dbs/spfileiptvbms.ora' from pfile='/opt/oracle/app/oracle/admin/iptvbms/pfile/init.ora.4272011104615'; 
 
是无法解决??想了半天,搞了半天才查出有备份
总结:ORACLE一定要运行在归档模式下,一定要定期备份相关的文件;
包括参数文件,控制文件,以及数据文件;
 
1.因为我的库中有N多库,所以要设置环境变量
export ORACLE_SID=iptvbms
Refer to the SQL*Plus User's Guide and Reference for more information.
2.登陆
oracle@iptv-app2:~> sqlplus / as sysdba
SQL*Plus: Release 11.1.0.6.0 - Production on Fri Apr 12 11:38:57 2013
Copyright (c) 1982, 2007, Oracle.  All rights reserved.
Connected to an idle instance.
3.用备份的启动数据库到NOMOUNT状态
SQL> startup pfile='/opt/oracle//app/oracle/product/11.1/db/dbs/orabak/initiptvbms.ora' nomount;
ORACLE instance started.
Total System Global Area  559534080 bytes
Fixed Size                  2146312 bytes
Variable Size             339742712 bytes
Database Buffers          209715200 bytes
Redo Buffers                7929856 bytes
4。记得先还原SPFILE回来
SQL> create spfile from  pfile='/opt/oracle//app/oracle/product/11.1/db/dbs/orabak/initiptvbms.ora';
 
File created.
5.启动到MOUNT状态
SQL> alter database mount;
 
Database altered.
6。开库
SQL> alter database open;
 
Database altered.
 
SQL> create spfile from pfile='/opt/oracle//app/oracle/product/11.1/db/dbs/orabak/initiptvbms.ora';
 
File created.
7。验证SPFILE是否已经OK
SQL> ho ls /opt/oracle/app/oracle/product/11.1/db/dbs/spfileiptvbms*
/opt/oracle/app/oracle/product/11.1/db/dbs/spfileiptvbms.ora
 
8。重启数据库
 
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
有惊无怕,可以有经验了
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,