對於oracle中使用者對資料庫管理的理解除了點問題

2022-02-07 02:50:49 字數 1709 閱讀 6606

1樓:匿名使用者

oracle是這樣的:

一般oracle只建立一個例項(也可以建立多個例項),就是sid,比如orcl。

例項下面是表空間,schema,使用者,表。

同一個例項下面可以有n個表空間,同一個例項下面也可以有多個使用者,

oracle裡面,一個使用者就表示一個schema,說白了就是一個資料集合。也就是在ms sql裡面的一個資料庫。

你建立了一個使用者,oracle就自動賦予這個使用者一個scheme(模式物件),簡單點說就是跟了一個「庫」。

然後你就可以在這個使用者的schema裡面建立表、檢視、索引啥的。

從外面看起來,好像是這些表都是這個使用者的,貌似這個使用者就是一個資料庫。

其實不是,只能說這些表、檢視啥的屬於這個使用者預設的那個schema,因為一個schema有各種訪問許可權,你可以把這個schema的訪問許可權給其他使用者(雖然其他使用者也有自己的schema,但是也可以訪問其他使用者的schema)。

這樣看來,一個使用者只要有許可權,可以訪問多個scheme,

這個使用者訪問自己的schema中的表時,直接寫表名就可以了,比如:select * from table1;

但是訪問其他schema中的表時,需要加使用者名稱(可以理解為schema名),比如:select * from aaa.table2;

這樣,只要使用者有許可權,可以訪問整個例項裡的所有使用者的資料。

對於表空間來說,oracle裡不像mssql那樣,一個庫下面有自己的一套表空間。

oracle是一個使用者的資料可以寫在多個表空間,一個表空間可以寫多個使用者的資料。

你說的幾個專案分別有不同的使用者來管理的問題:

我舉個例子,一個管理系統,有財務模組,有報表模組,

財務模組那邊用一個使用者,報表這邊用一個使用者。

財務庫的資料是寫進去的,

報表庫的資料都是來自於財務庫,

這樣的話,在oracle的一個例項裡面,建兩個使用者,兩個使用者有自己不同的表,但是後者必須訪問前者的資料,前者不能訪問其他庫。

你在操作報表模組的時候,要從財務模組讀取資料,那就加上:財務庫使用者.table名 就可以了。

我一直用著oracle,前段時間突然接觸了mssql和db2,自己查了些資料,回答可能有錯誤,還請指出。

2樓:匿名使用者

其實mysql、sqlserver、oracle都有資料庫、使用者、表這些概念的。

為什麼你覺得oracle比較奇怪呢?

我猜,你以前用sqlserver肯定都是用sa這個使用者,然後用它來訪問各個表,其實這在資料庫管理上是非常不安全的,就像是oracle中,讓所有的應用程式都用sys或者system訪問一樣,許可權很大,風險也很大。

至於你說的專案,我不太清楚這個叫法,可能是oracle中的例項吧?

你可以找點oracle體系結構的書看看,其實sqlserver的體系也很複雜,只是在用的時候,被人給簡化了。

3樓:永恆的紅燒肉

按我的理解,他們是這樣對應的!

oracle

"資料庫" -->sql server(註冊),相當於目標主機的名稱"使用者" -->sql中的資料庫

"表" 屬於某個"使用者"(資料庫)的表

4樓:匿名使用者

oracle資料庫中一個例項中可以建多個使用者,每個使用者可以指定不同或者相同的表空間來儲存資料,每個使用者下的表可以相同,也可以不同,就是相當於多個專案,多個系統資料庫

關於oracle資料庫使用者和資料庫之間的關係

表空間,其實是 預設表空間。也就是這個使用者 create table 語句,不指定表空間的話。就預設把表,建立在那個 預設表空間 上面。沒有給他指定其它表空間的管理許可權 但使用者a能操作其它表空間,在其它表空間中建立表,是怎麼回事哪。這個要看你到底給了多少許可權給這個使用者a 你要是sql gr...

oracle資料庫普通使用者密碼預設是多少天有效

我來教你怎麼自己查,步驟很簡單的,只需要兩步就搞定 第一步 檢視你所關心的使用者使用的是哪個profile select username,profile from dba users where username upper scott 如果沒有更改過,一般都是default 然後檢視defaul...

oracle資料庫,想統計使用者下,所有表的記錄的總條數,用什麼語句可以實現

select table name,num rows from all tables where tablespace name whs12lt order by num rows desc 檢視錶空間為whs12lt中的所有表及各錶行數,注意表空間一定要區分大小寫,我的當時用了小寫的whs12lt...