日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

oracle为什么要创建数据库,手动创建Oracle数据库之前因后果

發布時間:2023/12/19 数据库 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle为什么要创建数据库,手动创建Oracle数据库之前因后果 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

對于許多數據庫管理員來說,究

竟是不是一個難以管理和駕馭的怪獸級數據庫,會不會讓他們管理生涯飽受折磨?當看到其命令行界面時,很多人會問這么一個問題。如果你想通過一個應用程序操

控使用這個數據庫,那么你應當是一名終端用戶;因此對這類人而言,界面越透明當然越好,而命令行界面顯然不夠理想。而如果你想成為精通數據庫的技術員,成

為排除數據庫故障的檢修員,成為當大家碰到數據庫難題時會向他求助的萬能先生的話,你就不能嫌臟怕累,而要不辭勞苦地深入了解數據庫的結構和機理,這樣你

才能知道數據庫到底怎么運作,發生了什么問題。命令行界面正是你需要適應并了解的東西。

為什么要手動創建數據庫?

創建數據庫也應該是你要深入了解的內容之一。當然,Oracle本身提供有圖形用戶界面工具可以幫助用戶出色地完成這項任務。但是如果失敗了

呢?如果你在創建的過程中出現了警告或錯誤信息呢?這時候你應當怎么辦?你是否想知道在這些信息背后到底是哪里出了問題?你是否想要更進一步了解

Oracle在數據庫創建的過程中到底是怎么變的戲法嗎?來手動創建一次數據庫,相信就能為你闡明一切。

當你手動創建一個數據庫時,你就要在sqlplus提示符下輸入指令。通常情況下你需要將這些指令添加到一個sql腳本,隨后從sqlplus

調用這個腳本。假設所有的路徑和選項都正確,設定的大小可用,而且在數據庫創建過程中沒有達到容量的極限的話,那么整個創建過程應當順利運行。而且,如果

你開發了一個想要部署到Oracle數據庫商的應用程序,你的應用程序也可以提供一份數據庫創建腳本,按照你設定的方式來運行。

什么時候使用手動方法創建數據庫?

顯然,當你第一次學習Oracle時,你應當使用手動方法來創建數據庫。一旦你完全理解其中的奧妙,你就可以考慮使用圖形用戶界面來簡化你的工

作。不過,如果你想控制文件的命名規范,建議你還是堅持使用手動方法。此外,當有新版本的Oracle數據庫發布時,一定要通過手動方法檢查一下有什么新

選項添加到了創建數據庫的語法當中。那如果你要創建一大堆特征相似的數據庫呢?這種時候,手動創建的方法更具有吸引力,因為這樣能夠減少我們的工作量。

如何手動創建數據庫

首先我們把我們要創建的數據命名為DBJ。接著,至少你得給DBJ設置OCLE_D環境變量,編輯initDBJ.ora,添加如下腳本:

db_name=DBJ

然后啟動sqlplus,發布如下指令:

SQL> startup nomount;

SQL> create ;

Oracle會為所需要的所有參數設置一些默認值,例如應當將數據文件、控制文件放在哪里,分配多少內存等,然后啟動實例,不掛載任何文件。創

建數據庫指令(create database)將要求Oracle創建一個數據庫,這個數據庫帶有最小系統和sysaux表空間等默認設置。

不過現實中,我們可能想要指定很多其他的選項。下面我們來看看現實中創建Oracle數據庫腳本更真實的例子:

connect?/?as?sysdba;

startup?nomount;

EATE?ABASE?"dbj"

DFILE

'/u01/oradata/sysdbj01.dbf'?size?500M

SYSAUX?DATILE

'/u01/oradata/auxdbj01.dbf'?size?500M

UNDO?TABLESPACE?dbjundo?DATAFILE

'/u01/oradata/unddbj01.dbf'?size?250M

LOGFILE

'/u02/oradata/rdodbj01.dbf'?size?10M,

'/u02/oradata/rdodbj02.dbf'?size?10M

CHATER?SET?"WE8ISO8859P1"

IONAL?CHARACTER?SET?"UTF8"

EXTE?MANAGEMENT?LOL

DEFAULT?TEMPORARY?TABLESPACE?mytemp?TEMPFILE

'/u01/oradata/tmpdbj01.dbf'?SIZE?500M

NRCHIVELOG

MAXDATAFILES?1000

MAXLOGFILES?10;

#?create?the?rest?of?the??dictionary

@?/rdbms/admin/.sql

@?/rdbms/admin/catproc.sql

詳解創建的各階段

當我們發布“startup

nomount”的指令時,我們是讓Oracle以一種不同于平常使用的方式啟動。不同在哪里呢?我們讓Oracle。其實,我們讓Oracle只啟動實

例,而不安裝數據庫,也不打開數據庫,并啟動所有的后臺進程,并為系統全局區域(SGA)分配內存。為什么不啟動數據庫?因為在現階段我們還沒有一個可以

掛載的數據庫,也就是以一個有效形式存在的數據文件集合。

當我們發出“create

database”指令的時候,Oracle將創建系統表空間、sysaux表空間、undo表空間和臨時表空間,并為該數據庫設置字符集。也就是設置數

據文件的頭信息,表明我們想要創建本地管理表空間,還有就是設置歸檔或非歸檔模式。一旦這些都完成了,Oracle就會運行一個名為sql.bsq的神奇

文件。建議大家看看這個文件的內容,會很有趣且很有用。這是Oracle的自舉代碼(bootstrapping

code),可以供我們查看并了解其中內容。我們可以在$ORACLE_HOME/rdbms/adminsql.bsq目錄中找到這個sql.bsq文

件。注意,這個文件會隨著版本的不同而有所改變,所以定期查看一下其中的變化很能說明一些問題。

這個運行之后,就是創建Oracle數據字典了。catalog.sql和catproc.sql只是在真正的數據字典上創建有用的視圖以及每個Oracle數據庫都需要有的各種存儲過程、包和函數。

結論

手動創建數據庫并不是一件只和命令行打交道的乏味單調的苦差事,它可以很有趣也可以很有意義。深入了解Oracle數據庫創建的過程有助于你理解數據庫

的內部運作原理,讓我們可以了解構成每個Oracle數據庫方方面面的元素。在這個過程中,我們可以了解更多關于init.ora、Oracle所倚賴的

自舉腳本、數據字典的創建機制以及實例和數據庫之間的區別等等重要的知識。

FROM:IT專家網

總結

以上是生活随笔為你收集整理的oracle为什么要创建数据库,手动创建Oracle数据库之前因后果的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。