案例学习Oracle错误:ORA-00439
添加时间: 2008-4-27 0:53:57 作者: Oracle指导 阅读次数:253 来源: http://www.d9soft.com
原文:ORA-00439 feature not enabled: string
Cause: The specified feature is not enabled.
Action: Do not attempt to use this feature.
ORA-00439 特性未启用或功能未启用。
发生原因:关键功能或特性不可用(所使用Oracle版本不完整)。
解决方案:不要尝试使用该特性或功能。
案例一:在ARCHIVE MODE(文档模式)中处理 管理 备用错误。
错误描述:在 Linux 9 上使用ARCHIVE MODE (文档模式)创建Oracle 9.2.0的数据库时,出现了如下的错误信息:ORA-00439: :未启用功能:管理备用。而在非文档模式下就运行良好。
解决方案:你的问题出现在仅使用一个文档目标地址的时候,LOG_ARCHIVE_DEST_n 参数的使用上面。你还可以指定LOCATION 参数。试试使用以下的操作来代替你的操作:
LOG_ARCHIVE_DEST=d:somedir
rchive
上述操作应该可以解决你的问题。当只使用一个文档目标地址的时候,它会广播已知的LOG_ARCHIVE_DEST_n参数内容。它还会广播LOCATION参数,你所看到的错误信息大多数情况下是这个参数引起的。
当然了,前提是你的启用步骤是正确的:
演示系统环境:
1、操作系统:Windows 2000 Server,机器内存256M
2、数据库: Oracle 9i 9.2.0.4 企业 版
3、安装路径:C:ORACLE
实现步骤:
1、管理器
SQL> connect internal
SQL> shutdown
SQL> startup mount [dbname]
SQL> alter database [dbname] archivelog; --起用归档模式
SQL> archive log start --启动自动归档模式,重起数据库后,按init.ora配置
SQL> alter database [dbname] open; --打开数据库
SQL> exit
2、修改数据库初始化参数文件,定义归档模式(自动)、归档日志文件保存路径、归档日志文件命名方法
3、重新启动数据库
具体实例:
C:>svrmgrl
Oracle Server Manager Release 3.1.6.0.0 - Production
版权所有 (c) 1997,1999,Oracle Corporation。保留所有权利。
Oracle8i Enterprise Edition Release 8.1.6.0.0 - Production
With the Partitioning option
JServer Release 8.1.6.0.0 - Production
SQL> connect internal
连接成功。
SQL> shutdown
已关闭数据库。
已卸下数据库。
已关闭 ORACLE 实例。
SQL> startup mount
已启动 ORACLE 实例。
系统全局区域合计有 57124108个字节
Fixed Size 70924个字节
Variable Size 40198144个字节
Database Buffers 16777216个字节
Redo Buffers 77824个字节
已装入数据库。
SQL> alter database archivelog;
语句已处理。
SQL> archive log start
语句已处理。
SQL> alter database open;
语句已处理。
SQL> alter system switch logfile; --强制系统进行日志切换,可马上观察到归档日志的产生
语句已处理。
SQL> exit
服务器 管理 程序结束。
修改数据库参数文件c:oracleadminoradbpfileinit.ora,
取消以下语句的#注释
log_archive_start = true
log_archive_dest_1 = "location=C:Oracleoradataoradbarchive"
log_archive_format = %%ORACLE_SID%%T%TS%S.ARC
关闭数据库,重新启动
查看C:Oracleoradataoradbarchive目录下,可以看到类似ORADBT001S01201.ARC的文件,说明归档成功
解释init.ora参数文件中关于归档重做日志参数项的含义
归档模式是自动还是手工,true为自动,false为手工
log_archive_start = true
归档日志文件所保存的路径
log_archive_dest_1 = "location=C:Oracleoradataoradbarchive"
归档日志文件的命名方法
log_archive_format = %%ORACLE_SID%%T%TS%S.ARC
归档命令:
启动自动归档模式,系统重起后,将按init.ora中的参数log_archive_start的值设置归档方式
SQL> archive log start
启动手工归档模式
SQL> archive log stop
查看归档信息:重做日志是否归档方式、是自动归档还是手工归档、归档路径、最旧的联机日志循序号...
SQL> archive log list
归档一个已满,但没有归档的联机重做日志
SQL> archive log next
归档所有已满,但没有归档的联机重做日志
SQL> archive log all
注意:一个事务即使不被提交,也会被写入到重做日志中。
案例二:创建表分区。
错误描述:我没法在用户登录的系统中为表划分一个分区。每当我想要为表创建一个分区的时候,Oracle9i 都会丢出一个错误信息ORA-00439:特性未激活:分区
解决方案:分区会给Oracle数据库带来额外的成本,因此它是一个选项。如果你想要使用分区,你运行的必须是Oracle 企业 版。我假设你已经为使用分区选项而购买了Oracle的企业版。
要避免ORA-439的错误信息,你需要安装分区并在数据库中启用。要安装它,你可以从8i附带的光盘上找到,并安装分区选项。之后,启动数据库,以SYS身份连接,然后运行$ORACLE_HOME/rdbms/admin/catparr.sql脚本。你就完成了,现在可以运行了!
测试演示:
软件环境:
1、Windows NT4.0+ORACLE 9.2.0
2、ORACLE安装路径为:C:ORANT
错误现象:
SQL> create type type1 as object
2 (
3 col1 varchar2(10),
4 col2 varchar2(10)
5* )
SQL> /
create type type1 as object
*
ERROR 发生在第 1 行:
ORA-00439: 特性无法启用: Objects
解决方法:
安装时选择Oracle9 Objects Option就行了
同样,要想启用分区特性,安装时选择Oracle9 Partitioning Option就行了
SQL> col PARAMETER format a35
SQL> col VALUE format a35
SQL> select * from v$option;
上一篇文章: 案例学习Oracle错误:ORA-00604 下一篇文章: 案例学习Oracle错误:ORA-00235

