故障说明:
今天准备搭建一个测试环境,使用expdp高版本导出到低版数据库数据,带有分区表(版本 11.2.0.3---> 11.1.0.6),导出时使用了 version=11.1.0.6.0,但是在导入时出现“ORA-00439 feature not enabled: Partitioning”,网上找了一下原因,说是数据库需要是企业版,可是我查了一下是企业版的。
解决方法:
1,查看是否开启分区功能
SQL> select * from v$option where parameter = 'Partitioning';
PARAMETER VALUE
-------------
Partitioning FALSE
2,查看数据库版本(只有企业版支持分区功能)
SQL> SELECT * FROM V$VERSION;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
PL/SQL Release 11.1.0.6.0 - Production
CORE 11.1.0.6.0 Production
TNS for Linux: Version 11.1.0.6.0 - Production
NLSRTL Version 11.1.0.6.0 - Production
3. shutdown immediate
4. 重编译partition组件
$ cd $ORACLE_HOME/rdbms/lib
$ make -f ins_rdbms.mk part_on
$ make -f ins_rdbms.mk ioracle
5. startup
6.再次查看分区是否开启
SQL> select * from v$option where parameter = 'Partitioning';
PARAMETER VALUE
-------------
Partitioning TRUE
======================================================================================
--查询表空间
select username,default_tablespace from user_users;--root SYSTEM
--查看是否开启分区功能
select * from v$option where parameter = 'Partitioning';
--查看数据库版本(只有企业版支持分区功能)
SELECT * FROM V$VERSION;
--查询表空间的详细情况
SELECT TABLESPACE_NAME,FILE_ID,FILE_NAME,ROUND(BYTES / (1024 * 1024), 0) TOTAL_SPACE FROM DBA_DATA_FILES ORDER BY TABLESPACE_NAME;