1. 程式人生 > >裝好oracle後——表空間,使用者

裝好oracle後——表空間,使用者

安裝好資料庫之後,接下來就要開始使用了。
但是我們不能上來就create table,我們需要先建立一個表空間以及一個新使用者。
什麼是表空間,為什麼需要表空間?
首先,表空間是一個邏輯概念,邏輯的意思就是它是實際上不存在的,在資料夾裡找不到的。oracle中真正存著資料的檔案(物理上最大的)是資料檔案(data file)。而在邏輯上把一組資料檔案看成是一個集合,就是一個表空間。
一個資料庫可以有多個 表空間 ,一個表空間只能屬於一個數據庫。
一個表空間可以有多個資料檔案,一個數據檔案只能屬於一個表空間。
而我們熟悉的表,是放在資料檔案中的,一個數據檔案中可以有多個表。
不僅是表,還有索引、檢視等等,這些都是放在資料檔案中的。而這些表檢視等,被稱為

。一份資料檔案包含多個段,有各種段,比如資料段(表),索引段,檢視段,回滾段等等。
一個段由多個構成,區指分配給某一物件(比如表)的任何連續
塊是oracle的最小資料管理單元。當區的儲存空間用完後,它會自動擴充套件臨近的塊,用來儲存。所以區是不定大小的,塊是確定大小的。
如圖就是上文說的,是oracle的儲存結構。可以看出,物理上真正存在的是資料檔案和塊。其他都是邏輯上的概念,是方便系統管理的邏輯結構。
這裡寫圖片描述

當我們想使用資料庫時,我們需要一個使用者,來登陸上去,然後才可以做相應操作。如果我們沒有為該使用者建立表空間,那麼就會使用預設的表空間SYSTEM來儲存資料,這是不合理的。
假如把資料庫例項看成是網盤,如果一個新使用者註冊進來準備使用,沒有給使用者分配他自己的空間,那麼大家上傳網盤的東西就會被所有人看到,就沒有了隱私。所以需要給每個使用者分配一個邏輯上的空間,別人是看不到這個空間裡的東西。至於物理上的,可能我剛上傳的照片跟隔壁老王上傳的視訊挨著存著,我不知道也不影響我。


所以我們需要建立一個表空間,然後建立新使用者(相當於註冊一個使用者),然後把該表空間分配給這個使用者。使用者與表空間是多對多的,一個使用者可以有多個表空間,一個表空間可以有多個使用者。這裡與剛才網盤的類比又有些區別。
建立表空間的SQL語句如下:

create tablespace your_data
      logging
      Datafile'地址\your_data.dbf'  --地址指某個實際資料夾地址
      Size 50m
      Autoextend on
      Next 50m maxsize 20480m
      Extent management local
;

同時我們也需要建立一個臨時表空間
什麼是虛擬表,有什麼用?
上文所說的表空間是永久表空間,是存放永久性資料的,如表,檢視,索引等。臨時表空間,顧名思義,就是存放臨時資料的,不是永久性的。
存放什麼臨時性資料呢?我們知道,在進行表連線查詢時,會先將兩張表做笛卡爾積,生成一張非常大的,有很多無效資訊的表——稱為臨時表。這時候我們往往會通過where語句對其進行篩選,篩出我們需要的資料。而那張臨時表自然不能存在永久表空間裡,所以我們需要一個臨時表空間來存放它。除了這種情況,還有很多地方會用到臨時表(但筆者目前還不清楚),因此我們需要建立一個臨時表空間配合永久表空間使用。
建立臨時表空間的SQL語句:

create temporary tablespace your_temp
            tempfile'地址\your_temp.dbf'
            Size 50m
            Autoextend on
            Next 50m maxsize 20480m
            Extent management local;

做完上面兩件事後,我們終於可以建立使用者了,在建立使用者的同時,把表空間和臨時表空間分配給使用者。
SQL語句:

create user newuser identified by 密碼 --(注意這裡的密碼不能有特殊字元,否則會報錯)
account unlock
Defaul tablespace your_data
Temporary tablspace your_temp;

這樣,就可以使用這個使用者登入上去,然後幹你想幹的事了。

相關推薦

oracle——空間使用者

安裝好資料庫之後,接下來就要開始使用了。 但是我們不能上來就create table,我們需要先建立一個表空間以及一個新使用者。 什麼是表空間,為什麼需要表空間? 首先,表空間是一個邏輯概念,邏輯的意思就是它是實際上不存在的,在資料夾裡找不到的。oracl

oracle資料庫空間使用者許可權分割槽建立基礎知識(一

--sys管理員使用者登入  conn sys/222818 as sysdba alter user Libaobao account lock;--解鎖新建使用者 alter user Libaobao account unlock; --鎖定新建使用者 --刪除該新建使用者 drop user

Oracle 建立空間使用者並賦予DBA許可權

/*分為四步 */ /*第1步:建立臨時表空間  */ create temporary tablespace user_temp   tempfile 'D:\oracle\oradata\Oracle9i\user_temp.dbf' size 50m   autoex

oracle 建立空間使用者並賦予使用者許可權

本文轉自:http://blog.csdn.net/starnight_cbj/article/details/6792364 Oracle建立表空間和使用者      表空間   建立表空間(一般建N個存資料的表空間和一個索引空間):   create tables

oracle建立空間建立使用者匯入dmp資料

匯入oracle資料的時候,經常到用的時候忘記,特整理一份,方便以後操作。 需要注意的是:建立表空間和使用者是在sqlPlus中執行,而匯入資料需要在cmd視窗執行。 一、建立表空間 create tablespace 表空間名 datafile 'd:/*.dbf' s

Oracle查看空間創建空間

con 查看表 刪除 app 創建 auto toe light globe 查看表空間: SELECT tablespace_name, file_id, file_name, round(bytes / (1024 * 1024), 0) total_

Oracle數據庫-建庫、建空間建用戶

建庫 size res database 創建表 IE nbsp ews ide 1、選擇的數據庫目錄   *\product\10.1.0\oradata\目錄下(*表示oracle的安裝目錄) 2、創建表空間   格式: create tablespace 表間名 d

Oracle 12c 插鏈式資料庫下建空間新建使用者及賦權SQL解決空導不出的問題使用者鎖定問題密碼過期問題。

1、連線SQLPLUS sqlplus /nolog 2、SYSDBA登入 conn / as sysdba 3、檢視PDB show pdbs; 4、將會話轉到具體某個DB下 alter session set container=dbname; 5、建立表

oracle建立空間及使用者匯出匯入資料備份

轉載:https://blog.csdn.net/ludongshun2016/article/details/52849784?utm_source=copy  建立表空間及使用者 //建立臨時表空間   create temporary tablespace salt

oracle-system空間已滿如何解決?

1.登入資料庫 sqlplus /nolog conn / as sysdba 1 2 2.查詢表空間使用狀況 SELECT UPPER(F.TABLESPACE_NAME) "表空間名",  D.TOT_GROOTTE_MB "表空間大小(M)",  D.TOT_GRO

oracle建立使用者空間臨時空間分配許可權步驟詳解

首先登陸管理員賬號,或者有DBA許可權的使用者,接下來依次: --查詢所有使用者 select * from dba_users; --建立新使用者 create user gpmgt identified by GPMGT; --檢視所有使用者所在表空間 select usernam

oracle建立空間、使用者、許可權 oracle 建立臨時空間/空間使用者及授權

原連結:https://www.cnblogs.com/wxm-bk/p/6510654.html oracle 建立臨時表空間/表空間,使用者及授權   1:建立臨時表空間 create temporary tablespace user_temp tempfile

理解oracle空間和使用者的區別 轉

版權宣告:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/qq_31279347/article/details/83753532每個專案對應一個表空間,Oracle資料庫是通過表空間來儲存物理表的,一個數據庫例項可以有N個表空間,一個表空間下可以有N張表。然後建立一個

oracle建立使用者及空間收回許可權授予角色等sql整合

--建立使用者 --create user userName identified by password; --建立表空間 --create tablespace tableSpaceName datafile '/home/oracle/app/oracle/oradata/orc

理解oracle空間和使用者的區別

每個專案對應一個表空間,Oracle資料庫是通過表空間來儲存物理表的,一個數據庫例項可以有N個表空間,一個表空間下可以有N張表。 然後建立一個使用者對應此表空間即可。 所以,在做大型專案的時候,是先建立一個數據庫例項,然後建立表空間,再建立使用者,然後使用者指定這個表

Oracle navicat新建空間使用者

第一次使用oracle,記錄一下遇到的不少坑 新建表空間 1.點選其它 -> 表空間 -> 新建表空間 2. 填好基本資訊,然後點選儲存 大小 物理路徑 自動擴充套件on/off以及大小 建立好表空間後,新建使用者 1. 第一次使用的話,首

通過語句新建資料庫空間新建使用者及對使用者授權(oracle

1.新建表空間(地址類比進行更換) CREATE TABLESPACE 表空間名字     LOGGING      DATAFILE 'D:\app\Administrator

Oracle資料庫-建庫、建空間建使用者

Oracle安裝完後,其中有一個預設的資料庫,除了這個預設的資料庫外,我們還可以建立自己的資料庫。     對於初學者來說,為了避免麻煩,可以用'Database Configuration Assistant'嚮導來建立資料庫。     建立完資料庫後,並不能立即在資

安裝oracle缺少監聽服務

錯誤描述: 在win7 64位系統下安裝資料庫後,新增建立資料庫,PL/SQL登陸資料庫提示:TNS 監聽服務錯誤。 檢視服務是否啟動,在服務元件中沒有監聽服務。(沒有配置本地NET服務) 解決辦法: 重做監聽服務,步驟如下: 1、開啟 oracle net confug

Oracle建立空間、使用者使用者授權語句解析

建立表空間               create tablespace(temporary tablespace) indx --建立名字叫indx的表空間(臨時表空間) dataf