我是一个学生,最近在学习Oracle,手动建库时出现问题,请各位指教。
参照网上的手动建库的步骤:
1、创建初始化参数文件
2、设置环境变量oracle_sid
3、创建实例
4、创建口令文件
5、启动数据库到nomount状态
6、执行建库脚本——到这就出错了。
我执行了放在E盘根目录下的建库脚本 *.sql 文件时在屏幕上实现是一个数字14,如下
SQL>start E:\*.sql
   14
到这就什么都不显示了,我不知道为什么,敲下回车后有再次显示“SQL> ”,然后我按照后面的步骤创建数据字典,一大堆错误。我知道是执行建库脚本的时候出错了,我不知道是原因,请各位执教,谢谢了。。

解决方案 »

  1.   

    不好意思,我忘记把这两个文件贴出来了。
    初始化参数:
    ###########################################
    # Database Identification
    ###########################################
    db_domain=com
    db_name=Atm
    ###########################################
    # File Configuration
    ###########################################
    control_files=("E:\oracle\product\10.1.0\oradata\Atm\control01.ctl", "E:\oracle\product\10.1.0\oradata\Atm\control02.ctl", "E:\oracle\product\10.1.0\oradata\Atm\control03.ctl")
    db_recovery_file_dest=E:\oracle\product\10.1.0\flash_recovery_area
    db_recovery_file_dest_size=2147483648
    ###########################################
    # System Managed Undo and Rollback Segments
    ###########################################
    undo_management=AUTO
    undo_tablespace=UNDOTBS1
    ###########################################
    # Diagnostics and Statistics
    ###########################################
    background_dump_dest=E:\oracle\product\10.1.0\admin\Atm\bdump
    core_dump_dest=E:\oracle\product\10.1.0\admin\Atm\cdump
    user_dump_dest=E:\oracle\product\10.1.0\admin\Atm\udump
    以上是初始化参数,我贴上了修改过的部分,其他的部分我都没动过。下面是建库脚本:
    Create database Atm
    datafile 'E:\oracle\product\10.1.0\oradata\Atm\system01.dbf' size 300M reuse autoextend on next 10240K maxsize unlimited
    extent management local
    sysaux datafile 'E:\oracle\product\10.1.0\oradata\Atm\sysaux01.dbf'
    size 120M reuse autoextend on next 10240K maxsize unlimited
    default temporary tablespace temp
    tempfile 'E:\oracle\product\10.1.0\oradata\Atm\temp01.dbf' size 20M reuse autoextend on next 640K maxsize unlimited
    undo tablespace "UNDOTBS1"
    datafile 'E:\oracle\product\10.1.0\oradata\Atm\undotbs01.dbf' size 200M reuse autoextend on next 5120K maxsize unlimited
    logfile
    group 1 ('E:\oracle\product\10.1.0\oradata\Atm\redo01.log') size 10240K,
    group 2 ('E:\oracle\product\10.1.0\oradata\Atm\redo02.log') size 10240K,
    group 3 ('E:\oracle\product\10.1.0\oradata\Atm\redo03.log') size 10240K请问我这样写有问题吗?,基本都是从其他数据库中拷过来的,基本没怎么动过。
      

  2.   

    为什么不使用DBCA(Database configuration assistant)来建,在过程中可以控制所有需要的参数的。
      

  3.   

    楼上的师兄,我知道用DBCA很方便,可是我想试试手动,因为我现在多数都是在linux上操,这次在XP上操作知识要实现一个MFC的程序,所以在这里请教了,如果各位如何手动建库,还请赐教。尤其是细节上,谢谢了
      

  4.   


    手动创建ORACLE数据库 
    平台:Win Server 2003
    数据库版本:10.1.0.2.0 Oracle 10g Release 1
    1.创建数据库实例,实例名为testdb(只是Windows平台需要,Unix平台不需要)
    C:\WINDOWS>oradim -new -sid testdb
    Instance created.
    2.为了sys用户可以连入数据库执行操作,先创建数据库的密码文件,密码文件的名称必须为PWDsid.ora
    C:\WINDOWS>orapwd password=oracle file=E:\oracle\product\10.1.0\db_1\database\PWDtestdb.ora
    3.创建下列目录,以存放数据文件和dump信息
    #数据文件目录
    E:\oracle\product\10.1.0\oradata\testdb
    #background dump目录
    E:\oracle\product\10.1.0\oradata\testdb\bdump
    #core dump目录
    E:\oracle\product\10.1.0\oradata\testdb\cdump
    #user dump目录
    E:\oracle\product\10.1.0\oradata\testdb\udump
    4.在listener.ora中添加下列信息,把此数据库注册在监听器中(可选)
    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = testdb)
          (ORACLE_HOME = E:\oracle\product\10.1.0\db_1)
          (service= testdb)
        )
      )5.为了可以访问数据库,在tnsnames.ora添加下列信息TESTDB =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = hengtian-98510d)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = testdb)
        )
      )6.建立pfile文件E:\oracle\product\10.1.0\admin\testdb\pfile\init testdb.ora,文件的内容如下:
    ##############################################################################
    # Copyright (c) 1991, 2001, 2002 by Oracle Corporation
    ##############################################################################
     
    ###########################################
    # Job Queues
    ###########################################
    job_queue_processes=10
     
    ###########################################
    # Shared Server
    ###########################################
    dispatchers="(PROTOCOL=TCP) (SERVICE=testdbXDB)"
     
    ###########################################
    # Miscellaneous
    ###########################################
    compatible=10.1.0.2.0
     
    ###########################################
    # Security and Auditing
    ###########################################
    remote_login_passwordfile=EXCLUSIVE
     
    ###########################################
    # Sort, Hash Joins, Bitmap Indexes
    ###########################################
    pga_aggregate_target=25165824
    sort_area_size=65536
     
    ###########################################
    # Database Identification
    ###########################################
    db_domain=""
    db_name=testdb
     
    ###########################################
    # File Configuration
    ###########################################
    control_files=("E:\oracle\product\10.1.0\oradata\testdb\control01.ctl", "E:\oracle\product\10.1.0\oradata\testdb\control02.ctl", "E:\oracle\product\10.1.0\oradata\testdb\control03.ctl")
    db_recovery_file_dest=E:\oracle\product\10.1.0\flash_recovery_area
    db_recovery_file_dest_size=2147483648
     
    ###########################################
    # Pools
    ###########################################
    java_pool_size=50331648
    large_pool_size=8388608
    shared_pool_size=83886080
     
    ###########################################
    # Cursors and Library Cache
    ###########################################
    open_cursors=300
     
    ###########################################
    # System Managed Undo and Rollback Segments
    ###########################################
    undo_management=AUTO
    undo_tablespace=UNDOTBS1
     
    ###########################################
    # Diagnostics and Statistics
    ###########################################
    background_dump_dest=E:\oracle\product\10.1.0\admin\testdb\bdump
    core_dump_dest=E:\oracle\product\10.1.0\admin\testdb\cdump
    user_dump_dest=E:\oracle\product\10.1.0\admin\testdb\udump
     
    ###########################################
    # Processes and Sessions
    ###########################################
    processes=150
     
    ###########################################
    # Cache and I/O
    ###########################################
    db_block_size=8192
    db_cache_size=25165824
    db_file_multiblock_read_count=16
     7.连入数据库,并创建spfile文件
    C:\WINDOWS>set ORACLE_SID=testdb
    C:\WINDOWS>sqlplus "sys/123 as sysdba"
    SQL*Plus: Release 10.2.0.1.0 - Production on Sun Apr 20 21:17:42 2008
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    Connected to an SQL instance.
    SQL>create spfile from pfile=’ E:\oracle\product\10.1.0\admin\testdb\pfile\inittestdb.ora’;
    File created.
    8.启动数据库到nomount
    SQL>startup nomount
    ORACLE instance started.
    Total System Global Area  167772160 bytes
    Fixed Size                  1247924 bytes
    Variable Size             104858956 bytes
    Database Buffers           54525952 bytes
    Redo Buffers                7139328 bytes
    SQL>
    9.执行creata database脚本
    SQL>@ E:\oracle\product\10.1.0\createDB.sql
    Database created.
    #createdb.sql脚本的具体内容如下:
    CREATE DATABASE testdb
    MAXLOGFILES 5
    MAXLOGMEMBERS 5
    MAXLOGHISTORY 1
    MAXDATAFILES 100
    MAXINSTANCES 1
    user sys identified by oracle
    user system identified by oracle
    LOGFILE GROUP 1 ('E:\oracle\product\10.1.0\oradata\testdb\redo01.log') SIZE 10M REUSE,
    GROUP 2 ('E:\oracle\product\10.1.0\oradata\testdb\redo02.log') SIZE 10M REUSE,
    GROUP 3 ('E:\oracle\product\10.1.0\oradata\testdb\redo03.log') SIZE 10M REUSE
    DATAFILE 'E:\oracle\product\10.1.0\oradata\testdb\system01.dbf' SIZE 250M REUSE
    extent management local
    SYSAUX DATAFILE 'E:\oracle\product\10.1.0\oradata\testdb\sysaux01.dbf' SIZE 240M REUSE
    DEFAULT TEMPORARY TABLESPACE tempts1
    TEMPFILE 'E:\oracle\product\10.1.0\oradata\testdb\temp01.dbf'
    SIZE 20M REUSE
    UNDO TABLESPACE undotbs1
    DATAFILE 'E:\oracle\product\10.1.0\oradata\testdb\undotbs01.dbf'
    SIZE 50M REUSE
    CHARACTER SET ZHS16GBK
    NATIONAL CHARACTER SET AL16UTF16; 
    10.执行catalog.sql,创建数据库的数据字典视图
    SQL>spool E:\catalog.log
    SQL>@ E:\oracle\product\10.1.0\db_1\RDBMS\ADMIN\catalog.sql
    SQL>spool off
    11.执行catproc.sql,创建执行PL/SQL程序所需的所有包
    SQL>spool E:\catproc.log
    SQL>@ E:\oracle\product\10.1.0\db_1\RDBMS\ADMIN\catproc.sql
    SQL>spool off
    还需要执行这个脚本:create user出来的user登录会有warning:
    Use system Login, and execute ppbld.sql.
    sql>@ E:\oracle\product\10.1.0\db_1\sqlplus\admin\ppbld.sql;到此数据库abc创建完毕,可以正常使用了
    注:
    1.pfile文件中undo_tablespace中的名字必需与create database中的相同,否则会出现ORA-01092:ORACLE instance terminated.Disconnection forced的错误。
    2.数据字典视图不是都由catalog.sql创建,部分由catproc.sql创建,如:dba_data_files以前学习的时候参考并修改的手册,你可以看看。
      

  5.   

    文件看起来没有问题,
    怎么会没有任何错误信息呢?
    你必要的相关目录都创建了吗?如果创建了,bdump目录下应该有alert_xxx.log文件,看下!
      

  6.   

    使用DBCA(Database configuration assistant)来建,在过程中可以控制所有需要的参数的。