Oracle基本概念与数据导入
Oracle基本概念
實例
一個Oracle實例(Oracle Instance)有一系列的后臺進程(Backguound Processes)和內存結構(Memory Structures)組成。一個數(shù)據(jù)庫可以有n個實例。
用戶
Oracle數(shù)據(jù)庫建好后,要想在數(shù)據(jù)庫里建表,必須先為數(shù)據(jù)庫建立用戶,并為用戶指定表空間。
表空間
Oracle數(shù)據(jù)庫是通過表空間來存儲物理表的,一個數(shù)據(jù)庫實例可以有N個表空間,一個表空間下可以有N張表。
表空間(tablespace)是數(shù)據(jù)庫的邏輯劃分,每個數(shù)據(jù)庫至少有一個表空間(稱作SYSTEM表空間)。為了便于管理和提高運行效率,可以使用一些附加表空間來劃分用戶和應用程序。例如:USER表空間供一般用戶使用,RBS表空間供回滾段使用。一個表空間只能屬于一個數(shù)據(jù)庫。
數(shù)據(jù)文件(dbf,ora)
數(shù)據(jù)文件是數(shù)據(jù)庫的物理存儲單位。數(shù)據(jù)庫的數(shù)據(jù)是存儲在表空間中的,真 正是在某一個或者多個數(shù)據(jù)文件中。而一個表空間可以由一個或多個數(shù)據(jù)文件組成,一個數(shù)據(jù)文件只能屬于一個表空間。一旦數(shù)據(jù)文件被加入到某個表空間后,就不能刪除這個文件,如果要刪除某個數(shù)據(jù)文件,只能先刪除其所屬于的表空間才行。
注意
表的數(shù)據(jù),是有用戶放入某一個表空間的,而這個表空間會隨機把這些表數(shù)據(jù)放到一個或者多個數(shù)據(jù)文件中。由于oracle的數(shù)據(jù)庫不是普通的概念,oracle是有用戶和表空間對數(shù)據(jù)進行管理和存放的。但是表不是有表空間去查詢的,而是由用戶去查的。因為不同用戶可以在同一個表空間建立同一個名字的表!這里區(qū)分就是用戶了!
關系示意圖
管理員命令行登錄
Navicat連接Oracle數(shù)據(jù)庫
如果你的機器已經(jīng)裝有 Oracle 數(shù)據(jù)庫的話,那很簡單,Navicat 可以直接連接到 Oracle 。
如果沒裝,那 Navicat 會提示你需要安裝 Oracle 客戶端,如果不是必要,千萬別裝 Oracle 客戶端,先不說它的塊頭很大,有四五百兆,裝完后你很難卸載干凈。
根據(jù) Navicat 官方的文檔,其實只需要下載 Oracle 的 Instance Client 即可。這個包只包含一些 dll 文件,無需安裝解壓即可。
要根據(jù)不同的 Oracle 版本來下載 Instance Client 的版本,對應關系如下:
Oracle 9i 或者更新的版本,需要使用 Instance Client 11 這個版本
Oracle 8 和 8i 用 Instance Client 10 版本。
另外必須注意的時候,只能下載 32 位版本,因為 Navicat 不支持 64 位的版本,另外要下載 Basic 版本 (40M),而不是 Basic Lite 版(11兆),因為 Basic Lite 版不支持中文,連接的時候會告訴你服務器端的編碼不被支持。
如下圖所示:instantclient-basic-win32-11.2.0.1.0\instantclient_11_2\oci.dll
配置完之后我們就可以通過Navicat連接Oracle數(shù)據(jù)了
導入dmp文件
plsql導入較大的dmp文件時可能會遇到:please wait...done,然后就沒有反應,建議用命令行導入
找到imp.exe文件,大概在“11.2.0\dbhome_1\BIN”,在cmd中輸入
如果遇到表空間不足的問題,可以自己創(chuàng)建一個表空間custom_tablespace
創(chuàng)建Oracle表空間
執(zhí)行如下sql腳本
表空間若達到32G,增加表空間的數(shù)據(jù)文件,這樣表空間大小變成64G
創(chuàng)建Oracle用戶
執(zhí)行如下sql腳本
刪除用戶
來自為知筆記(Wiz)
轉載于:https://www.cnblogs.com/aling/p/4558360.html
總結
以上是生活随笔為你收集整理的Oracle基本概念与数据导入的全部內容,希望文章能夠幫你解決所遇到的問題。