1.安裝oracle 11g
創(chuàng)新互聯(lián)專注于中大型企業(yè)的網(wǎng)站制作、成都網(wǎng)站制作和網(wǎng)站改版、網(wǎng)站營銷服務(wù),追求商業(yè)策劃與數(shù)據(jù)分析、創(chuàng)意藝術(shù)與技術(shù)開發(fā)的融合,累計客戶上千多家,服務(wù)滿意度達97%。幫助廣大客戶順利對接上互聯(lián)網(wǎng)浪潮,準確優(yōu)選出符合自己需要的互聯(lián)網(wǎng)運用,我們將一直專注品牌網(wǎng)站建設(shè)和互聯(lián)網(wǎng)程序開發(fā),在前進的路上,與客戶一起成長!
2.Oracle自帶的SQL Developer
在安裝完Oracle Database 11g Release 2數(shù)據(jù)庫,想試一下Oracle自帶的SQL DeveloperW工具,在操作系統(tǒng)菜單的所有程序中找到SQL Developer如下所示,并單擊:
結(jié)果卻提示缺少快捷方式,沒找到“SQLDEVELOPER.BAT”,**
在Oracle的安裝目錄D:\DataBaseInstall\Oralce_11g_r2\product\11.2.0\dbhome_1\sqldeveloper\sqldeveloper\bin下的確也沒找到sqldeveloper.bat文件。網(wǎng)上很多人都說重新下載SQL Developer替換掉安裝Oracle時自帶的那個。
重新到Oracle官網(wǎng)下載SQL Developer,當(dāng)前最新版下載地址:
將下載下來的 sqldeveloper64-3.2.20.09.87-no-jre.zip解壓到Oracle安裝目錄下
這時重新單擊操作系統(tǒng)菜單中的“SQL Developer”,看到命令窗口閃一下就消失了??戳艘幌耂QL Developer的“readme.html”文檔知道了SQL Developer 3.2支持的Java版本至少要1.6.0_04。
那就下載當(dāng)前最新JDK安裝,在這里我下載的是jrockit-jdk1.6.0_37-R28.2.5-4.1.0-windows-x64.exe。下載完成后雙擊出現(xiàn)如下安裝界面:
在歡迎窗口中單擊“Next”:
設(shè)置JDK安裝目錄,單擊“Next”:
這里問你是否需要安裝示例或源代碼,根據(jù)需要選擇,這里我就不選了直接單擊“Next”:
這里是否安裝JRE,選擇“Yes”,單擊“Next”:
設(shè)置JRE安裝目錄,單擊“Next”:
安裝過程:
安裝完畢,單擊“Done”關(guān)閉。
現(xiàn)在新的JDK安裝完后,重新單擊操作系統(tǒng)菜單中的“SQL Developer”,這時“SQL Developer”可以啟動,但是報了如下的異常:
Exception initializing 'oracle.dbtools.raptor.plsql.PLSQLAddin' in extension 'Or
acle SQL Developer': java.lang.NoClassDefFoundError: com/sun/jdi/Bootstrap
at oracle.jdevimpl.debugger.jdi.DebugJDIConnector.getVersion(DebugJDICon
nector.java:30)
at oracle.jdevimpl.debugger.support.DebugFactory.(DebugFactory.j
ava:81)
at oracle.dbtools.raptor.plsql.PLSQLAddin.initialize(PLSQLAddin.java:97)
at oracle.ideimpl.extension.AddinManagerImpl.initializeAddin(AddinManage
rImpl.java:407)
at oracle.ideimpl.extension.AddinManagerImpl.initializeAddins(AddinManag
erImpl.java:214)
at oracle.ideimpl.extension.AddinManagerImpl.initProductAndUserAddins(Ad
dinManagerImpl.java:128)
at oracle.ide.IdeCore.initProductAndUserAddins(IdeCore.java:1941)
at oracle.ide.IdeCore.startupImpl(IdeCore.java:1565)
at oracle.ide.Ide.startup(Ide.java:703)
at oracle.ideimpl.DefaultIdeStarter.startIde(DefaultIdeStarter.java:35)
at oracle.ideimpl.Main.start(Main.java:184)
at oracle.ideimpl.Main.main(Main.java:146)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at oracle.ide.boot.PCLMain.callMain(PCLMain.java:62)
at oracle.ide.boot.PCLMain.main(PCLMain.java:54)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodA
ccessorImpl. java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at oracle.classloader.util.MainClass.invoke(MainClass.java:128) at oracle.ide.boot.IdeLauncher.bootClassLoadersAndMain(IdeLauncher.java: 189) at oracle.ide.boot.IdeLauncher.launchImpl(IdeLauncher.java:89) at oracle.ide.boot.IdeLauncher.launch(IdeLauncher.java:65) at oracle.ide.boot.IdeLauncher.main(IdeLauncher.java:54) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at oracle.ide.boot.Launcher.invokeMain(Launcher.java:713) at oracle.ide.boot.Launcher.launchImpl(Launcher.java:115) at oracle.ide.boot.Launcher.launch(Launcher.java:68) at oracle.ide.boot.Launcher.main(Launcher.java:57)
看著異常就不爽啊,解決唄。運行命令行窗口查看是否設(shè)置了JDK系統(tǒng)環(huán)境變量,這里顯然是沒有設(shè)置JDK系統(tǒng)環(huán)境變量:
設(shè)置系統(tǒng)環(huán)境變量
在桌面選中“計算機”右鍵選擇“屬性”,單擊“高級系統(tǒng)設(shè)置”:
在高級選項卡中單擊“環(huán)境變量”:
在系統(tǒng)變量下單擊“新建”,填入變量名“JAVA_HOME”,變量值為JDK的安裝目錄,我這里為“ D:\JAVAEEServiceInstall\Java\jrockit-jdk1.6.0_37-R28.2.5-4.1.0 ”,單擊“確定”:
在系統(tǒng)變量中找到“Path”,單擊“編輯”,在變量值中加入“%JAVA_HOME%\bin”以“;”相隔,單擊“確定”:
系統(tǒng)環(huán)境變量設(shè)置完成后,重新啟動命令行窗口,檢查是否成功。如下為設(shè)置成功:
重新單擊操作系統(tǒng)菜單中的“SQL Developer”,這時“SQL Developer”可以正常啟動:
如果希望不出現(xiàn)“[WARN ][jrockit] MaxPermSize=128M ignored: Not a valid option for JRockit”警告,那用記事本打開SQL Developer的bin目錄下的“sqldeveloper.bat”文件,找到“-XX:MaxPermSize=128M”直接刪除。因為jrockit已經(jīng)不需要-XX:MaxPermSize這樣的參數(shù)了。
注:1.JDK一定要是1.6版本的即U6版本。
2.發(fā)現(xiàn)SQL_developer還是會一閃而過,但是SQL_developerW可以方面使用。
3.Oracle SQL Developer 添加SQLServer 和Sybase 連接
1. 開始只有oracle 和access 連接
\
喎?"/kf/ware/vc/" target="_blank" class="keylink"vcD4KPHA+CjxzdHJvbmc+Mi4gtPK/qk9yYWNsZSBTUUwgRGV2ZWxvcGVyo7o8L3N0cm9uZz48L3A+CjxwPgo8c3Ryb25nPrmkvt+hqqGqPHN0cm9uZz4mZ3Q7PC9zdHJvbmc+ytfRoc/uoaqhqjxzdHJvbmc+Jmd0Ozwvc3Ryb25nPsr9vt2/4qGqoaomZ3Q7tdrI/be9SkRCQ8f9tq+zzNDyoaqhqiZndDvM7bzTx/22r8z1xL88L3N0cm9uZz48YnI+CjwvcD4KPHA+CjxpbWcgc3JjPQ=="/uploadfile/Collfiles/20160421/20160421091223242.jpg" alt="\"
\
3. 自動加載到目錄,JTDS.jar 下載后就到放這里。
(我的路徑:C:\Documents and Settings\Administrator\Application Data\SQL Developer\)
我的JTDS.jar免費下載地址:
\
4. 完成后添加連接有SQLServer 和Sybase了。
\
---------------------------------------------------------------------------------
---------------------------------------------------------------------------------
還有一種添加方法是:
1. 幫助——檢查更新
\
2. 選擇可更新的相關(guān)軟件查件
\
3. 單擊下一步自動更新,則出現(xiàn)下列詳細插件,選取JTDS JDBC Driver……
\
\
4. 填寫在官方網(wǎng)址上的賬戶信息,確定。
\
4.sqlserver 轉(zhuǎn)oracle
上一次,我使用手工轉(zhuǎn)換SQL腳本的方式進行數(shù)據(jù)庫的遷移,其間過程相當(dāng)繁瑣,特別是標識符長度的限制讓我焦頭爛額,因為我們的系統(tǒng)中長標識符真是多如繁星,另外,表結(jié)構(gòu)建好之后,數(shù)據(jù)的遷移又是一個相當(dāng)復(fù)雜的過程,因為修改了不少的表名,需要把導(dǎo)出的數(shù)據(jù)和表一一對應(yīng)上。
但是,除了手工的方式之外,其實我們還有更為簡便和自動化的解決方案,那就是ORACLE官方提供的Sql Developer自帶的Oracle Migration Workbench。
什么是Oracle SQL Developer?在官方頁面上,是這樣介紹它的:
Oracle SQL Developer is a free and fully supported graphical tool for database development. With SQL Developer, you can browse database objects, run SQL statements and SQL scripts, and edit and debug PL/SQL statements. You can also run any number of provided reports, as well as create and save your own. SQL Developer enhances productivity and simplifies your database development tasks .
另外,通過第三方驅(qū)動包,該工具還支持連接和管理各種主流數(shù)據(jù)庫服務(wù)器。
下面就把我使用這個工具遷移Microsoft SQL Server 2008數(shù)據(jù)庫到Oracle 11G的過程記錄下來,為了積累也為分享。
第一部分:獲取工具
第二部分:建立資料檔案庫(Migration Repository)
第三部分:數(shù)據(jù)庫移植向?qū)?/p>
第四部分:SqlServer中的架構(gòu)到Oracle中的模式,名稱的處理
第五部分:轉(zhuǎn)移數(shù)據(jù)
第六部分:存儲過程和函數(shù)
首先,當(dāng)然是獲得工具,該工具在Oracle Sql Developer官方下載頁面里面可以直接下載到。Windows 32位直連地址:Windows 32bit Sql Developer。Oracle Sql Developer需要JDK的支持,在下載頁面中提供了包含JDK的下載包,還有支持各種操作系統(tǒng)的下載選項。
下載后,解壓到任意位置。直接運行程序。第一次運行,需要指定JDK的目錄。
啟動后,我們要做的第一件事,不干別的,先下載SQL SERVER的驅(qū)動程序。點擊菜單幫助,選擇檢查更新,彈出檢查更新向?qū)Т翱冢谝豁撘话闶菑U話,直接下一步,等更新中心列表加載完畢后,只選擇“Third Party SQL Developer extensions”,點擊下一步,等待更新搜索完畢后,中列表中找到并選中 JTDS JDBC Driver,如下圖:
image
下一步,在許可協(xié)議頁面,點擊“我同意”按鈕后再點下一步,等下載完畢后關(guān)閉窗口,彈出提示需要重啟程序才能完成更新,點擊“是”。等程序重啟完畢。
環(huán)境準備完畢,開始進入到正題移植數(shù)據(jù)庫。
建立資料檔案庫(Migration Repository)
一、連接到Oracle
在程序左邊的連接窗口中,點擊加號按鈕,添加一個到Oracle數(shù)據(jù)庫的dba連接,如下圖:
image
配置完成后,點擊連接按鈕,連接到數(shù)據(jù)庫。
二,建立用戶
打開到Oracle數(shù)據(jù)的連接,新建一個用戶,我們要在該用戶的模式中建立所謂的“資料檔案庫”,并使用該用戶去建立SQL Server移植后的用戶名,以及做其它的一些工作。按照幫助中的說明,這個用戶最少需要以下權(quán)限和角色:
Roles
CONNECT WITH ADMIN OPTION,RESOURCE WITH ADMIN OPTION
Privileges
ALTER ANY ROLE,ALTER ANY SEQUENCE,ALTER ANY TABLE,ALTER TABLESPACE,ALTER ANY TRIGGER,COMMENT ANY TABLE,CREATE ANY SEQUENCE,CREATE ANY TABLE,CREATE ANY TRIGGER,CREATE VIEW WITH ADMIN OPTION,CREATE PUBLIC SYNONYM WITH ADMIN OPTION,CREATE ROLE
CREATE USER,DROP ANY SEQUENCE,DROP ANY TABLE,DROP ANY TRIGGER,DROP USER,DROP ANY ROLE,GRANT ANY ROLE,INSERT ANY TABLE,SELECT ANY TABLE,UPDATE ANY TABLE
以下語句直接建立一個名為migrations的用戶:
-- Create the user
create user MIGRATIONS
identified by MIGRATIONS
default tablespace USERS
temporary tablespace TEMP
profile DEFAULT;
-- Grant/Revoke role privileges
grant connect to MIGRATIONS with admin option;
grant resource to MIGRATIONS with admin option;
-- Grant/Revoke system privileges
grant alter any role to MIGRATIONS;
grant alter any sequence to MIGRATIONS;
grant alter any table to MIGRATIONS;
grant alter any trigger to MIGRATIONS;
grant alter tablespace to MIGRATIONS;
grant comment any table to MIGRATIONS;
grant create any sequence to MIGRATIONS;
grant create any table to MIGRATIONS;
grant create any trigger to MIGRATIONS;
grant create any view to MIGRATIONS;
grant create materialized view to MIGRATIONS with admin option;
grant create public synonym to MIGRATIONS with admin option;
grant create role to MIGRATIONS;
grant create session to MIGRATIONS with admin option;
grant create synonym to MIGRATIONS with admin option;
grant create tablespace to MIGRATIONS;
grant create user to MIGRATIONS;
grant create view to MIGRATIONS with admin option;
grant drop any role to MIGRATIONS;
grant drop any sequence to MIGRATIONS;
grant drop any table to MIGRATIONS;
grant drop any trigger to MIGRATIONS;
grant drop tablespace to MIGRATIONS;
grant drop user to MIGRATIONS;
grant grant any role to MIGRATIONS;
grant insert any table to MIGRATIONS;
grant select any table to MIGRATIONS;
grant unlimited tablespace to MIGRATIONS with admin option;
grant update any table to MIGRATIONS;
再次點擊連接中的加號按鈕,添加一個使用剛剛新建立的用戶的連接。
image
連接后,在該連接上點擊右鍵,選擇移植資料檔案庫-關(guān)聯(lián)移植資料檔案庫,程序會在該用戶下建立移植資料檔案庫所需要的表、存儲過程等等,彈出一個對話框顯示當(dāng)前建立的進度,稍等片刻即建立完畢。
數(shù)據(jù)庫移植向?qū)?/p>
一,建立到源SqlServer數(shù)據(jù)庫的連接
在連接窗口中,點擊綠色加號按鈕,打開連接配置窗口,按下圖建立到SqlServer的連接:
image
因為動態(tài)商品的使用,使得原來SqlServer配置頁中默認的1433往往沒有辦法連接到SqlServer2008數(shù)據(jù)庫,修改為1434即可。
二、啟動數(shù)據(jù)庫移植向?qū)?/p>
建立到SqlServer的連接后,開始對數(shù)據(jù)庫進行移植。有兩個地方可以啟動數(shù)據(jù)庫移植向?qū)?,一個是在新建的SqlServer連接上點擊右鍵,選擇移植到Oracle,另一個是在菜單工具-移植-移植,啟動向?qū)Ш?,第一頁?dāng)然是向?qū)У暮喗?,通過簡介,我們可以知道整個移植過程有7步,并且有兩個先決條件,如下圖:
image
直接點擊下一步。
三、選擇資料檔案庫
在這個頁面中,我們也可以去建立連接和資料檔案庫,也就是前一部分中我們所做的工作在這里也可以進行。當(dāng)然選擇我們剛剛建立的migrations連接,如下圖:
image
這里截斷的意思是將資料檔案庫清空,我們建立一個移植項目后,所有抓取的數(shù)據(jù)庫結(jié)構(gòu)信息、統(tǒng)計信息還有轉(zhuǎn)換記錄等都保存在這個資料檔案庫中,只要項目名稱不同,即使不清空資料檔案庫也不會影響到移植工作。當(dāng)然,如果希望更“清爽”一點,也可以勾選。這是后話。
四、為轉(zhuǎn)換項目命名
選擇好資料檔案庫后,點擊下一步,為我們的轉(zhuǎn)換項目輸入名稱和備注,以便識別。另外,還需要指定腳本生成目錄,用于存放向?qū)?zhí)行過程中生成的腳本。
五、選擇源數(shù)據(jù)庫連接
然后繼續(xù)下一步,選擇源數(shù)據(jù)庫,在這里有聯(lián)機和離線兩種模式,聯(lián)機即是直接連接到源數(shù)據(jù)進行抓取,而離線則是在SqlDeveloper不直接連接到源數(shù)據(jù)庫的情況下,通過SqlDeveloper提供的腳本預(yù)先捕獲數(shù)據(jù)庫,得到數(shù)據(jù)庫結(jié)構(gòu)文件后,通過向?qū)?dǎo)入。
這里當(dāng)然是選擇我們剛才建立的SqlServer連接。
六、選擇捕獲源數(shù)據(jù)庫
安裝準備 首先我們需要去下載Oracle10g的安裝包,現(xiàn)在官網(wǎng)上已經(jīng)不提供Oracle10g的下載了。這里提供百度云盤的下載地址: 百度云盤: 官網(wǎng)(11g、12c下載): 安裝 *下載完后,我們解壓縮鏡像文件得到如下目錄:*點擊setup.exe,進入安裝界面:*如果在windows7系統(tǒng)安裝中出現(xiàn)Checkingoperatingsystemversion:mustbe4.0,5.0,5.1or5.2.錯誤,解決辦法安裝程序——》屬性——》兼容性,勾選XP兼容模式和以管理員身份運行此程序,即可。 *出現(xiàn)基本安裝和高級安裝?;景惭b較簡單,配置少,很多配置采用Oracle默認的。這里我們點擊高級安裝,下一步進入如下頁面:*其中,源表示你Oracle的安裝文件完整路徑(不要改變,默認即可),目標表示Oracle的安裝位置,確定好目錄后,點擊下一步:*選擇安裝類型: 企業(yè)版:面向企業(yè)級應(yīng)用,用于對安全性要求較高并且任務(wù)至上的聯(lián)機事務(wù)處理(OLTP)和數(shù)據(jù)倉庫環(huán)境。在標準版的基礎(chǔ)之上安裝所有許可的企業(yè)版選項。 標準版:適用于工作組或部門級別的應(yīng)用,也適用于中小企業(yè)(SME)。提供核心的關(guān)系數(shù)據(jù)庫管理服務(wù)和選項。 個人版:除了僅支持單用戶的開發(fā)和部署之外,與企業(yè)版安裝類型相同(安裝相同的軟件),面向開發(fā)技術(shù)人員。 定制:允許用戶從可安裝的組件列表中選擇安裝單獨的組件。還可以在現(xiàn)有的安裝中安裝附加的產(chǎn)品選項,如要安裝某些特殊的產(chǎn)品或選項就必須選擇此選項。 這里我們選擇企業(yè)版,具體原因我也不清楚。下一步:*指定數(shù)據(jù)庫配置: 全局數(shù)據(jù)庫名:用于區(qū)分在分布式系統(tǒng)中的數(shù)據(jù)庫。一般由數(shù)據(jù)庫名和數(shù)據(jù)庫域組成,格式為“數(shù)據(jù)庫名.數(shù)據(jù)庫域”。 SID(SystemIdentifier):用于區(qū)分同一個數(shù)據(jù)庫中的不同實例。 數(shù)據(jù)庫字符集、數(shù)據(jù)庫示例:看說明。 這里我們?nèi)謹?shù)據(jù)庫名與SID都采用默認的orcl,數(shù)據(jù)庫字符集采用簡體中文,不勾選創(chuàng)建帶樣本方案的數(shù)據(jù)庫。點擊下一步:*選擇數(shù)據(jù)庫管理選項。默認即可,不選擇電子郵件通知。點擊下一步:*指定數(shù)據(jù)庫文件存儲選項: 文件系統(tǒng):指定數(shù)據(jù)庫控制文件、數(shù)據(jù)文件、日志文件等的存儲位置。 自動存儲管理、裸設(shè)備:見說明。 選擇文件系統(tǒng),設(shè)定好存儲路徑。點擊下一步:*指定備份和恢復(fù)選項。采用不啟用備份。點擊下一步:*指定數(shù)據(jù)庫方案的口令。這里不推薦默認口令,我們可以為每個用戶名設(shè)定不同的口令。這里為了記錄方便,我們選擇所有賬戶都采用同一個口令,輸入口令system。點擊下一步:*出現(xiàn)概要信息,描述安裝選項。點擊安裝:*安裝過程有些耗時,耐心等待。配置完畢后,顯示數(shù)據(jù)庫信息窗口。單機口令管理,這里可以鎖定和解鎖用戶、設(shè)置口令等操作:*我們解鎖scott用戶并設(shè)置口令system。點擊確定按鈕返回數(shù)據(jù)庫信息窗口,點擊確定返回“ConfigurationAssistant”窗口,顯示“狀態(tài)”為“成功”:*單擊“下一步”按鈕,就會顯示“安裝結(jié)束”窗口。再點擊退出按鈕。自此Oracle10g的安裝完成。*之后我們便可以在開始菜單中看到安裝的Oracle數(shù)據(jù)庫了。下面我們測試下Oracle數(shù)據(jù)庫是否安裝成功。 測試Oracle安裝是否成功 *這里我們用Oracle數(shù)據(jù)庫自帶的工具SQLPLUS進行操作。點擊開始菜單,路徑如下:*點擊進入如下界面:*輸入用戶名稱scott、口令system、主機字符串orcl。點擊確定,進入如下頁面:*輸入查詢語句,查詢scott用戶下的emp表,出現(xiàn)如下情況,恭喜你Oracle安裝成功。
1. 什么平臺?版本?
vm workstation
2.基本Linux命令
3.安裝oracle 11g
4.常用工具:sqlplus em /oracle sql developer
5.會寫shell腳本
6.遠程工具(系統(tǒng)要安裝ssh)
putty /crt /xmanager
7.上傳工具
ftp 缺點:要開端口 scp /winscp/ fz--fillzilla
8.把圖像傳到操作機器上
測試工具:xclock
借助工具:Xmanager
9.聯(lián)機文檔
10.安裝軟件包 rpm -qa / rpm -ivh
詳細步驟如下:
1、操作系統(tǒng)安裝組建選擇:
GNOME Desktop Environment
Editors
Graphical Internet
Text-based Internet(可以不選擇)
Development Libraries
Development Tools
Server Configuration Tools(可以不選擇)
Administration Tools
Base
System Tools
X Window System
2、為了防止在安裝過程中出現(xiàn)亂碼
vi ?/etc/sysconfig/i18n
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
3、安裝oracle 依賴包;
有的依賴包安裝操作系統(tǒng)時已經(jīng)安裝,這里只裝缺少的,也是必須的,否則,安裝oracle過程會報錯。
compat-libstdc++-33 libaio-devel sysstatunixODBC unixODBC-devel
4、創(chuàng)建必要的用戶組及用戶;
/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/useradd -g oinstall -G dba oracle
passwd oracle
5、創(chuàng)建所需目錄及賦予目錄權(quán)限;
創(chuàng)建oracle安裝目錄:
mkdir-p /data/oracle/app/
mkdir -p/data/oracle/oraInventory
創(chuàng)建oracle數(shù)據(jù)庫存放目錄:
mkdir-p /data/oracle/oradata
chown -R oracle:oinstall /data/oracle/app/
創(chuàng)建oracle備份目錄:
mkdir -p /backup/oracle/
賦予各個目錄權(quán)限:
chown-R oracle:oinstall /data/oracle/oradata
chown -Roracle:oinstall /data/oracle/oraInventory
chmod-R 775 /data/oracle/app/
chmod-R 775 /data/oracle/oradata
chmod -R775 /data/oracle/oraInventory
chown -R oracle:oinstall /backup/oracle/
chmod-R 775 /backup/oracle/
6、修改oracle安裝用戶資源限制;
當(dāng)然,此處的值 需要根據(jù)實際去修改;
vi?/etc/security/limits.conf
oracle soft nproc 2047
oraclehard nproc 16384
oraclesoft nofile 1024
oraclehard nofile 65536
7、設(shè)置oracle用戶環(huán)境變量
su -oracle
vim/home/oracle/.bash_profile? 加入以下內(nèi)容
使環(huán)境變量生效
source/home/oracle/.bash_profile
8、至此oracle安裝完成。
1.配置hostname
[root@oracledb ~]#hostnamectl set-hostname oracledb
[root@oracledb ~]#echo " 10.100.1.10 oracledb" /etc/hosts
2.關(guān)閉selinux和防火墻
[root@oracledb ~]#sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
[root@oracledb ~]#setenforce 0
[root@oracledb ~]#systemctl stop firewalld
[root@oracledb ~]#systemctl disable firewalld
[root@oracledb ~]#systemctl status firewalld
3.下載Oracle軟件包 且上傳到服務(wù)器上,進行解壓縮
建議使用winSCP工具進行上傳到服務(wù)器的/opt目錄下
[root@oracledb ~]# ls -lh /opt/
-rw-r--r-- 1 root root 1.2G Mar 30 16:12 linux.x64_11gR2_database_1of2.zip
-rw-r--r-- 1 root root 1.1G Mar 30 16:11 linux.x64_11gR2_database_2of2.zip
4.安裝oracle環(huán)境所需要的依賴包-配置YUM源
安裝依賴包之前,一定要設(shè)置好服務(wù)器上的安裝源,原因是:可以在沒有互聯(lián)網(wǎng)的時候安裝服務(wù)所需依賴包;常用的安裝源有兩種方式:
(1) 配置本地yum源
新建配置文件vi /etc/yum.repos.d/localsource.repo輸入如下內(nèi)容:
[localsource]
name=localsource
baseurl=
enabled=1
gpgcheck=0
(2) 生成本地yum 緩存
注意:從Oracle 11g 11.2.0.2版本開始,在Linux x86_64上安裝時,只需要安裝64位的軟件包,但是,對于11.2.0.2之前的任何Oracle database 11g,下表中列出的32位和64位的安裝包都必須安裝
5.安裝oracle環(huán)境所需要的依賴包-安裝依賴包
(1)安裝依賴包
[root@oracledb ~]# yum -y install binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel zlib zlib-devel pcre-devel unzip
(2)安裝完成后,檢查依賴是否全部安裝成功
[root@oracledb ~]# rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel zlib zlib-devel pcre-devel unzip | grep "not installed"
(3)創(chuàng)建所需的用戶組和用戶
如果要安裝Oracle數(shù)據(jù)庫,通常需要以下本地操作系統(tǒng)用戶組和用戶:
Oracle inventory組(通常為 oinstall)
OSDBA組 (通常為 dba)
OSOPER組 (通常為 oper)
Oracle軟件所有者(通常為 oracle)
創(chuàng)建用戶組和用戶:
[root@oracledb ~]# groupadd oinstall
[root@oracledb ~]# groupadd dba
[root@oracledb ~]# groupadd oper
[root@oracledb ~]# useradd -g oinstall -G dba oracle
(4)修改oracle用戶密碼:建議密碼配置為字符+數(shù)字+特殊字符
[root@oracledb ~]# passwd oracle
6.配置內(nèi)核參數(shù)和資源限制
(1)編輯配置文件vi /etc/sysctl.conf添加如下參數(shù):
vm.max_map_count = 655360
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 2147483648 ###最小值: 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
注意:如果系統(tǒng)中某個參數(shù)高于上面的參數(shù)的值 ,保留較大的值,上面的數(shù)值只是官方要求的最小值,可以根據(jù)系統(tǒng)調(diào)整數(shù)值,以優(yōu)化系統(tǒng)性能
(2)使內(nèi)核參數(shù)生效
[root@oracledb ~]# sysctl -p
7.創(chuàng)建oracle安裝目錄
如下目錄,根據(jù)自己的實際情況可做修改:
[root@oracledb ~]# mkdir -p /data/app/oracle/product/11.2.0
[root@oracledb ~]# cd /data/app/oracle/
[root@oracledb oracle]# mkdir oradata inventory fast_recovery_area
[root@oracledb ~]# chown -R oracle:oinstall /data/app/oracle
[root@oracledb ~]# chmod -R 775 /data/app/oracle
8.配置oracle用戶環(huán)境變量
編輯配置文件vi /home/oracle/.bash_profile添加如下內(nèi)容:
export ORACLE_BASE=/data/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin
9. 解壓下載好的兩個Oracle數(shù)據(jù)庫文件
[root@oracledb ~]# cd /opt
[root@oracledb ~]# unzip linux.x64_11gR2_database_1of2.zip -d /data
[root@oracledb ~]# unzip linux.x64_11gR2_database_2of2.zip -d /data
10. 編輯靜默安裝響應(yīng)文件
(1)切換到oracle用戶執(zhí)行
[root@oracledb ~]# su - oracle
(2)切換到響應(yīng)文件的目錄下
[oracle@oracledb ~]$ cp -R /data/database/response/ .
[oracle@oracledb ~]$ cd response/
[oracle@oracledb response]$ ls
dbca.rsp db_install.rsp netca.rsp
11.修改配置文件:vi /home/oracle/response/db_install.rsp,修改以下變量的值
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/data/app/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/data/app/oracle/product/11.2.0
ORACLE_BASE=/data/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
DECLINE_SECURITY_UPDATES=true
12. 開始靜默安裝Oracle 11g
(1)開始安裝oracle數(shù)據(jù)庫
[oracle@oracledb ~]$ cd /data/database
[oracle@oracledb ~]$ ./runInstaller -silent -responseFile /home/oracle/response/db_install.rsp -ignorePrereq
注意:安裝期間可以使用tail命令查看oracle的安裝日志,且日志文件名稱是根
據(jù)自己的實際執(zhí)行時間確定的,安裝日志文件會在安裝時提示,需要等待3分鐘左右,注意不要停止運行;安裝完成后有如下提示,如果有類似如下提示,說明安裝完成。
The following configuration scripts need to be executed as the "root" user.
#!/bin/sh
#Root scripts to run
/data/app/oraInventory/orainstRoot.sh
/data/app/oracle/product/11.2.0/db_1/root.sh
To execute the configuration scripts:
1. Open a terminal window
2. Log in as "root"
3. Run the scripts
4. Return to this window and hit "Enter" key to continue
Successfully Setup Software.
13.使用 root用戶執(zhí)行腳本
(1)切換到root用戶執(zhí)行
[root@oracledb ~]# su - root
(2)執(zhí)行兩個用戶腳本
[root@oracledb ~]# sh /data/app/oracle/inventory/orainstRoot.sh
[root@oracledb ~]# sh /data/app/oracle/product/11.2.0/root.sh
14.配置監(jiān)聽程序
(1)切換到oracle用戶執(zhí)行(建議退出重進oracle用戶)
[root@oracledb ~]# su - oracle
(2)配置監(jiān)聽,查看輸出結(jié)果
[oracle@oracledb ~]$ netca /silent /responsefile /home/oracle/response/netca.rsp
(3)查看監(jiān)聽服務(wù)狀態(tài),若沒啟動需要啟動
[oracle@oracledb ~]$ lsnrctl status
[oracle@oracledb ~]$ lsnrctl start
查看結(jié)果:
Parsing command line arguments:
Parameter "silent" = true
Parameter "responsefile" = /data/etc/netca.rsp
Done parsing command line arguments.
Oracle Net Services Configuration:
Profile configuration complete.
Oracle Net Listener Startup:
Running Listener Control:
/data/app/oracle/product/11.2.0/bin/lsnrctl start LISTENER
Listener Control complete.
Listener started successfully.
Listener configuration complete.
Oracle Net Services configuration successful. The exit code is 0
(4)查看監(jiān)聽端口
[oracle@oracledb ~]$ netstat -tnpl | grep 1521
15.靜默創(chuàng)建數(shù)據(jù)庫
GDBNAME = "orcl"
SID = "orcl"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
SYSMANPASSWORD = "oracle"
DBSNMPPASSWORD = "oracle"
DATAFILEDESTINATION =/data/app/oracle/oradata
RECOVERYAREADESTINATION=/data/app/oracle/fast_recovery_area
CHARACTERSET = "ZHS16GBK"
TOTALMEMORY = " 6552 "
##其中TOTALMEMORY = " 6552 " 為6552 MB,物理內(nèi)存8G*80%
(2)切換到oracle用戶執(zhí)行
[root@oracledb ~]# su - oracle
(3)執(zhí)行靜默建庫
[oracle@oracledb ~]$ dbca -silent -responseFile /home/oracle/response/dbca.rsp
執(zhí)行過程如下:
Copying database files
1% complete
3% complete
11% complete
18% complete
26% complete
37% complete
Creating and starting Oracle instance
40% complete
45% complete
50% complete
55% complete
56% complete
60% complete
62% complete
Completing Database Creation
66% complete
70% complete
73% complete
85% complete
96% complete
100% complete
Look at the log file "/data/app/oracle/cfgtoollogs/dbca/orcl/orcl.log" for further details.
(4)查看進程
[oracle@oracledb ~]$ ps -ef | grep ora_ | grep -v grep
(5)再次查看監(jiān)聽狀態(tài)進行確認
[oracle@oracledb ~]$ lsnrctl status
結(jié)果顯示:
The command completed successfully
16.至此數(shù)據(jù)庫就安裝成功了,下面我們登錄下數(shù)據(jù)庫
(1)切換到oracle用戶執(zhí)行
[root@oracledb ~]# su - oracle
(2)登錄數(shù)據(jù)庫
[oracle@oracledb ~]$ sqlplus / as sysdba
(3)查詢實例狀態(tài)
SQLselect status from v$instance;
(4)查看數(shù)據(jù)庫版本
SQL select * from v$version;
(5)激活scott用戶
SQLalter user scott account unlock;
SQLalter user scott identified by tiger;
SQLselect username,account_status from dba_users;
17.設(shè)置Oracle開機啟動
(1)修改配置文件vi /data/app/oracle/product/11.2.0/bin/dbstart 修改如下內(nèi)容:
將腳本中的ORACLE_HOME_LISTNER=$1,修改為ORACLE_HOME_LISTNER=$ORACLE_HOME
(2)修改配置文件vi /data/app/oracle/product/11.2.0/bin/dbshut 修改如下內(nèi)容:
將腳本中的ORACLE_HOME_LISTNER=$1,修改為ORACLE_HOME_LISTNER=$ORACLE_HOME
(3)修改配置文件 vi /etc/oratab修改如下內(nèi)容,
orcl:/data/app/oracle/product/11.2.0:Y
(4)新建文件:vi /etc/rc.d/init.d/oracle 注意:建議全部復(fù)制腳本內(nèi)容
#! /bin/bash
# oracle: Start/Stop Oracle Database 11g R2
# chkconfig: 345 90 10
# description: The Oracle Database is an Object-Relational Database Management System.
# processname: oracle
. /etc/rc.d/init.d/functions
LOCKFILE=/var/lock/subsys/oracle
ORACLE_HOME=/data/app/oracle/product/11.2.0
ORACLE_USER=oracle
case "$1" in
start)
if [ -f $LOCKFILE ]; then
echo $0 already running.
exit 1
fi
echo -n #34;Starting Oracle Database:"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl start"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl start dbconsole"
touch $LOCKFILE
;;
stop)
if [ ! -f $LOCKFILE ]; then
echo $0 already stopping.
exit 1
fi
echo -n #34;Stopping Oracle Database:"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl stop dbconsole"
rm -f $LOCKFILE
;;
restart)
$0 stop
$0 start
;;
status)
if [ -f $LOCKFILE ]; then
echo $0 started.
else
echo $0 stopped.
fi
;;
*)
echo "Usage: $0 [start|stop|status]"
exit 1
esac
exit 0
(5)給 /etc/init.d/oracle添加執(zhí)行權(quán)限
[root@oracledb ~]# chmod +x /etc/init.d/oracle
(6)開機啟動oracle
[root@oracledb ~]# chkconfig oracle on
(7)給啟動文件加權(quán)限
[root@oracledb ~]# cd /data/app/oracle/product/11.2.0/bin/
[root@oracledb bin]# chmod 6751 oracle
[root@oracledb bin]# cd /var/tmp
[root@oracledb tmp]# chown -R oracle:oinstall .oracle
(8)重啟測試
[root@oracledb ~]# reboot
(9)切換到oracle用戶登錄狀態(tài)下
[root@oracledb ~]# su - oracle
[oracle@oracledb ~]$ sqlplus / as sysdba
(10)解除鎖定
SQL alter user SYSTEM account unlock;
(11)這時候就可以用Navicat連接了
SQL conn;
用戶名:SYSTEM
密碼:oracle
如果不能正確連接,改下密碼試試
alter user system identified by 新密碼
[root@oracledb ~]# mkdir -p /data/szzt
[root@oracledb ~]# cd /data/
[root@oracledb data]# chown oracle:oinstall -R szzt
[root@oracledb data]# ll
total 0
drwxr-xr-x 3 root root 20 Apr 8 21:14 app
drwxr-xr-x 8 root root 128 Aug 21 2009 database
drwxr-xr-x 2 oracle oinstall 6 Apr 14 16:17 szzt
[root@oracledb ~]# su - oracle
[oracle@oracledb ~]$ sqlplus / as sysdba
SQL conn cshi
Enter password: 登錄失敗
Connected.
SQL create temporary tablespace DB_DATA_TMP tempfile'/data/szzt/DB_DATA_TMP.dbf' size 500m autoextend on next 100m maxsize 10240m extent management local;
顯示結(jié)果:
Tablespace created.
SQL create tablespace DB_DATA logging datafile'/data/szzt/DB_DATA.dbf' size 2048m autoextend on next 100m maxsize 10240m extent management local;
顯示結(jié)果:
Tablespace created.
SQL create user ceshi identified by ceshi default tablespace DB_DATA temporary tablespace DB_DATA_TMP;
顯示結(jié)果:
User created.
SQL grant dba to ceshi;
顯示結(jié)果:
Grant succeeded.
SQL conn ceshi ###用戶名和密碼一樣,此時登錄成功
[oracle@oracledb ~]$ cd /data/app/oracle/product/11.2.0/bin/
注意:數(shù)據(jù)庫導(dǎo)出操作是在 源服務(wù)器 上進行
[oracle@oracledb bin]$ exp 用戶名/密碼@ IP地址 /orcl file =/data/szzt/ceshi.dmp owner='用戶名'
Export terminated successfully without warnings.
注意:數(shù)據(jù)庫導(dǎo)入操作是在 目標服務(wù)器 上進行
[oracle@oracledb bin]$ imp ceshi/ceshi@ 10.100.1.10 /orcl file=/data/szzt/ceshi.dmp fromuser=ceshi touser=ceshi
顯示結(jié)果:可以看到導(dǎo)入的表過程(10.100.1.10是自己的目標數(shù)據(jù)庫服務(wù)器)
Import terminated successfully without warnings .
(1)、數(shù)據(jù)導(dǎo)入完畢后,我們可以使用DBeaver對數(shù)據(jù)庫進行遠程管理
(2)、測試連接,沒問題后完成新建
(3)、連接上來后,我們就可以使用工具來進行管理數(shù)據(jù)庫