创建非标准表空间的方法

oracle创建表空间相关的参数为bd_block_size 默认的大小即标准的大小,我们如果不指定具体的大小,所创建的表空间的数据块即可db_block_size 所指定的大小进创建的。

如下例:

create tablespace  tbs_cb9
datafile '/opt/oracle/oradata/orcl/users09.dbf' size 10M;

当我们创建非标准块的表空间时,如果没有设置db_nk_cache_size 的大小,创建表空间时会报错误.ora-29339,相关描述的意思表空间的数据块大小也配置文件不匹配。一般我们有两种方法进行解决.

查看系统默认的db_block_size大小;

show parameter db_block_size;

db_block_size                        integer     8192

;

create tablespace  tbs_cb8
datafile '/opt/oracle/oradata/orcl/users08.dbf' size 10M
blocksize 16k

;

由于我们创建的块大小与系统默认的块大小不一致会报ora-29339

方法1.

如果我们是以spfile方式启动数据库的,我们只需要对执行以下命令即可.由于本系统默认块的大小为8K,所以我以16为例创建一个非标准的表空间.

alter system  set db_16K_cache_size = 20M scope = both ;

方法2.

如果我们是以pfile方式启动数据库的,

a.关闭数据库

shutdown immediate;

b.在初始化参数据增加(在pfile 里增加,如果show parameter spfile 没有手动创建一个pflle文件进行启动)

db_16K_cache_size = 20M;

c.startup pfile = '路径';

请参照下面说明进行操作.

(  

spfile和pfile都是数据库的参数文件,pfile是到8i为止的主要参数文件,从9i开始,Oracle采用了一个spfile文件,这种文件不像pfile,它是一个不能用文本编辑器编辑的二进制文件,而pfile则可以直接用notepad编辑。这样做的好处当然是提高了安全性。


    数据库在启动时,调用参数文件的顺序为:
1)spfile

2)pfile
    一般配置中不指定用PFILE文件启动的话默认都是以SPFILE文件启动,可以通过下面的指令来查看是以pfile还是spfile启动,如果isspecified里有true,表明用spfile进行了指定配置,如果全为false,则表明用pfile启动。

select isspecified,count(*) from v$spparameter group by isspecified;

    上述2个文件所在目录可以通过show parameter pfile|spfile 查看,不过用pfile和spfile查出来的都是同一个参数,因为一次只能用一个参数文件。

SQL> show parameters spfile
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      E:/ORACLE/PRODUCT/10.2.0/DB_1/DBS/SPFILESQDSS.ORA

SQL> show parameters pfile
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      E:/ORACLE/PRODUCT/10.2.0/DB_1/DBS/SPFILESQDSS.ORA

 

由于SPFILE是二进制,无法直接修改,可以通过以下步骤来实现:

1)备份好原始的SPFILE和PFILE文件;

2)利用SPFILE生成PFILE:

   SQL> create pfile from spfile;

   SQL> create pfile = '路径' from spfile;

3)修改PFILE文件,所要修改的参数名称如果记不住可以使用show parameters来查看;

4)指定PFILE启动数据库,查看修改的参数是否启用

   SQL>shutdown immediate;

   SQL>startup pfile='f:/此处为放置PFILE的目录/initSID.ora';

   此处如果PFILE在默认目录则不用加路径,直接文件名即可。

5)数据库启动后用show parameters查看修改的参数是否生效,如果生效继续下一步,否则检查重复前面步骤;

6)用PFILE生成SPFILE,指令为:

   SQL>create spfile from pfile'f:/此处为放置PFILE的目录/initSID.ora';

7)停止数据库,用SPFILE启动:

   SQL>startup;

8)数据库启动后用show parameters查看修改的参数是否生效,如果已经是修改过的值则大功告成,中途每次使用create命令前后注意观察所创建文件的修改时间。

)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值