一 ORACLE數據庫特點:
- 支持多用戶,大事務量的事務處理
- 數據安全性和完整性控制
- 支持分布式數據處理
- 可移植性(跨平臺,linux轉Windows)
二 ORACLE體系結構
- 數據庫:oracle是一個全局數據庫,一個數據庫可以有多個實例,每個實例有對應的實例名
- 實例:實例就是將oracle從磁盤讀到內存形成一個進程,進程與進程之間互不干擾(類似于多個oracle)
- 數據文件(dbf):數據庫的物理存儲單位,數據庫的數據是存儲在表空間中的,一個表空間可以由一個或多個數據文件組成,一個數據文件只能屬于一個表空間,數據文件被加入到表空間后就不能刪除這個文件,想要刪除數據文件,只能刪除其所屬于的表空間(一個文件叫做xx.dbf,指的是其物理名稱)
- 表空間(管理數據文件,oracle特有):一個或多個數據文件的邏輯名稱,通過邏輯名稱操作一個或多個數據文件,表空間分為很多段,一個段分很多區,一個區分很多數據塊(邏輯上最小的),一個數據塊對應一個磁盤塊(OS塊物理上的)
- 用戶:一個實例包含多個用戶,一個實例包含多個表空間,一個表空間包含多個用戶,表空間是個邏輯單位,用戶可以建在表空間上,對應的用戶創建的表也在這個表空間中(在表空間的數據文件中,若一個表空間有多個數據文件則進行隨機存儲)
- ps:表空間是一個邏輯單位,管理了很多個物理單位,這些物理的數據文件可以分布到不同的服務器上,無論最后存到哪里,只要找到表空間就能找到數據
三 虛擬機的掛載
- 啟動vm,找到對應的vmx文件雙擊既可自動進行掛載
四 虛擬機增加網卡
- 工具欄編輯/虛擬網絡編輯器
- 三種網卡模式:(本次操作選擇僅主機)
- 橋接模式:表示本地計算機與虛擬機處于同一個局域網,必須有外圍的網絡環境(需要插網線到交換機上)
- 僅主機:表示本地計算機與虛擬機通過一根網線連接起來(不受外部網絡影響)
- NAT模式:表示本地計算機與虛擬機共享了一個ip地址(本地計算機聯網了,虛擬機也能連上網,但本地計算機與虛擬機無法連接)
- 單擊添加網絡,選擇網卡名稱,配置子網ip和子網掩碼(可以不用DHCP分配ip地址)應用確定,于本地網絡中查看新增的網卡ip地址是否正確
- 將網卡設置給虛擬機,右擊虛擬機設置網絡適配器(選擇自定義中的新增的網卡,自己建立的網卡網段容易改),單擊確定
- 想要虛擬機與本地計算機在一個網絡下通信,兩者的ip地址必須處于同一個網段
- 于虛擬機控制面板/網絡連接/本地連接/屬性/Internet協議中將ip地址固定下來
- 通過ping命令進行測試兩者網絡是否連通
五 安裝ORACLE
- 將本地計算機的ORACLE安裝包復制到虛擬機的C盤中,雙擊setup.exe安裝,輸入對應密碼(用于超級管理員賬戶)
- 安裝成功后可在cmd中通過命令sqlplus system/password 進行登錄(安裝后默認用戶名為system)
- 查詢當前數據庫所有的表select * from tabs;
六 遠程連接ORACLE
- 本地計算機中輸入sqlplus system/password@192.168.80.10:1521/orcl(orcl是實例名1521是端口號)遠程連接ORACLE(通過sqlplus的工具instantclient)
七 PLSQL可視化開發工具
-
安裝的目錄中不能有空格中文(可以安裝但是無法遠程鏈接),默認安裝破解
-
首先單擊cancel,雖然沒有登錄但是會進入主界面(沒連接數據庫)
-
進行配置,工具的首選項的連接(connection)中配置home(instantclient工具的目錄位置),library(工具目錄下的oci.dll文件),之后單擊apply再點擊ok,需要借助ORACLE的遠程連接工具才可以進行連接。
-
將遠程的tnsnames.ora文件(oracle/product/10.2.0(版本號)/db_1/NETWORK/ADMIN/tnsnames.ora)拿到本地根目錄下進行配置(告訴ORCL(本地名稱)要到HOST對應的地址找orcl實例(service_name)遠程實例名)保存,相當于剛才sqlplus的@符號后面的部分
-
配置系統變量(聲明遠程文件的位置),變量名為TNS_ADMIN,變量值為E:\(一般放在根目錄不要放的太深)
八 可能遇到的問題
- 中文處理問題:select userenv(‘language’) from dual;該函數的作用是查出當前服務器的編碼格式(dual是偽表),將服務器的編碼配置到本地的客戶端上(復制查詢出的結果SIMPLIFIED CHINESE_CHINA.ZHS16GBK),設置系統變量變量名為NLS_LANG(首字母本地語言支撐),變量值為剛才的查詢結果,重新進入PLSQL生效。
- 可能出現中文變成?的問題,此刻進入oracle的注冊表的home中查看NLS_LANG對應的值是什么,將其修改為中文編碼格式,然后再回到本地pc中設置對應的環境變量
- ORA-12514問題:
① 先看oracle的監聽和oracle的服務是否都啟動了。啟動oracle監聽:
cmd的命令行窗口下,輸入lsnrctl start,回車即啟動監聽。
② 查看oracle的sid叫什么,比如創建數據庫的時候,實例名叫“orcl”,那么先手工設置一下oralce的sid,cmd命令窗口中,set ORACLE_SID=orcl
③ 再輸入sqlplus /nolog,回車
再輸入 conn / as sysdba;回車
④ 再輸入startup,回車.這步是啟動oracle服務。如果startup啟動被告知已經啟動了,可以先輸入shutdown immediate;等shutdown結束之后,再輸入startup。
⑤ 過幾秒鐘等命令運行完成,就能連接了。這個時候,可以輸入"select * from user_tables;"測試一下,看是否有查詢結果。