zoukankan      html  css  js  c++  java
  • oracle10g 手动创建数据详解(linux)上

      按照惯例,本来在写博文之前先BB几句。一直对数据库不感兴趣,这是我人短板,所以硬着头皮学一下。入门小布老师的oracle视频,前面几节讲结构,启动过程,参数文件,直接把我绕歇菜了。

        oracle通过向导创建自动创建数据库非常简单,根据提示一步一步就OK了。手动创建对于有专业人员必备技能。这过程,现在看来也难(因为没注意细节)。但我花了三个晚上稿定。在此声明一下,本文重在过程,通过这个过程,让你对手动创建有个认识,所以会比较啰嗦。

    -------------本机oracle目录结构------------------------------------------------------------

    ora10

      |--product

        |--admin

          |--ora10

            adump  bdump  cdump  dpdump  pfile  udump

        |--oradate

          |--ora10

        |--10.2.0

          |--db_1

            |--dbs

               spfileora10.ora  init.ora  orapwora10 .....

    ---------------------------------------------------------------------------------------

     了解oracle数据库的创建过程                                                                  

     

    第一步:   指定一个sid 

    这一步简单,给我们的数据库起个名字。

    ORACLE_SID的长度是12,只能使用数字和字母,区分大小写。

     

    第二步:   确保所需要的环境变量的设置

        ORACLE_BASE

        ORACLE_HOME

        ORACLE_SID

        ORA_NLS33

        PATH

        LD_LIBRARY_PATH

     取保ORACLE_HOME  ORACLE_SID两选项是要设置的

     

    [ora10@localhost pfile]$ env | grep ORA   查看环境变量

    ORACLE_SID=ora10

    ORACLE_BASE=/ora10/product

    ORACLE_HOME=/ora10/product/10.2.0/db_1

     

    [ora10@localhost ~]$ vi  .bash_profile   查看你本机具体环境的设置

    # .bash_profile

    # Get the aliases and functions

    if [ -f ~/.bashrc ]; then

            . ~/.bashrc

    fi

    # User specific environment and startup programs

    PATH=$PATH:$HOME/bin

    export PATH

    export ORACLE_BASE=/ora10/product

    export ORACLE_HOME=$ORACLE_BASE/10.2.0/db_1

    export ORACLE_SID=ora10

    export LD_LIBRARY_PATH=$ORACLE_HOME/jdk/fre/lib/i386:$ORACLE_HOME/jdk/jre/lib/i386/server:$ORACLE_HOME/rdbms/lib:$ORACLE_HOME/lib:$LD_LIBRARY_PATH

    export PATH=$ORACLE_HOME/bin:$PATH 

    export NLS_LANG=American_America.ZHS16GBK

     

    [ora10@localhost dbs]$ touch  chongshi.env  创建一个chongshi.env文件

    [ora10@localhost dbs]$ vi chongshi.env   编辑

    ORACLE_BASE=/ora10/product

    ORACLE_HOME=$ORACLE_BASE/10.2.0/db_1

    ORACLE_SID=chongshi

          提示上面的环境有配置,根据你机子原先的配置进行。其实,你需要修改的就ORACLE_SID其它内容都可以与以前的保持一致。我前面也主过了,只有ORACLE_HOME  ORACLE_SID两个选项是必须设置,以免环境变量设置出现。我们这里就缺省了。所以上面内容比较精简。

    [ora10@localhost dbs]$ chmod  u+x  chongshi.env   给文件加一个可执行权限

    [ora10@localhost dbs]$ ll

    总计 52

    -rwxr--r-- 1 ora10 dba   257 07-17 23:09 chongshi.env

     

    [ora10@localhost dbs]$ . ./chongshi.env   执行文件(前面两个点中间有空格)

    [ora10@localhost dbs]$ env | grep ORA   再次查看我们的环境变量已经被修改了

    ORACLE_SID=chongshi

    ORACLE_BASE=/ora10/product

    ORACLE_HOME=/ora10/product/10.2.0/dba_1

       提示,此处不用环境变量怎么回去,切换到其它用户再切换回来。环境变量又会变成默认的环境变量。当然,你还需要执行. ./chongshi.env 进行修改。

     

    第三步: 选择一个数据库管理员的身份验证方法

    我们这里以oracle组用户直接进放oracle

    [ora10@localhost pfile]$ id     查看本机id

    uid=501(ora10) gid=501(dba) groups=501(dba)

     

    第四步:    创建初始化参数文件

    这里要求我们创建oracle的参数文件pfile/spfile

    pfile/spfile作用

      Oracle通过一系列参数来对数据库进行配置,参数文件就是存放参数的地方,oracle在启动时会从参数中读取相关的配置。

      那么我们如何来配置这个参数文件呢这貌似是oracle玩的非常牛的人才会做的事儿。在我们创建数据库后,oracle会自动帮有生成这些参数。我们所要做的就是把文件创建出来。

    [ora10@localhost dbs]$ touch initchongshi.ora

       根据pfile/spfile的命名规则,你必须要用 init加你设置的sid 

    [ora10@localhost dbs]$ vi  initchongshi.ora

         db_name='chongshi'    -----我们只需要创建这一个参数,其它都可以缺省

     

    第五步 :windows only)创建一表实例

    这一表windows系统才有,由本机试验环境是linux ,所以直接跳过。

     

    第六步 : 和实例进行连接

    这步非常简单,相当于我们进入数据库

    [ora10@localhost dbs]$ sqlplus /nolog

    SQL*Plus: Release 10.2.0.1.0 - Production on Wed Jul 18 00:12:23 2012

    Copyright (c) 1982, 2005, Oracle.  All rights reserved.

    SQL> connect /as sysdba

    Connected to an idle instance.

    如果前面环境变量设置有问题的话, 这里一定会出错。我这里就卡了。又回去把环境变量认真检查了一下。

     

    第七步,创建一个服务器参数文件

    这一步也很简单,紧跟上一步,在进入数据库的状态,输入以下命令创建spfile

    SQL> create spfile from pfile;

    File created.

    SQL> !    //退出sql

    [ora10@localhost dbs]$ ll

    总计 60

    -rwxr--r-- 1 ora10 dba    88 07-18 00:11 chongshi.env

    -rw-rw---- 1 ora10 dba  1544 07-17 21:27 hc_ora10.dat

    -rw-r--r-- 1 ora10 dba    19 07-17 23:33 initchongshi.ora

    -rw-r----- 1 ora10 dba 12920 2001-05-03 initdw.ora

    -rw-r----- 1 ora10 dba  8385 1998-09-11 init.ora

    -rw-rw---- 1 ora10 dba    24 06-18 23:29 lkORA10

    -rw-r----- 1 ora10 dba  1536 06-18 23:32 orapwora10

    -rw-r----- 1 ora10 dba  2560 07-16 21:02 orapwtest

    -rw-r----- 1 ora10 dba  1536 07-18 21:10 spfilechongshi.ora

    -rw-r----- 1 ora10 dba  3584 07-17 22:00 spfileora10.ora

      通过pfile(initchongshi.ora)文件生成spfile(spfilechongshi.ora)文件!

      其实,这一步和第四步类似,都是创建启动文件。可以缺省。对后续无影响。但是,oracle推荐你创建,如果你这里创建的话,新生成的数据库使用spfile,不创建使用pfileSpfilepfile有什么区别。新旧区别,新的但然比旧的好。

     

    第八步: 启动实例

    [ora10@localhost dbs]$ exit  

    exit

    SQL> startup nomount   启动数据库

    ORACLE instance started.

    Total System Global Area  113246208 bytes

    Fixed Size                  1218004 bytes

    Variable Size              58722860 bytes

    Database Buffers           50331648 bytes

    Redo Buffers                2973696 bytes

    SQL>

    这个时候,我们后台数据库并没有启动。那我打入startup nomount 命令其实读取的是spfilechongshi.ora 文件的内容,由此看出。上一步必不可少。呵呵!

     

    第九步:发出创建数据库语句

       这一步创建数据库,还是一句命令搞定。需要注意的,这里创建的数据库名字与第四步创建的参数文件里设置的名字一致。

    [ora10@localhost dbs]$ cat initchongshi.ora 

    db_name='chongshi'

    [ora10@localhost dbs]$ exit

    exit

    SQL> create database  chongshi;

    创建文件比较大,会有点慢,请耐心等一下!

    [ora10@localhost dbs]$ ll

    总计 188628

    -rwxr--r-- 1 ora10 dba       88 07-18 00:11 chongshi.env

    -rw-r----- 1 ora10 dba   6078464 07-18 21:39 cntrlchongshi.dbf

    -rw-r----- 1 ora10 dba  81928192 07-18 21:39 dbs1chongshi.dbf

    -rw-rw---- 1 ora10 dba     1544 07-18 22:03 hc_chongshi.dat

    -rw-rw---- 1 ora10 dba     1544 07-17 21:27 hc_ora10.dat

    -rw-r--r-- 1 ora10 dba       19 07-17 23:33 initchongshi.ora

    -rw-r----- 1 ora10 dba    12920 2001-05-03 initdw.ora

    -rw-r----- 1 ora10 dba     8385 1998-09-11 init.ora

    -rw-rw---- 1 ora10 dba       24 07-18 21:39 lkCHONGSHI

    -rw-rw---- 1 ora10 dba       24 06-18 23:29 lkORA10

    -rw-r----- 1 ora10 dba 52429312 07-18 21:39 log1chongshi.dbf

    -rw-r----- 1 ora10 dba 52429312 07-18 21:39 log2chongshi.dbf

    -rw-r----- 1 ora10 dba     1536 06-18 23:32 orapwora10

    -rw-r----- 1 ora10 dba     2560 07-16 21:02 orapwtest

    -rw-r----- 1 ora10 dba     1536 07-18 21:10 spfilechongshi.ora

    -rw-r----- 1 ora10 dba     3584 07-17 22:00 spfileora10.ora

    上面列表中标红的就是我们创建的数据库

     ============================================小隔开一下===========================

      OK!通过上面简单的几步,我们已经完整的创建了一个数据库,由于我们设置的太简单了。这个数据库基本是不能用的。麻雀虽然小,步骤很全。

    手工创建数据库的难点就是第四步第九步

     第四步,因为我上面的pfile文件设置太过简单。第九步,创建一下比较实用的数据库也不是那么简单一下命令就稿定的。

       所以把我们创建的几个文件干掉,重新再来。哈哈!你怒了?

    cntrlchongshi.dbf

    dbs1chongshi.dbf

    log1chongshi.dbf

    log2chongshi.dbf

    initchongshi.ora

    spfilechongshi.ora

         不要生气,根据上面步骤的操作,我们大概已经知道了手动创建一个数据库的过程。下面我们只要集中精力解决第四步与第九步就行。这个我话下一节中介绍。

  • 相关阅读:
    C语言中 指针和数组
    C语言中 指针与结构体
    void指针、NULL指针和未初始化指针
    C语言中 指针、引用和取值

    别--------
    快速开发 jQuery 插件的 10 大技巧(转)
    采用预取(Prefetch)来加速你的网站(转)
    HttpWatch工具简介及使用技巧(转)
    iScroll框架的使用和修改
  • 原文地址:https://www.cnblogs.com/fnng/p/2600167.html
Copyright © 2011-2022 走看看