最近在部署一個網頁項目,該項目使用oracle 11g
,本來打算在linux環境進行部署,可是由於各類問題最後轉戰到了win10操做系統下面進行oracle 11g
安裝與配置,總結一些心得。html
知識點:
oracle 11g
是甲骨文(Oracle)公司旗下的一款數據庫產品,其中版本號的g表明的是此版本使用了網格(grid)技術。相似的,在更新的版本12c
中的c表明的是雲(cloud)技術,就版本9i
中的i表明的是因特網(Internet)技術1java
在撰寫此文時,文主對讀者進行如下假設:linux
理解並贊同"代碼即英文的一種表達"的觀點sql
由此文主再也不對文中簡單的代碼進行註釋或解釋數據庫
瞭解xml
語言和其文件的結構windows
第一次接觸Oracle database
產品安全
瞭解sql
語言,但不瞭解sqlplus
語言服務器
在這篇文章中,你將瞭解到:oracle
一部分在windows
環境配置oracle 11g
可能會遇到的問題,及解決的方案ide
你將不會了解到:
具體的oracle 11g
數據庫的安裝步驟
具體的使用oracle 11g
數據庫DBCA來進行數據庫建立與刪除
考慮到有讀者是第一次接觸Oracle
的產品,文中附有參考連接,其版權歸原做者全部
Windows 10 professional x64
已經安裝了java
下載了oracle 11g
的兩個文件包(下載頁面點這裏,須要oracle帳戶並接受條款),並將其解壓到同一個文件夾中。
解壓後將獲得一個database
文件夾,用於安裝的課執行文件setup.exe
就在文件夾中。
請先閱讀這篇文章
注意細節:
啓動的時候可能會遇到了INS-13001 環境不知足最低要求
的錯誤
緣由:在Oracle 11g
版本發佈的時候win10
操做系統尚未面世,須要修改配置信息。
解決步驟:
在database
文件夾中,找到stagecvucvu_prereq.xml
文件
打開cvu_prereq.xml
,在<CERTIFIED_SYSTEMS>
標籤中,添加以下信息:
<OPERATING_SYSTEM RELEASE="6.2"> <VERSION VALUE="3"/> <ARCHITECTURE VALUE="64-bit"/> <NAME VALUE="Windows 10"/> <ENV_VAR_LIST> <ENV_VAR NAME="PATH" MAX_LENGTH="1023" /> </ENV_VAR_LIST> </OPERATING_SYSTEM>
保存文件,退出。
預期結果:重啓數據庫的setup.exe
再次進行安裝,沒有了錯誤提示,而且能夠繼續執行。
測試安裝是否成功
方法一:
打開命令行窗口
按照格式sqlplus user/pwd@db [as sysdba]
鏈接數據庫
解釋一下命令的含義:
sqlplus -> oracle 數據庫使用sqlplus
語言管理數據庫
user -> 用戶名,數據庫默認sys
使用
pwd -> password,在建立數據庫時設置。
db -> database,所要鏈接到哪一個數據庫
[as sysdba] -> 可選項,是否使用管理員權限登錄
方法二:
打開https://localhost:1158/em/查看Oracle的企業管理頁面,如何能看到以下界面則安裝成功。
參見文末指導資料
在遭遇並解決了多個導入報錯警告和權限錯誤以後,成功地使用了對應用戶TBSTEST
將數據文件test100.dmp
導入到數據庫test
的表空間TBS_TEST
中。
知識點:
oracle
體系中,一個數據庫實例包括後臺進程/線程以及在服務器分配的共享內存區,而且經過表空間來存儲物理表的,一個數據庫實例能夠有N個表空間,一個表空間下能夠有N張表。2
以系統管理員的身份打開系統的命令行
以數據庫管理員(DataBase Administrator, DBA)鏈接到數據庫實例test
中:
d:\> sqlplus sys/pwd@test as sysdba
在SQL命令行中,先建立表空間TBS_TEST
:
CREATE TABLESPACE TBS_TEST DATAFILE 'D:\database\oradata\test\TBS_TEST.dbf' -- 指定表空間的存儲位置 SIZE 50m AUTOEXTEND ON;
在SQL命令行中,建立用戶TBSTEST
:
CREATE USER TBSTEST IDENTIFIED BY PWD -- 指定默認表空間,該用戶全部操做都將在這個空間中進行 DEFAULT TABLESPACE TBS_TEST;
退出SQL命令行,並開始導入test100.dmp
的數據:
d:> imp TBSTEST/PWD@test file='d:\test100.dmp' full=y
等待導入操做執行完畢。
預期結果:命令行提示「導入操做成功終止,沒有警告」。
ORA-01031: insufficient privileges
緣由:若使用`sys`帳戶登陸時遇到,能夠確定是控制單元沒有給予帳戶足夠的權限;或者說是OS沒有予以`oracle DBMS`系統特殊文件的操做權限。 解決方案:(牆外)請查看[此視頻](https://www.youtube.com/watch?v=bnVRODAflo8),給電腦的用戶開放權限。 注意: 視頻中給全部用戶甚至是訪客用戶也增長了操做權限,形成數據安全風險,請謹慎處理。
ORA-000959: tablespace 'TBS_TEST' does not exist
正如上文說起,Oracle須要表空間存儲物理表,而導入的時候沒有建立表空間`TBS_TEST`而使用默認的`TMP`表空間則會出現此錯誤。 解決方法: 如上文建立對應的表空間便可。
ORA-12899: 列 "tablespace"."table"."attribute"的值太大(實際值:xxx, 最大值: xxx)
緣由:導入數據集的原字符集與被導入數據庫的字符集不一致 解決方案:修改數據集原字符集或是被導入數據庫的字符集,使其一致,一般修改後者。
若是有疏漏之處,歡迎讀者補充說明。
[Oracle 11gr2 軟件安裝和數據庫建立步驟詳解
](https://blogs.oracle.com/Data...