zoukankan      html  css  js  c++  java
  • 手工创建oracle数据库

    注意:蓝色字体为创建数据库过程中要执行的各种命令。红色为在实践中可能需要修改的内容及提示。绿色字体为用到的文件中内容。

    手工建库比起使用DBCA建库来说,是比较麻烦的,但是如果我们学好了手工建库的话,就可以使我们更好地理解Oracle数据库的体系结构。

    下面,我将具体地把以上的几个步骤用实验展开来讲。

    Oracle的安装路径:D盘     创建的数据库名称:sm

    (下文中关于路径及数据名称请在试验中相应修改)

    1、打开命令行工具,创建必要有相关目录

    C:\>mkdir D:\oracle\product\10.2.0\admin\sm

    C:\>mkdir D:\oracle\product\10.2.0\admin\sm\bdump

    C:\>mkdir D:\oracle\product\10.2.0\admin\sm\udump

    C:\>mkdir D:\oracle\product\10.2.0\admin\sm\cdump

    C:\>mkdir D:\oracle\product\10.2.0\admin\sm\pfile

    C:\>mkdir D:\oracle\product\10.2.0\admin\sm\create

    C:\>mkdir D:\oracle\product\10.2.0\oradata\sm

    上面创建目录的过程也可以在Windows的图形界面中去创建。其中:

    D:\oracle\product\10.2.0\admin\sm目录下的几个子目录主要用于存放数据库运行过程中的跟踪信息。最重要的两上子目录是bdump和udump目录,bdump目录存放的是数据库动行过程中的各个后台进程的跟踪信息,当中alert文件是警告文件,其文件名称为alert_sm.log,当数据库出现问题时,首先就可以去查看此文件以找出原因,手工创建过程中出现的各种问题往往也可以通过查看这个文件找到原因。Udump目录存放和特定会话相关的跟踪信息。

    D:\oracle\product\10.2.0\oradata\sm目录存放各种数据库文件,包括控制文件、数据文件、重做日志文件。

    2、创建初始化参数文件

    数据库系统启动时须要用初始化参数文件的设置分配内存、启动必要的后台进程的。因此,初始化参数文件创建的是否正确、参数设置是否正确关系着整个建库的“命运”。

    创建初始化参数文件可以通过拷贝现在的初始化参数文件并将其做适当的修改即可,从而不必要用手工去一句一句地写出来,因为初始化参数文件的结构体系基本上都是一样的。在我们安装Oracle的时候,系统已经为我们安装了一个名为orcl的数据库,于是我们可以从它那里得到一份初始化参数文件。打开D:\oracle\product\10.1.0\admin\orcl\pfile,找到init.ora开头文件,把它拷贝到D:\oracle\product\10.1.0\bd_1\databse下,并将其改名为initsm.ora。

    注意:不是拷贝到其它路径。启动实例时会去database目录下寻找初始化文件。使用dbca生产的数据库仅仅在database目录下生成一个导航性的init文件,真正的信息存储在其他位置。

    接着用记事本的方式打开initsm.ora,修改以下的内容:

    db_domain=""

    db_name=sm

    control_files=("D:\oracle\product\10.2.0\oradata\sm\control01.ctl", "D:\oracle\product\10.2.0\oradata\sm\control02.ctl", "D:\oracle\product\10.2.0\oradata\sm\control03.ctl")

    undo_management=AUTO

    undo_tablespace=UNDOTBS1 

    ――注意此处的“UNDOTBS1”要和建库脚步本中对应

    background_dump_dest=D:\oracle\product\10.2.0\admin\sm\bdump

    core_dump_dest=D:\oracle\product\10.2.0\admin\sm\cdump

    user_dump_dest=D:\oracle\product\10.2.0\admin\sm\udump

    3、打开命令行,设置环境变量oracle_sid

    C:\>set oracle_sid=sm

    设置环境变量的目地是在默认的情况下,指定命令行中所操作的数据库实例是sm。

    4、创建实例(即后台控制服务)

    C:\>oradim –new –sid sm

    oradim是创建实例的工具程序名称,-new表明执行新建实例,-delete表明执行删掉实例,-sid指定实例的名称。

    5、创建口令文件

    C:\>orapwd file=D:\oracle\product\10.1.0\db_1\database\pwdsm.ora password=smstore entries=2

    orapwd是创建口令文件的工肯程序各称,file参数指定口令文件所在的目录和文件名称,password参数指定sys用户的口令,entries参数指定数据库拥用DBA权限的用户的个数,当然还有一个force参数,相信您不指即明,这里就不再细述。

    请注意,这里的命令要一行输入,中间不得换行,否则会出现不必要的错误。

    口令文件是专门存放sys用户的口令,因为sys用户要负责建库、启动数据库、关闭数据库等特殊任务,把以sys用户的中令单独存放于口令文件中,这样数据库末打开时也能进行口令验证。

    6、启动数据库到nomount(实例)状态

    C:\>sqlplus /nolog

    SQL>connect sys/smstore as sysdba

    ---这里是用sys连接数据库

    已连接到空闲例程

    SQL>startup nomount

    ORACLE 例程已经启动。

    Total System Global Area 319888364bytes

    Fixed Size 453612bytes

    Variable Size 209715200bytes

    Database Buffers 109051904bytes

    Redo Buffers 667648bytes

    SQL>

    7、执行建库脚本

    用记事本编辑如下的内容,并将其保存为文件名任取而后缀名为(*.sql)的SQL脚本,这里保存到E盘根本录下且文件名称为sm.sql。

    Create database sm

    datafile 'D:\oracle\product\10.1.0\oradata\sm\system01.dbf' size 300M reuse autoextend on next 10240K maxsize unlimited

    extent management local

    sysaux datafile 'D:\oracle\product\10.1.0\oradata\sm\sysaux01.dbf'

    size 120M reuse autoextend on next 10240K maxsize unlimited

    default temporary tablespace temp

    tempfile 'D:\oracle\product\10.1.0\oradata\sm\temp01.dbf' size 20M reuse autoextend on next 640K maxsize unlimited

    undo tablespace UNDOTBS1

    datafile 'D:\oracle\product\10.1.0\oradata\sm\undotbs01.dbf' size 200M reuse autoextend on next 5120K maxsize unlimited

    logfile

    group 1 ('D:\oracle\product\10.1.0\oradata\sm\redo01.log') size 10240K,

    group 2 ('D:\oracle\product\10.1.0\oradata\sm\redo02.log') size 10240K,

    group 3 ('D:\oracle\product\10.1.0\oradata\sm\redo03.log') size 10240K

    接着就执行刚建的建库脚本:

    SQL>start E:\sm.sql 或者SQL>run  E:\sm.sql

    8、执行catalog脚本创建数据字典

    SQL>start c:\oracle\product\10.2.0\db_1\rdbms\admin\catalog.sql

    9、执行catproc创建package

    SQL>start D:\oracle\product\10.1.0\db_1\rdbms\admin\catproc.sql

    10、执行pupbld

    PUPBLD.SQL没有执行,它的作用是为SQL*PLUS服务。当在SQL*PLUS中以普通用户身份连接和使用数据库时,工具本身需要使用PRODUCT PROFILE的表和视图,我们需要登录system用户执行该SQL。

    在执行pupbld之前要把当前用户(sys)转换成system,即以system账户连接数据库。因为此数据库是刚建的,所以system的口令是系统默认的口令,即manager。你可以在数据库建好以后再来重新设置此账户的口令。

    SQL>connect system/manager

    SQL>start D:\oracle\product\10.1.0\db_1\sqlplus\admin\pupbld.sql

    11、由初始化参数文件创建spfile文件

    SQL> create spfile from pfile='C:\oracle\product\10.2.0\db_1\database\initsm.ora';

    12、执行scott脚本创建scott模式

    SQL>start D:\oracle\product\10.1.0\db_1\rdbms\admin\scott.sql

    13用以下命令测试数据库创建是否完成

    SQL>select * from scott.emp;

    如果能够看到雇员信息正确显示,就说明数据库建立已完成

    14、配置OEM,使得能够通过浏览器管理和控制数据库

    CD C:\oracle\product\10.2.0\db_1\bin

    Set oracle_sid=book

    emca –repos recreate

    emca –config  dbcontrol db

  • 相关阅读:
    flock对文件锁定读写操作的问题 简单
    hdu 2899 Strange Fuction(二分)
    hdu 2199 Can you solve this equation? (二分)
    poj 3080 Blue Jeans (KMP)
    poj 2823 Sliding Window (单调队列)
    poj 2001 Shortest Prefixes (trie)
    poj 2503 Babelfish (trie)
    poj 1936 All in All
    hdu 3507 Print Article (DP, Monotone Queue)
    fzu 1894 志愿者选拔 (单调队列)
  • 原文地址:https://www.cnblogs.com/xiaoxiangfeizi/p/1955619.html
Copyright © 2011-2022 走看看