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

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

 

明确手动建库的步骤:

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!!!!!!!!!!! 那就改回来,重新建一次。
这回一路畅通,没错了。





























 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值