-
pdb與cdb區別
- 容器數據庫CDB(Container Database) 默認啟動的是cdb,pdb沒啟動。
- 可插拔數據庫PDB(pluggable database)可看作一種容器
cdb相當於操作系統,調用並管理各個pdb。pdb相當於真正提供業務需求的數據庫實例。oracle 12c安裝后只創建了cdb,需要自己生成相應的pdb。oracle 12c使用了CDB-PDB架構,類似於docker,在container-db內可以加載多個pluggable-db.
select name,open_mode from v$pdbs; 用來查看當前CDB容器中包含的PDB容器(from:https://blog.csdn.net/qq877507054/article/details/81209967)
--創建pdb
①create要在根目錄(conn / as sysdba)執行創建pdb 腳本 否則:ORA-65040: 不允許從可插入數據庫內部執行該操作
②show pdbs;查看新建的pdb狀態是MOUNTED 未啟動狀態/select con_id,name,open_mode from v$pdbs;查看啟動狀態的pdbs
③alter pluggable database pdb1 open; 啟動pdb1 / alter pluggable database all open;啟動所有pdb
--切換到指定的容器中pdb1
①alter session set container=pdb1;
--在PDB中建立用戶,用戶名不用加C##開頭,建立的是本地用戶。
--在CDB中新建用戶,用戶名需要加C##開頭,建立的是公共用戶(Common User)
(from:https://www.cnblogs.com/xuejianbest/p/10285058.html)
-
用戶(user)
-
A user is a name defined in the database that can connect to and access objects.
大意:Oracle用戶是用連接數據庫和訪問數據庫對象的。(用戶是用來連接數據庫訪問數據庫)。
-
模式(schema)
- A schema is a collection of database objects (used by a user.). Schema objects are the logical structures that directly refer to the database’s data.
大意:模式是數據庫對象的集合。模式對象是數據庫數據的邏輯結構。(把數據庫對象用模式分開成不同的邏輯結構)。 - schema為數據庫對象的集合
-
user 與schema區別
- Schemas and users help database administrators manage database security.
大意:用戶是用來連接數據庫對象。而模式用是用創建管理對象的。(模式跟用戶在oracle 是一對一的關系。) - 一個用戶一般對應一個schema 該用戶的schema名等於用戶名,並作為該用戶缺省schema。 oracle數據庫中不能新創建一個schema,要想創建一個schema,只能通過創建一個用戶的方法解決,在創建一個用戶的同時為這個用戶創建一個與用戶名同名的schema並作為該用戶的缺省schema
- 一個用戶有一個缺省的schema,其schema名就等於用戶名,當然一個用戶還可以使用其他的schema。沒有指明該表屬於哪一個schema中的,系統就會自動給我們在表上加上缺省的schema名。
-
SID
- SID是System IDentifier的縮寫,而ORACLE_SID就是Oracle System Identifier的縮寫,在Oracle系統中,ORACLE_SID以環境變量的形式出現,在特定版本的Oracle軟件安裝(也就是ORACLE_HOME)下,當Oracle實例啟動時,操作系統上fork的進程必須通過這個SID將實例與其他實例區分開來,這就是SID的作用。
-
在sql命令下可以查看,連接后查詢:
- Service
- jdbc配置Oracle數據庫連接時,以下三種方式可以選擇
1. 使用服務名配置方式:jdbc:oracle:thin:@//<host>:1521/orclpdb
2. 使用SID,配置方式:jdbc:oracle:thin:@//<host>:1521/orcl12c
3. 使用SID,配置方式:jdbc:oracle:thin:@<host>:1521:orcl12c
端口號后邊有單斜杠時,用服務名和實例名都可以鏈接成功