最近剛到公司上班,大致了解了一下公司的流程之後,發現數據庫非常需要惡補一下,以前在學校學習的一些數據庫都是SQLserver,以及一些增,刪,改,查的基本操作,
這些都是好早好早以前的事了,後來大部分時間都用來學習匯編,搞逆向去了,為了自己的發展必須要打好開發的基礎,當然數據庫是必要的,oracle對我來說確實感覺非常陌生以前基本沒有接觸過,經過最近幾天的折騰,大概了解了一下oracle數據庫的安裝,簡單的配置,畢竟還是小白,以後還需要繼續惡補,下面就是最近自己的一些新的和收獲。
1. 首先是oracle的安裝
對於一個軟件的安裝,在我的印象中,貌似絕大多數軟件都是非常容易安裝的,一般安裝軟件會自己配置好自己的運行環境,自己創建並開啟自己所需要的一些服務,以及在注冊表中創建一些需要用到的項,等等,但是我在安裝oracle的時候並沒有那麼順利,我記得剛開始安裝的時候使用的是公司的電腦(win7旗艦版64位,配置還湊合,組裝的機器。。),首先我安裝的版本是 win64_11gR2_database (當時10 那個版本用的很少,也就沒用了)11g這個版本的如下圖所示:
相信安裝過的都對這個界面很熟悉,直接點擊下一步:
上面這個界面我們可以根據自己的實際情況選擇,如果是初次安裝的話,就選擇第一個就可以了,
點擊下一步:
關於上面這個 有兩個選項,就是一個是桌面類,一個是服務器類,其實我麼你用的話完全可以選擇桌面類,對以後使用也沒什麼影響(個人感覺),如果先澤服務器類的話,配置會更加詳細,這個可以根據自己的實際情況來選擇,這次我們就先選擇桌面類,點擊下一步:
上面這些就是即將要創建的數據庫的一些位置,字符類型,什麼類型的數據庫,這裡我選擇的是企業版,這裡可以按照默認的就可以了,需要注意的就是管理口令,這個口令使以後登錄數據庫的時候的口令,也就是密碼,這個一定要記住,用這個口令登錄的用戶名稱有system sys 等這幾個用戶的口令都是這個自己設置的口令,這個口令的格式可以隨意輸入,雖然他會提示不符合規則,但是可以忽略,這個對於我們自己並非特別專業的人員來說並沒有什麼影響。點擊下一步:
出現上面這個界面,我們只需要等待一下就可以了,如果正常的話會出現這個界面:
遇見這個界面,我們安靜的等待就可以了,這個需要好長時間,這裡面最容易出現錯誤,當時我安裝的時候就在這裡出現了一大堆的錯誤,首先是一個服務未響應或啟動,在這裡需要說明一下,oracle正常運行的話,所需要啟動的服務是這幾個:
Oracle ORCL VSS Writer Service,OracleDBConsoleorcl,OracleJobSchedulerORCL,OracleMTSRecoveryService,OracleOraDb11g_home1ClrAgent,OracleOraDb11g_home1TNSListener,OracleServiceORCL。其中OracleDBConsoleorcl,
OracleMTSRecoveryService,OracleOraDb11g_home1TNSListener,OracleServiceORCL是默認自動啟動的,OracleJobSchedulerORCL是默認自動禁止的,其余的默認為
這七個服務的含義分別為:
Oracle ORCL VSS Writer Service:Oracle卷映射拷貝寫入服務,VSS(Volume Shadow Copy Service)能夠讓存儲基礎設備(比如磁盤,陣列等)創建高保真的時間點映像,即映射拷貝(shadow copy)。它可以在多卷或者單個卷上創建映射拷貝,同時不會影響到系統的系統能。(非必須啟動)
OracleDBConsoleorcl:Oracle數據庫控制台服務,orcl是Oracle的實例標識,默認的實例為orcl。在運行Enterprise Manager(企業管理器OEM)的時候,需要啟動這個服務。(非必須啟動)
OracleJobSchedulerORCL:Oracle作業調度(定時器)服務,ORCL是Oracle實例標識。(非必須啟動)
OracleMTSRecoveryService:服務端控制。該服務允許數據庫充當一個微軟事務服務器MTS、COM/COM+對象和分布式環境下的事務的資源管理器。(非必須啟動)
OracleOraDb11g_home1ClrAgent:Oracle數據庫.NET擴展服務的一部分。 (非必須啟動)
OracleOraDb11g_home1TNSListener:監聽器服務,服務只有在數據庫需要遠程訪問的時候才需要。(非必須啟動,下面會有詳細詳解)。
OracleServiceORCL:數據庫服務(數據庫實例),是Oracle核心服務該服務,是數據庫啟動的基礎, 只有該服務啟動,Oracle數據庫才能正常啟動。(必須啟動)
那麼在開發的時候到底需要啟動哪些服務呢?
對新手來說,要是只用Oracle自帶的sql*plus的話,只要啟動OracleServiceORCL即可,要是使用PL/SQL Developer等第三方工具的話,OracleOraDb11g_home1TNSListener服務也要開啟。OracleDBConsoleorcl是進入基於web的EM必須開啟的,其余服務很少用。
手動操作。
我遇到的問題1
我在安裝的時候這個 OracleOraDb11g_home1TNSListener 服務有時候會啟動不了,這個服務所依賴的是E:\app\admin\product\11.2.0\dbhome_2\BIN\TNSLSNR 這個路徑下的一個可執行文件
有時候會缺少這個文件導致服務不能正常運行。
我遇到的問題2:
OracleServiceORCL 這個服務無法正常啟動,原因是因為這個服務所依賴的oracle.exe 這個可執行文件不能正常啟動,
我們可以點擊這個服務,查看屬性局可以看到這個服務得一些依賴的文件,當時我的電腦的環境出錯,導致這個可執行文件不能正常運行,最後重新裝了一下系統,解決了,有的時候是因為卸載以前裝過的oracle不徹底導致,這幾點都需要在出現安裝錯誤的時候去考慮一下,當時我也是因為這幾個問題折騰了好幾天。
如果上面都安裝順利的話,那麼你的oracle的數據庫的基本環境已經搭載好了,下面的就是需要創建新的用戶,設置相應的權限,導入相應的數據庫備份(.dmp文件),創建表空間等等的一些操作。為了適應自己的需求我以自己的一些實際操作過程大概說一下自己最近的一些操作:
如果安裝成功,那麼就可以打開數據庫的命令界面輸入相應的數據庫命令即可(有的人也許會問在哪裡輸入數據庫的命令呢? 其實為了方便可以直接win+R 輸入cmd,進入黑框也就是windows的命令行界面,輸入sqlplus 就會提示你屬入用戶名 在沒有創建新的用戶前可以輸入system 這個不區分大小寫,然後輸入口令就是安裝的時候設置的那個口令,然後就會進入數據庫的命令行界面,
)
下面就可以輸入相應的數據庫命令了
下面的一些操作是我使用的時候做的一些基本操作:
首先創建表空間(就是開辟空間用來存放東西)
--創建采集流程庫數據表空間
復制代碼 代碼如下:CREATE TABLESPACE HIIP_DEF LOGGING DATAFILE 'E:\app\admin\oradata\orcl\HIIP_DEF.dbf' SIZE 64M AUTOEXTEND ON NEXT 64M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL AUTOALLOCATE;
--創建采集流程庫臨時表空間
復制代碼 代碼如下:CREATE temporary TABLESPACE HIIP_TEMP tempfile 'E:\app\admin\oradata\orcl\HIIP_TEMP.dbf' SIZE 64M AUTOEXTEND ON NEXT 64M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL;
-- 創建采集流程庫用戶 (創建一個新的登錄用戶,就像是system,但是還需要給這個創建的用戶授予一些權限)
create user hiip identified by hiip default tablespace HIIP_DEF temporary tablespace HIIP_TEMP profile DEFAULT quota unlimited on HIIP_DEF; -- Grant/Revoke object privileges 給用戶授目標權限 grant select, insert, update, delete on SYS.DBA_JOBS to hiip; -- Grant/Revoke role privileges 給用戶授角色權限 grant connect to hiip; grant dba to hiip; grant resource to hiip; -- Grant/Revoke system privileges 給用戶授系統權限 grant create database link to hiip; grant force any transaction to hiip; grant unlimited tablespace to hiip; grant execute any procedure to hiip; grant create any table to hiip; grant select any table to hiip; grant insert any table to hiip; grant delete any table to hiip; grant update any table to hiip;
需要注意的一點是oracle的命令要以“;”結尾,不然的話會出錯誤。
下面介紹一下怎麼將一個備份的數據庫文件(.dmp)導入到需要的數據庫中,在這裡我講一個數據庫文件導入到hiip這個用戶中
剛開始我也不知道怎麼導入的,後來也是問別人的,那要怎麼做呢,不是在這個命令行裡邊,從新打開一個CMD窗口,輸入imp 命令
就會出現輸入用戶名和口令的界面,輸入剛才創建的用戶名hiip輸入口令,就會提示是否要導入相應的數據庫文件,我麼你直接輸入yes就可以了,然後將需要導入的數據庫的文件的路徑輸入到上面去,OK,enter 就可以了看見數據庫文件正在被導入庫中。
下面就是怎麼將數據庫的文件導出 那就是exp 命令 ,同樣是在cmd下執行,導出的時候需要選則導出的內容,這個可以根據自己的情況選擇,還需要輸入導出的文件存放的位置和文件名稱,這個輸入之後就會自己創建,導出成功後就會出現XX.dmp文件 這個就是導出的數據庫文件。
數據庫的其他一些操作以後繼續熟悉。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持幫客之家。