❶ 一個資料庫有不同的用戶而且每個用戶表也不一樣,那麼在plsql中怎樣用該資料庫的一個用戶
表名和用戶沒有關系,關鍵的一個實例下,不能有相同的表名存在。也就是說Oracle資料庫系統中,可以有多個資料庫,每一個資料庫可以有多個數據表。
同一個資料庫中不能有相同名稱的數據表,但在不同的資料庫中可以有相同的數據表名。
❷ 高分誠心求助!資料庫設計如何實現不同用戶進行不同操作的許可權管理!(資料庫SQL2000+編程語言C#)
我做過類似有許可權管理的系統,表分3個:
第一個表是 許可權表(tb_pope),都有什麼許可權,以你的系統要求,分3個許可權:管理所有學生,管理系學生,本學生。
表列名可以是: ID,popeName,裡面有3條記錄。
1,管理所有學生
2,管理系學生
3,本學生
第二個表是 用戶表(tb_user): ID,userName,age,等等.
第三個表就是 用戶許可權表(tb_userpope): ID,userID,PopeID
登錄時先檢查是否有該用戶名,然後讀取其許可權值,根據許可權操作資料庫 顯示或隱藏 操作的部分。
大致就這樣了。
❸ oracle中不同資料庫不同用戶之間訪問的問題
在用戶組設置下使用的許可權!用滑鼠指向我的電腦——點右鍵管理——本地用戶組和管理——選用戶-在右邊出現你所設置的賬戶,在此設置下賬戶的許可權就可以了!我遇到過你這個問題,就是這樣解決的!
❹ ORACLE資料庫結構的簡介
關於ORACLE資料庫結構的簡介
ORACLE的資料庫結構大家都了解嗎?如果不了解,下面我為大家整理了關於ORACLE資料庫結構簡介的文章,希望能為你提供幫助:
一、物理結構:
1、數據文件:ORACLE資料庫包含若干數據文件,數據文件存儲資料庫數據,包括表、索引等等。數據文件的幾個特點:
1)一個數據文件只允許分配給一個資料庫
2)數據文件可設置為自動擴展
3)一個或多個數據文件構成表空間
在進行資料庫操作的時候,資料庫先從內存尋找要操作的數據,如果沒有找到的話,再從數據文件取出數據放在內存中,然後才對內存中的數據進行相關的操作。操作完的數據並沒有立即寫到數據文件中(這樣減少了磁碟的IO),而是放在內存中,然後由DBWn進程決定何時批量寫入數據文件。
2、控制文件:每一個資料庫都有一個或多個控制文件,控制文件包含了資料庫的物理結構,包括:
1)資料庫名
2)數據文件名及位置
3)重做日誌文件名及位置
4)資料庫的建立時間等等
一般一個資料庫都有若干個控制文件鏡像。資料庫在打開的時候(ALTER
DATABASE OPEN),會讀取控制文件中的信息來打開資料庫。當資料庫的物理結構發生變化的時候,比如增加一個數據文件、一組重做日誌等等,控制文件都會自動地做相應的修改。在資料庫物理結構發生變化後,最好重新備份一下控制文件,用於資料庫恢復。
3、重做日誌文件:重做日誌中記錄了數據的變化。一般一個資料庫都會有兩到三組重做日誌文件。同一日誌組的鏡像最好分布於不同的磁碟上。
4、歸檔日誌:當資料庫啟動歸檔的時候,重做日誌會被自動歸檔到指定的位置。
5、初始化參數文件:包含了資料庫啟動時的配置信息
6、警告和跟蹤日誌文件
1)跟蹤文件:每一個後台進程都有一個單獨的'跟蹤文件,比如當系統發現某一個進程有問題的時候,相關的信息就會寫到相應的跟蹤文件中。可以從資料庫的跟蹤文件來發現和調試資料庫的錯誤。
2)警告文件,也叫警告日誌。是一個特別的跟蹤文件,它記錄著資料庫啟動、運行中的相關信息,它是按時間順序進行記錄的。
7、備份文件
二、邏輯結構
1、表空間:相關邏輯對象的集合。在oracle10g中,在創建資料庫的時候就自動創建了SYSTEM和SYSAUX表空間。
2、數據塊:數據存儲在數據塊中,一個數據塊的大小(DB_BLOCK_SIZE)由操作系統塊來決定。可以指定5種,分別為2K、4K、8K、16K、32K。
3、區:一系列連續的數據塊組成區,區存儲特定類型的數據,比如索引,表等等。
4、段:由一系列區組成段。
1)數據段:對於每一個非聚集表有一數據段,表的所有數據存放在該段。每一聚集有一個數據段,聚集中每一個表的數據存儲在該段中。分區表中的每一個分區有一個數據段,分區中的數據存儲在該段中。
2)索引段:每一個索引有一索引段,存儲索引數據。分區索引中的每一分區有一個索引段。
3)回滾段:用於臨時存儲要撤消的信息,這些信息用於生成讀一致性資料庫信息,在資料庫恢復時使用,回滾未提交的事務。系統回滾段用於處理系統事務,不建議用戶使用系統回滾段來做其它操作。
4)臨時段:當一個SQL語句需要臨時工作區時,由ORACLE建立臨時段。當語句執行完畢,臨時段的區退回給系統。
;❺ 資料庫文件有幾種類型,有何區別呢
資料庫裡面有三種類型的文件。
第一種文件為主文件,後綴名為.mdf,資料庫中的主要數據都存儲在這個文件中,還有一個文件是日誌文件,後綴名為.ldf,主要記錄資料庫的日誌以及資料庫的操作記錄。
一個資料庫中必須有至少一個主文件和日誌文件。但是主文件只能有一個,日誌問及可以有多個。還有一種文件就是輔助文件,後綴名是.ldf。主要存儲資料庫的一些輔助信息。
資料庫文件的區別:
資料庫只保存文字元,而我們平時使用的WORD文檔保存內容更為一般電腦用戶查閱使用,並且資料庫的資料只在電腦軟體開發才頻繁使用,一般用戶不需打開。 資料庫的內容也是非常重要的,所以最好不要隨意刪改。
文件系統中的文件是支持系統文件運行的,資料庫里的文件只是支持資料庫運行的文件對於資料庫文件 的文件存放結構 是規律性的簇 並且一些專業的資料庫系統會對資料庫文件預留連續空間以提高索引速度(甲骨文) 。
所在的位置不同而已,對他們來說都是關鍵的文件當然不一樣了,資料庫裡面的用作做網站用的,而前者的系統是在正常運行的時侯要調用的系統文件
資料庫和一般文件的區別:
資料庫是長期存儲在計算機內、有組織的、可共享的大量數據的集合。數據按一定的數據模型組織、描述和存儲,具有較小的冗餘度、較高的數據獨立性和易擴展性,並可以供各種用戶共享。
更重要的是,資料庫由數據管理系統自動管理,例如在多個用戶同時使用資料庫時進行並發控制,在發生故障後對系統進行恢復等。這些功能自己編程很費勁,同時自己寫的程序可靠性比較低。
❻ oracle資料庫的結構是什麼
Oracle資料庫的體系結構包括四個方面:資料庫的物理結構、邏輯結構、內存結構及進程。
1. 物理結構
物理資料庫結構是由構成資料庫的操作系統文件所決定,Oracle資料庫文件包括:
數據文件(Data File)
數據文件用來存儲資料庫中的全部數據,例如資料庫表中的數據和索引數據.通常以為*.dbf格式,例如:userCIMS.dbf 。
日誌文件(Redo Log File)
日誌文件用於記錄資料庫所做的全部變更(如增加、刪除、修改)、以便在系統發生故障時,用它對資料庫進行恢復。名字通常為Log*.dbf格式,如:Log1CIMS.dbf,Log2CIMS.dbf 。
控制文件(Control File)
每個Oracle資料庫都有相應的控制文件,它們是較小的二進制文件,用於記錄資料庫的物理結構,如:資料庫名、資料庫的數據文件和日誌文件的名字和位置等信息。用於打開、存取資料庫。名字通常為Ctrl*ctl 格式,如Ctrl1CIMS.ctl。
配置文件
配置文件記錄Oracle資料庫運行時的一些重要參數,如:數據塊的大小,內存結構的配置等。名字通常為init*.ora 格式,如:initCIMS.ora 。
2 邏輯結構
Oracle資料庫的邏輯結構描述了資料庫從邏輯上如何來存儲資料庫中的數據。邏輯結構包括表空間、段、區、數據塊和模式對象。資料庫的邏輯結構將支配一個資料庫如何使用系統的物理空間.模式對象及其之間的聯系則描述了關系資料庫之間的設計.
一個資料庫從邏輯上說是由一個或多個表空間所組成,表空間是資料庫中物理編組的數據倉庫,每一個表空間是由段(segment)組成,一個段是由一組區(extent)所組成,一個區是由一組連續的資料庫塊(database block)組成,而一個資料庫塊對應硬碟上的一個或多個物理塊。一個表空間存放一個或多個資料庫的物理文件(即數據文件).一個資料庫中的數據被邏輯地存儲在表空間上。
表空間(tablespace)
Oracle資料庫被劃分為一個或多個稱為表空間的邏輯結構,它包括兩類表空間,System表空間和非System表空間,其中,System表空間是安裝資料庫時自動建立的,它包含資料庫的全部數據字典,存儲過程、包、函數和觸發器的定義以及系統回滾段。除此之外,還能包含用戶數據。。
一個表空間包含許多段,每個段有一些可以不連續的區組成,每個區由一組連續的數據塊組成,數據塊是資料庫進行操作的最小單位。
每個表空間對應一個或多個數據文件,每個數據文件只能屬於一個表空間。
資料庫塊(database block)
資料庫塊也稱邏輯塊或ORACLE塊,它對應磁碟上一個或多個物理塊,它的大小由初始化參數db-block-size(在文件init.ora中)決定,典型的大小是2k。Pckfree 和pctused 兩個參數用來優化數據塊空間的使用。
區(extent)
區是由一組連續的數據塊所組成的資料庫存儲空間分配的邏輯單位。
段(segment)
段是一個或多個不連續的區的集合,它包括一個表空間內特定邏輯結構的所有數據,段不能跨表空間存放。Oracle資料庫包括數據段、索引段、臨時段、回滾段等。
模式對象(schema object)
Oracle資料庫的模式對象包括表、視圖、序列、同意詞、索引、觸發器、存儲.過程等,關於它們將重點在後面章節介紹。
3.Oracle Server系統進程與內存結構
當在計算機伺服器上啟動Oracle資料庫後,稱伺服器上啟動了一個Oracle實例(Instance)。ORACLE 實例(Instance)是存取和控制資料庫的軟體機制,它包含系統全局區(SGA)和ORACLE進程兩部分。SGA是系統為實例分配的一組共享內存緩沖區,用於存放資料庫實例和控制信息,以實現對資料庫中數據的治理和操作。
進程是操作系統中一個極為重要的概念。一個進程執行一組操作,完成一個特定的任務.對ORACLE資料庫治理系統來說,進程由用戶進程、伺服器進程和後台進程所組成。
當用戶運行一個應用程序時,系統就為它建立一個用戶進程。伺服器進程處理與之相連的用戶進程的請求,它與用戶進程相通訊,為相連的用戶進程的ORACLE請求服務。
為了提高系統性能,更好地實現多用戶功能,ORACLE還在系統後台啟動一些後台進程,用於資料庫數據操作。
系統進程的後台進程主要包括:
SMON 系統監控進程:(system monitor)負責完成自動實例恢復和回收分類(sort)表空間。
PMON 進程監控進程:(PRocess monitor)實現用戶進程故障恢復、清理內存區和釋放該進程所需資源等。
DBWR 資料庫寫進程:資料庫緩沖區的治理進程。
在它的治理下,資料庫緩沖區中總保持有一定數量的自由緩沖塊,以確保用戶進程總能找到供其使用的自由緩沖塊。
LGWR 日誌文件寫進程:是日誌緩沖區的治理進程,負責把日誌緩沖區中的日誌項寫入磁碟中的日誌文件上。每個實例只有一個LGWR進程。
ARCH 歸檔進程:(archiver process)把已經填滿的在線日誌文件拷貝到一個指定的存儲設備上。僅當日誌文件組開關(switch)出現時,才進行ARCH操作。ARCH不是必須的,而只有當自動歸檔可使用或者當手工歸檔請求時才發出。
RECO 恢復進程:是在具有分布式選項時使用的一個進程,主要用於解決引用分布式事務時所出現的故障。它只能在答應分布式事務的系統中出現。
LCKn 封鎖進程:用於並行伺服器系統,主要完成實例之間的封鎖。
內存結構(SGA)
SGA是Oracle為一個實例分配的一組共享內存緩沖區,它包含該實例的數據和控制信息。SGA在實例啟動時被自動分配,當實例關閉時被收回。資料庫的所有數據操作都要通過SGA來進行。
SGA中內存根據存放信息的不同,可以分為如下幾個區域:Buffer Cache:存放資料庫中資料庫塊的拷貝。它是由一組緩沖塊所組成,這些緩沖塊為所有與該實例相鏈接的用戶進程所共享。緩沖塊的數目由初始化參數DB_BLOCK_BUFFERS確定,緩沖塊的大小由初始化參數DB_BLOCK_SIZE確定。大的數據塊可提高查詢速度。它由DBWR操作。
b. 日誌緩沖區Redo Log Buffer:存放數據操作的更改信息。它們以日誌項(redo entry)的形式存放在日誌緩沖區中。當需要進行資料庫恢復時,日誌項用於重構或回滾對資料庫所做的變更。日誌緩沖區的大小由初始化參數LOG_BUFFER確定。大的日誌緩沖區可減少日誌文件I/O的次數。後台進程LGWR將日誌緩沖區中的信息寫入磁碟的日誌文件中,可啟動ARCH後台進程進行日誌信息歸檔。
c. 共享池Shared Pool:包含用來處理的SQL語句信息。它包含共享SQL區和數據字典存儲區。共享SQL區包含執行特定的SQL語句所用的信息。數據字典區用於存放數據字典,它為所有用戶進程所共享。
Cursors:一些內存指針,執行待處理的SQL語句
其他信息區:除了上述幾個信息區外,還包括一些進程之間的通訊信息(如封鎖信息);在多線索伺服器配置下,還有一些程序全局區的信息,請求隊列和響應隊列等。 本文來自: http://hi..com/ipbun/blog/item/3f75d7230a7f5ee698250a7c.html
❼ 資料庫有哪幾種文件組成
Microsoft® SQL Server™ 2000
使用一組操作系統文件映射資料庫。資料庫中的所有數據和對象(如表、存儲過程、觸發器和視圖)都存儲在下列操作系統文件中:
主要
該文件包含資料庫的啟動信息,並用於存儲數據。每個資料庫都有一個主要數據文件。
次要
這些文件含有不能置於主要數據文件中的所有數據。如果主文件可以包含資料庫中的所有數據,那麼資料庫就不需要次要數據文件。有些資料庫可能足夠大故需要多個次要數據文件,或使用位於不同磁碟驅動器上的輔助文件將數據擴展到多個磁碟。
事務日誌
這些文件包含用於恢復資料庫的日誌信息。每個資料庫都必須至少有一個日誌文件。
例如,創建簡單的資料庫 sales
時,可以只使用一個包含所有數據和對象的主文件和一個包含事務日誌信息的日誌文件。另一種情況是,創建更復雜的資料庫 orders
時,可以使用一個主文件和五個輔助文件,資料庫內的數據和對象擴展到所有的六個文件中,另外有四個日誌文件包含事務日誌信息。
文件組允許對文件進行分組,以便於管理和數據的分配/放置。例如,可以分別在三個硬碟驅動器上創建三個文件(Data1.ndf、Data2.ndf
和 Data3.ndf),並將這三個文件指派到文件組 fgroup1 中。然後,可以明確地在文件組 fgroup1
上創建一個表。對表中數據的查詢將分散到三個磁碟上,因而性能得以提高。在
RAID(獨立磁碟冗餘陣列)條帶集上創建單個文件也可以獲得相同的性能改善。然而,文件和文件組使您得以在新磁碟上輕易地添加新文件。另外,如果資料庫超過單個
Microsoft Windows NT® 文件的最大大小,則可以使用次要數據文件允許資料庫繼續增長。
文件和文件組的設計規則
文件和文件組的設計規則包括:
文件或文件組不能由一個以上的資料庫使用。例如,文件 sales.mdf 和 sales.ndf 包含 sales
資料庫中的數據和對象,任何其它資料庫都不能使用這兩個文件。
文件只能是一個文件組的成員。
數據和事務日誌信息不能屬於同一文件或文件組。
事務日誌文件不能屬於任何文件組。
❽ Oracle中資料庫、數據文件、表、表空間、用戶之間是什麼關系(轉)
問題:我是資料庫的初學者,望大家不吝賜教!! 在Oracle中資料庫、數據文件、表、表空間、用戶之間是什麼關系啊?比如我知道表和數據文件隸屬於表空間;表空間與用戶是多對多的關系。 希望大家能寫的通俗具體一點,呵呵呵 我在邏輯上有點混亂了!答案:呵呵,問的好,這涉及到資料庫的物理結構和邏輯結構。 首先,你需要明白的一點是:資料庫的物理結構是由資料庫的操作系統文件所決定,每一個Oracle資料庫是由三種類型的文件組成:數據文件、日誌文件和控制文件。資料庫的文件為資料庫信息提供真正的物理存儲。 每一個Oracle資料庫有一個或多個物理的數據文件(data file)。一個資料庫的數據文件包含全部資料庫數據。邏輯資料庫結構(如表、索引等)的數據物理地存儲在資料庫的數據文件中。數據文件通常為*.dbf格式,例如:userCIMS.dbf。數據文件有下列特徵:①、一個數據文件僅與一個資料庫聯系;②、一旦建立,數據文件只增不減;③、一個表空間(資料庫存儲的邏輯單位)由一個或多個數據文件組成。 其次,我們再來敘述一下Oracle的邏輯結構:Oracle的邏輯結構包括表空間(tablespace),段(segment),數據塊(data block)以及模式對象(schema object)。 Oracle資料庫在邏輯上是由多個表空間組成的,表空間在物理上包含一個或多個數據文件。而數據文件大小是塊大小的整數倍;表空間中存儲的對象叫段,比如數據段,索引段和回退段。段由區組成,區是磁碟分配的最小單位。段的增大是通過增加區的個數來實現的。每個區的大小是數據塊大小的整數倍,區的大小可以不相同;數據塊是資料庫中的最小的I/O單位,同時也是內存數據緩沖區的單位,及數據文件存儲空間單位。塊的大小由參數DB_BLOCK_SIZE設置,其值應設置為操作系統塊大小的整數倍。 ⑴、表空間(tablespace) 表空間是資料庫中最大的邏輯單位,每一個表空間由一個或多個數據文件組成,一個數據文件只能與一個表空間相聯系。每一個資料庫都有一個SYSTEM表空間,該表空間是在資料庫創建或資料庫安裝時自動創建的,用於存儲系統的數據字典表,程序系統單元,過程函數,包和觸發器等,也可用於存儲用戶數據表,索引對象。表空間具有在線(online)和離線(offline)屬性,可以將除SYSTME以外的其他任何錶空間置為離線。 ⑵、段(segment) 資料庫的段可以分為四類:數據段、索引段、回退段和臨時段。 ⑶、區 區是磁碟空間分配的最小單位。磁碟按區劃分,每次至少分配一個區。區存儲與段中,它由連續的數據塊組成。 ⑷、數據塊 數據塊是資料庫中最小的數據組織單位與管理單位,是數據文件磁碟存儲空間單位,也是資料庫I/O的最小單位,數據塊大小由DB_BLOCK_SIZE參數決定,不同的Oracle版本DB_BLOCK_SIZE的默認值是不同的。 ⑸、模式對象 模式對象是一種應用,包括:表、聚簇、視圖、索引序列生成器、同義詞、哈希、程序單元、資料庫鏈等。 最後,在來說一下Oracle的用戶、表空間和數據文件的關系: 一個用戶可以使用一個或多個表空間,一個表空間也可以供多個用戶使用。用戶和表空間沒有隸屬關系,表空間是一個用來管理數據存儲的邏輯概念,表空間只是和數據文件發生關系,數據文件是物理的,一個表空間可以包含多個數據文件,而一個數據文件只能隸屬一個表空間。 總結一下:解釋資料庫、表空間、數據文件、表、數據的最好辦法就是想像一個裝滿東西的櫃子。資料庫其實就是櫃子,櫃中的抽屜是表空間,抽屜中的文件夾是數據文件,文件夾中的紙是表,寫在紙上的信息就是數據。