手动建库(简单的单实例库)

前几天看小布的手动建库视频,自己也尝试了一下。结果各种悲剧。记录如下:

明确手动建库的步骤:

Creating a Database with the CREATE DATABASE Statement

2,按照步骤设置环境变量,主要的变量有ORACLE_HOME,ORACLE_SID,ORACLE_BASE。为了不影响之前的库,     把这些变量放到 一个可执行文件bbk.env中,这样在安装新库的时候,只用改session的环境变量,而不影响 整个系统的。这个文件的执行是 ".空格./bbk.eng"。注意执行命令是“点,空格,点,杠,文件名”。
bbk.env的内容是:

export PATH ORACLE_SID=bbk
ORACLE_BASE=/u01
ORACLE_HOME=$ORACLE_BASE/oracle
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID ORACLE_BASE ORACLE_HOME LD_LIBRARY_PATH PATH DISPLAY
4,创建pfile,我是直接复制的上一个库的pfile,并把做了一些修改。这里注意ORACLE_SID要和db_name一致。
     
     sam库的initsam.ora
sam.__db_cache_size=67108864
sam.__java_pool_size=4194304
sam.__large_pool_size=4194304
sam.__oracle_base='/u01'#ORACLE_BASE set from environment sam.__pga_aggregate_target=67108864
sam.__sga_target=201326592
sam.__shared_io_pool_size=0
sam.__shared_pool_size=117440512
sam.__streams_pool_size=4194304
*.audit_file_dest='/u01/admin/sam/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0' *.control_files='/u01/oradata/sam/control01.ctl','/u01/flash_recovery_area/sam/control02.ctl' *.db_block_size=8192
*.db_domain=''
*.db_name='sam'
*.db_recovery_file_dest='/u01/flash_recovery_area'
*.db_recovery_file_dest_size=4039114752
*.diagnostic_dest='/u01'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=samXDB)'
*.open_cursors=300
*.pga_aggregate_target=66060288
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=198180864
    bbk的initbbk.ora
bbk.__db_cache_size=67108864
bbk.__java_pool_size=4194304
bbk.__large_pool_size=4194304
bbk.__oracle_base='/u01'#ORACLE_BASE set from environment bbk.__pga_aggregate_target=67108864
bbk.__sga_target=201326592
bbk.__shared_io_pool_size=0
bbk.__shared_pool_size=117440512
bbk.__streams_pool_size=4194304
*.audit_file_dest='/u01/admin/bbk/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0' *.control_files='/u01/oradata/bbk/control01.ctl','/u01/flash_recovery_area/bbk/control02.ctl' *.db_block_size=8192
*.db_domain=''
*.db_name='bbk'
*.db_recovery_file_dest='/u01/flash_recovery_area'
*.db_recovery_file_dest_size=4039114752
*.diagnostic_dest='/u01'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=bbkXDB)'
*.open_cursors=300
*.pga_aggregate_target=66060288
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=198180864
 6,连接实例
sqlplus /nolog
SQL> conn /as sysdba
7,创建spfile。其实这里可以不创建spfile,而用pfile直接启动。
SQL> create spfile from pfile;
8,启动实例。 因为是创建数据库,所以要在nomount状态下执行。
    SQL>startup nomount
    从这里悲剧开始了:
    startup nomount时出现错误:
ORA-09925: Unable to create audit trail file
Linux Error: 2: No such file or directory
既然提示的是no file,则可能是OS中没有在initpfile.ora提到的目录,或文件,于是到这些目录中去验证是否有这些目录。发现是有这些目录的。又想到,会不会是这些目录的用户、用户组不是oracle,oinstall。ll后发现,这些目录真的不在oracle用户下,用户组也不是oinstall。那就赋权呗! 再次startup nomount 成功!

9,执行create database命令。这个命令我用的是联机文档中的example 1,并对各个文件的大小作出了一定修改(正式这些修改又让我慌了半天)。命令如下:

CREATE DATABASE bbk
   USER SYS IDENTIFIED BY sys_password
   USER SYSTEM IDENTIFIED BY system_password
   LOGFILE GROUP 2 ('/u01/oradata/bbk/redo01a.log','/u01/oradata/bbk/redo01b.log') SIZE 10M BLOCKSIZE 512,        
   MAXLOGFILES 5
   MAXLOGMEMBERS 5
   MAXLOGHISTORY 1
   MAXDATAFILES 100
   CHARACTER SET US7ASCII
   NATIONAL CHARACTER SET AL16UTF16
   EXTENT MANAGEMENT LOCAL
   DATAFILE '/u01/oradata/bbk/system01.dbf' SIZE 50M REUSE
   SYSAUX DATAFILE '/u01/oradata/bbk/sysaux01.dbf' SIZE 32M REUSE
   DEFAULT TABLESPACE users
      DATAFILE '/u01/oradata/bbk/users01.dbf'
      SIZE 50M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
   DEFAULT TEMPORARY TABLESPACE tempts1
      TEMPFILE '/u01/oradata/bbk/temp01.dbf'
      SIZE 20M REUSE
   UNDO TABLESPACE undotbs
      DATAFILE '/u01/oradata/bbk/undotbs01.dbf'
      SIZE 20M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
这一步也没有报错。
11,执行脚本:
@?/rdbms/admin/catalog.sql
@?/rdbms/admin/catproc.sql
@?/sqlplus/admin/pupbld.sql
执行完这三个脚本,等我重新startup的时候,开始报错了。
ORA-00704: bootstrap process failure

        ORA-39700: database must be opened with UPGRADE option

那就用upgrade启动呗!

SQL>startup upgrade

这样数据库确实启动了,也能使用。但这不是我想要的。在网上搜的多是说,在数据库升级的时候碰到这种情况,执行

SQL>@?/rdbms/admin/catupgrd.sql
SQL>@?/rdbms/admin/catalog.sql
SQL>@?/rdbms/admin/catproc.sql
SQL>@?/rdbms/admin/utlrp.sql

这几个脚本后,重启数据库就行了。可是我这样干后,就是不行,还是ORA-39700错误。

后来在http://orcl.tistory.com/entry/ORA-00704-bootstrap-process-failure-ORA-39700里发现有这么一句:

Tablespaces: [make adjustments in the current environment]
**********************************************************************
--> SYSTEM tablespace is adequate for the upgrade.
.... minimum required size: 505 MB
我嘞个去。我把system01.dbf改成了50M!!!!!!!!!!! 那就改回来,重新建一次。
这回一路畅通,没错了。





























猜你喜欢

转载自zzwssfd.iteye.com/blog/1612465