oralce schema 的設計意思
模式是一個邏輯概念,它將所有相關物件(表、檢視、索引、程式、包等)邏輯地組織到一個 集合 中。一般來說,模式的名稱與負責該模式的使用者的名稱是一致的。
建築物相當於一個資料庫。一棟樓有兩戶,使用者a和使用者B,當使用者a進入自己的房間(schema)時,可以在自己的房間裡新增桌子(table)、椅子(view)、沙發(index)等。
當然,使用者B也可以將不同的桌子、椅子和沙發新增到自己的模式中。
嗯,我們知道使用者a和使用者B有不同的房間(模式),所以通常我們會直接說使用者a或使用者B,這樣我們就可以區分他們不同的桌椅。
但嚴格來說,我們應該說使用者a的房間(schema)不同於使用者B的房間(schema)。所以我們一般說使用者a,它直接代表模式a。
這些類似使用者名稱的節點實際上是一個模式,其中包含各種物件,例如表、檢視、序列、儲存過程、同義詞、索引、叢集和資料庫連結。使用者通常對應於一個模式。使用者的架構名稱等於使用者名稱,並且是使用者的預設架構。
以你電腦的使用者為例,如果你的電腦有三個使用者,那麼每個使用者在登入系統時可以看到(使用)不同的功能
]模式是資料庫物件的集合。為了區分每個集合,我們需要給這個集合一個名稱,我們在enterprisemanager方案下看到了這個名稱實際上,這些類似使用者名稱的節點是一個模式,它包含各種物件,例如表、檢視、序列、儲存過程、synnyms、索引、叢集和資料庫連結。
使用者通常對應於模式。使用者的架構名稱等於使用者名稱,並且是使用者的預設架構。這就是為什麼我們看到模式名都是enterprisemanager模式中的資料庫使用者名稱。
一個使用者有一個預設的schema,其schema名就等於username,當然一個使用者還能夠使用其它的schema。假設我們訪問一個表時,沒有指明該表屬於哪一個schema中的,系統就會自己主動給我們在表上加上預設的sheman名。比方我們在訪問資料庫時,訪問scott使用者下的emp表,透過select * from emp; 事實上,這sql語句的完整寫法為select * from scott.emp。在資料庫中一個物件的完整名稱為schema.object,而不屬user.object。相似假設我們在建立物件時不指定該物件的schema,在該物件的schema為使用者的預設schema。這就像一個使用者有一個預設的表空間,可是該使用者還能夠使用其它的表空間,假設我們在建立物件時不指定表空間,則物件儲存在預設表空間中,要想讓物件儲存在其它表空間中,我們須要在建立物件時指定該物件的表空間。
SQL> ALTER SESSION SET CURRENT_SCHEMA = scott; --改變使用者預設schema名
一個使用者有一個預設的schema,其schema名就等於使用者名稱,當然一個使用者還可以使用其他的schema。如果我們訪問一個表時,沒有指明該表屬於哪一個schema中的,系統就會自動給我們在表上加上預設的sheman名。比如我們在訪問資料庫時,訪問scott使用者下的emp表,透過select * from emp; 其實,這sql語句的完整寫法為select * from scott.emp。在資料庫中一個物件的完整名稱為schema.object,而不屬user.object。類似如果我們在建立物件時不指定該物件的schema,在該物件的schema為使用者的預設schema。這就像一個使用者有一個預設的表空間,但是該使用者還可以使用其他的表空間,如果我們在建立物件時不指定表空間,則物件儲存在預設表空間中,要想讓物件儲存在其他表空間中,我們需要在建立物件時指定該物件的表空間。
SYSAUX表空間被稱為系統輔助表空間,是10g版本開始推出的新功能,主要的目的是為SYSTEM表空間減負,Oracle對SYSTEM表空間的維護有一套獨立的體系,對SYSTEM表空間操作會佔用額外的CPU資源,而且效率低下,詳見我之前發表的文章為什麼不要把使用者表儲存到SYSTEM表空間。在10g版本,增加了SYSAUX輔助表空間,將EM、AWR等元件的表從SYSTEM表空間挪到了SYSAUX表空間中,這樣大大減少了SYSTEM表空間的消耗,也減少了Oracle對SYSTEM表空間維護的成本。
但是有幾個比較坑爹的元件需要的表並沒有挪到SYSAUX表空間,比如常見的審計用到的AUD$表,很多DBA都可能遇到SYSTEM表空間使用率過高,查詢發現是AUD$表很大導致的,我們的資料庫正好開啟了審計功能,正好可以拿來做實驗。
推薦閱讀:
https://blog.csdn.net/weixin_40913898/article/details/120645705
推薦閱讀:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69949806/viewspace-2908874/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oralce之PL/SQL程式設計(遊標)SQL程式設計
- 如何設計一個高效能的圖 Schema
- 多維資料分析模型設計器Schema Workbench的使用模型
- RadioGroup 在TS schema 中的設定
- 設定Oralce啟動和停止的批處理檔案
- python UDP程式設計是什麼意思?PythonUDP程式設計
- 夏農的“創意思維"在程式設計的應用程式設計
- Oralce RU 安裝
- MySql 資料庫 Schema 設計的效能最佳化:規範的物件命名MySql資料庫物件
- Json Schema簡介和Json Schema的.net實現庫 LateApexEarlySpeed.Json.SchemaJSON
- 表的schema 檔案
- PHP的引用計數是什麼意思?PHP
- Oralce 使用SQL中的exists 和not exists 用法詳解SQL
- 事件統計 | performance_schema全方位介紹事件ORM
- information_schema的結構ORM
- 【TcaplusDB知識庫】預設Schema表型別介紹型別
- MySQL預設資料庫之performance_schema庫MySql資料庫ORM
- MySQL預設資料庫之 information_schema庫MySql資料庫ORM
- 第三屆搞搭建|洛塵 - 如何設計實現 PC 站點搭建系統 - Schema
- MySQL Performance SchemaMySqlORM
- API Schema in kubernetesAPI
- Understanding JSON SchemaJSON
- PostgreSQL:Schema 管理SQL
- XML Schema定義XML
- pt-online-schema-change和XtraBackup的
- 你應該知道的數倉安全——預設許可權實現共享schema
- @ngrx入坑angular的schema,爽的一逼!Angular
- oralce 跨使用者訪問表 同義詞
- (二)oralce資料庫中sys_guid()和newid()資料庫GUI
- ORALCE函式:LAG()和LEAD() 分析函式詳解函式
- PL/SQL 連線 Oralce 提示 Could not initialize oci.dllSQL
- MySQL Performance Schema詳解MySqlORM
- 請問日誌審計什麼意思呢?
- 介紹幾篇很有意思的計算機科普文章計算機
- .net 專案使用 JSON SchemaJSON
- information_schema.innodb_metrics表ORM
- Apache Avro & Avro Schema簡介ApacheVR
- oracle中schema指的是什麼?Oracle