ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 9i创建非标准BLOCK_SIZE数据库(一)

9i创建非标准BLOCK_SIZE数据库(一)

原创 Linux操作系统 作者:yangtingkun 时间:2009-05-20 22:55:08 0 删除 编辑

很早之前看到Tom提到,可以创建一个非标准的BLOCK_SIZE的数据库,也就是说数据库的DB_BLOCK_SIZE不在2K4K8K16K32K之中。

一直没有计划测试,今天正好有环境,简单测试了一下。

 

 

9.2环境中,创建一个DB_BLOCK_SIZE10K的数据库:

[oracle@bjtest ~]$ mkdir -p /opt/oracle/admin/test9/bdump
[oracle@bjtest ~]$ mkdir /opt/oracle/admin/test9/udump
[oracle@bjtest ~]$ mkdir /opt/oracle/admin/test9/cdump
[oracle@bjtest ~]$ mkdir /data/oradata/test9
[oracle@bjtest ~]$ export ORACLE_SID=test9

手工编辑初始化参数:

[oracle@bjtest ~]$ vi inittest9.ora

db_name=test9
db_cache_size=256m
log_buffer=2048000
shared_pool_size=200m
large_pool_size=64m
java_pool_size=64m
pga_aggregate_target=128m
undo_management=auto
control_files=/data/oradata/test9/control01.dbf
background_dump_dest=/opt/oracle/admin/test9/bdump
user_dump_dest=/opt/oracle/admin/test9/udump
core_dump_dest=/opt/oracle/admin/test9/cdump
db_block_size=10240
compatible=9.2.0.1.0

注意DB_BLOCK_SIZE的大小是10K

[oracle@bjtest ~]$ sqlplus "/ as sysdba"

SQL*Plus: Release 9.2.0.4.0 - Production on 星期四 5 21 00:52:38 2009

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

已连接到空闲例程。

SQL> startup nomount pfile=inittest9.ora
ORACLE
例程已经启动。

Total System Global Area  657246184 bytes
Fixed Size                   743400 bytes
Variable Size             385875968 bytes
Database Buffers          268435456 bytes
Redo Buffers                2191360 bytes
SQL> CREATE DATABASE test9
  2  DATAFILE '/data/oradata/test9/system01.dbf' SIZE 300m EXTENT MANAGEMENT LOCAL
  3  DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE '/data/oradata/test9/temp01.dbf' SIZE 100m
  4  UNDO TABLESPACE "UNDOTBS1" DATAFILE '/data/oradata/test9/undotbs01.dbf' SIZE 200m
  5  CHARACTER SET ZHS16GBK
  6  NATIONAL CHARACTER SET AL16UTF16
  7  LOGFILE GROUP 1 ('/data/oradata/test9/redo01.log') SIZE 50M,
  8  GROUP 2 ('/data/oradata/test9/redo02.log') SIZE 50M,
  9  GROUP 3 ('/data/oradata/test9/redo03.log') SIZE 50M;

数据库已创建。

SQL> show parameter db_block_size

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_block_size                        integer     10240

最后执行catalog.sqlcatproc.sql,数据库建立完成:

SQL> spo result.txt
SQL> @?/rdbms/admin/catalog.sql
SQL> @?/rdbms/admin/catproc.sql
SQL> spo off

简单提一句,这种非标准BLOCK_SIZE的数据库没有什么实际的意义,而且这种非标准块的数据库无法像其他数据库迁移表空间,因为其他数据库上没有办法设置DB_NK_BLOCK_SIZE的值,来加载这个数据库的表空间。

要创建非标准块的数据库,必须设置COMPATIBLE,否则执行会报错:

[oracle@bjtest ~]$ sqlplus "/ as sysdba"

SQL*Plus: Release 9.2.0.4.0 - Production on 星期四 5 21 00:34:49 2009

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

已连接到空闲例程。

SQL> startup nomount pfile=inittest9.ora
ORACLE
例程已经启动。

Total System Global Area  657246184 bytes
Fixed Size                   743400 bytes
Variable Size             385875968 bytes
Database Buffers          268435456 bytes
Redo Buffers                2191360 bytes
SQL> CREATE DATABASE test9
  2  MAXINSTANCES 1
  3  MAXLOGHISTORY 1
  4  MAXLOGFILES 5
  5  MAXLOGMEMBERS 3
  6  MAXDATAFILES 100
  7  DATAFILE '/data/oradata/test9/system01.dbf' SIZE 1024M REUSE AUTOEXTEND ON NEXT  10240K MAXSIZE UNLIMITED
  8  EXTENT MANAGEMENT LOCAL
  9  DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE '/data/oradata/test9/temp01.dbf' SIZE 4096M REUSE AUTOEXTEND ON NEXT  640K MAXSIZE UNLIMITED
 10  UNDO TABLESPACE "UNDOTBS1" DATAFILE '/data/oradata/test9/undotbs01.dbf' SIZE 4096M REUSE AUTOEXTEND ON NEXT  5120K MAXSIZE UNLIMITED
 11  CHARACTER SET ZHS16GBK
 12  NATIONAL CHARACTER SET AL16UTF16
 13  LOGFILE GROUP 1 ('/data/oradata/test9/redo01.log') SIZE 512M,
 14  GROUP 2 ('/data/oradata/test9/redo02.log') SIZE 512M,
 15  GROUP 3 ('/data/oradata/test9/redo03.log') SIZE 512M;
CREATE DATABASE test9
*
ERROR
位于第 1 :
ORA-01092: ORACLE
例程终止。强行断开连接

alert文件中可以看到错误信息:

Errors in file /opt/oracle/admin/test9/udump/test9_ora_26099.trc:
ORA-01501: CREATE DATABASE ??
ORA-00406: COMPATIBLE ????? 9.2.0.0.0 ???
Thu May 21 00:35:18 2009
Error 406 happened during db open, shutting down database
USER: terminating instance due to error 406
Instance terminated by USER, pid = 26099
ORA-1092 signalled during: CREATE DATABASE test9
MAXINSTANCES 1
MAXLOGHISTORY...

也就是说建立非标准的块的数据库要求兼容性必须大于9.2

 

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

请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2007-12-29

  • 博文量
    1955
  • 访问量
    10540197