ORACLE 数据泵模式 expdp ORA-04031 无法分配 32字节的共享内存

第一次执行expdp命令遇到的错误:
ORA-39006: internal error
ORA-39213: Metadata processing is not available



解决方法:
以sysdba的身份登录,执行

SQL> exec dbms_metadata_util.load_stylesheets;


第二次执行impdp命令遇到的错误:
ORA-04031  无法分配 32字节的共享内存

解决方法:

以sysdba的身份登录,修改shared_pool_reserved_size和shared_pool_size

shared_pool_size表示共享池总大小

shared_pool_reserved_size表示保留连续内存的共享池大小

SHOW PARAMETERS SHARED_POOL;查看共享池大小

shared_pool_size和shared_pool_reserved_size 大小分别为4M和6M,

expdp命令显示需要占用的block块大小为60M,修改shared_pool_size和shared_pool_reserved_size为60和100M

SQL> alter system set shared_pool_reserved_size=60m scope=spfile;

SQL>alter system set SHARED_POOL_SIZE=100M SCOPE=both;

重启数据库


第三重启数据库遇到错误:

ORA-00844: Parameter not taking MEMORY_TARGET into account
ORA-00851: SGA_MAX_SIZE 1073741824 cannot be set to more than MEMORY_TARGET 784334848.

解决方法:

解决方法:

可以直接修改spflie文件中MEMORY_TARGET的大小,可是由于之前没查看spfile的位置,不知道spfile的具体位置,所以只能采用如下方法

SQL>create pfile='/home/oracle/pfile' from spfile;

创建pfile文件,修改pfile文件中的MEMORY_TARGET参数,和SGA_MAX_SIZE大小一致

然后重新创建spfile文件

SQL>create spfile from pfile='/home/oracle/pfile';

SQL>startup

启动数据库完成

你可能感兴趣的:(ORACLE)