ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 使用db_nk_cache_size与Ora-02097,Ora-000384

使用db_nk_cache_size与Ora-02097,Ora-000384

原创 Linux操作系统 作者:sdusun 时间:2019-07-11 09:15:06 0 删除 编辑

SQL>create tablespace test_data_16k
logging
datafile 'f:oracleoradatasdusuntest_data_16k' size 20m
blocksize 16384
extent management local

ORA-29339: 表空间块大小 16384 与配置的块大小不匹配

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_16k_cache_size big integer 0

SQL>alter system set db_16k_cache_size=8m

ORA-02097: 无法修改参数,因为指定的值无效

ORA-00384: 没有足够的内存来增加高速缓存的大小


SQL>alter system set db_16k_cache_size=1m

ORA-02097: 无法修改参数,因为指定的值无效

ORA-00384: 没有足够的内存来增加高速缓存的大小

SQL>alter system set sga_max_size=140m scope=both

ORA-02095: 无法修改指定的初始化参数

System altered

Executed in 0.031 seconds

alter system set db_16k_cache_size=4m

ORA-02097: 无法修改参数,因为指定的值无效

ORA-00384: 没有足够的内存来增加高速缓存的大小

重启机器,使更改生效!

SQL>alter system set db_16k_cache_size=8m;

System altered

SQL>create tablespace test_data_16k
logging
datafile 'f:oracleoradatasdusuntest_data_16k.ora' size 200m
blocksize 16384
extent management local;

Tablespace created

SQL>create table test_16k
(
num number(8,0),
text varchar2(20)
)
tablespace test_data_16k;

Table created

SQL>begin
for i in 1..10000 loop
insert into test_16k
values (i,'insert'||i||'in 16k');
end loop;
end ;

PL/SQL procedure successfully completed

Executed in 0.484 seconds

begin
for i in 10001..20000 loop
insert into test_16k
values (i,'200each '||i||' commit');
if mod(i,200)=199 then
commit;
end if;
end loop;
end;

PL/SQL procedure successfully completed

Executed in 0.547 seconds

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/593324/viewspace-376179/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2005-09-13

  • 博文量
    116
  • 访问量
    118268