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

     不要生氣,根據上面步驟的操作,我們大概已經知道了手動創建一個數據庫的過程。下面我們只要集中精力解決第四步與第九步就行。這個我話下一節中介紹。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM