欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

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

程序员文章站 2024-01-19 09:00:04
...

前些天,刚接触Oracle,知道数据库一定要运行在归档模式下: 好手多把它改为归档模式了:先查询 SQLgt; select name,log_mode f

前些天,刚接触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 spfile在线修改时损坏的经验分享