原文:http://www.cnblogs.com/alsw/p/4023245.html
簡介
之前也在linux下安裝過oralce,可每次都是迷迷糊糊的,因爲大腦一片空白,網上隨便看見一個文檔就直接複製,最後搞了亂七八糟,雖然裝上了,卻亂得很,最近幾天因爲離職,交接的時候又要安裝oracle,發現老遇到錯誤,導致裝不上了,通過這次我好好的研究了下oracle,非要搞清楚它,現在記錄下來,希望能給其他網上朋友遇到問題時提供點幫助,該篇文件借鑑大量網友的總結,首先謝謝他們!
安裝環境
Linux 服務器: | SuSe11-linux 64/32位 |
Oracle服務器: | Oracle11gR2 64/32位 |
系統要求
內存: | 必須高於1G的物理內存 |
交換空間: | 一般爲內存的2倍,例如:1G的內存可以設置swap 分區爲3G大小 |
硬盤 : | 5G以上 |
系統配置
一、在root用戶下執行以下步驟:
1)修改用戶的SHELL的限制,修改/etc/security/limits.conf文件,輸入命令:vi /etc/security/limits.conf,按i鍵進入編輯模式,將下列內容加入該文件
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 |
編輯完成後按Esc鍵,輸入“:wq”存盤退出.(不配置好的話安裝時就會提示什麼空間不足,達不到xxx…要求無法安裝)
2)修改/etc/pam.d/login 文件,輸入命令:vi /etc/pam.d/login,按i鍵進入編輯模式,將下列內容加入該文件
session required /lib/security/pam_limits.so |
編輯完成後按Esc鍵,輸入“:wq”存盤退出
3)修改linux內核,修改/etc/sysctl.conf文件
kernel.shmall = 268435456 fs.file-max=6815744 fs.aio-max-nr=1048576 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range=9000 65500 net.core.rmem_default=4194304 net.core.rmem_max=4194304 net.core.wmem_default=262144 net.core.wmem_max=1048586 |
編輯完成後按Esc鍵,輸入“:wq”存盤退出
4)要使 /etc/sysctl.conf 更改立即生效,執行以下命令。 輸入:sysctl -p
5)編輯 /etc/profile ,輸入命令:vi /etc/profile,按i鍵進入編輯模式,將下列內容加入該文件
if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi umask 022 fi |
編輯完成後按Esc鍵,輸入“:wq”存盤退出
6)創建相關用戶和組,作爲軟件安裝和支持組的擁有者
創建用戶,輸入命令: groupadd oinstall (創建用戶和組) 創建Oracle用戶和密碼,輸入命令:(賦予權限) useradd -d /home/oracle -g oinstall -G dba -m oracle passwd oracle 然後會讓你輸入密碼,密碼任意輸入2次,但必須保持一致,回車確認 |
7)創建數據庫軟件目錄和數據文件存放目錄,目錄的位置,根據自己的情況來定,注意磁盤空間即可,這裏我把其放到oracle用戶下,例如:
輸入命令: mkdir -p /u01/app/oracle mkdir -p /opt/oracle |
8)更改目錄屬主爲Oracle用戶所有,輸入命令:
chown –R oracle:oinstall /u01/app chown -R oracle:oinstall /opt/oracle chmod 755 -R /u01/app chmod 755 -R /opt/oracle |
二、在oracle用戶下執行以下步驟:
9)配置oracle用戶的環境變量,首先,切換到新創建的oracle用戶下
輸入:su–oracle ,然後直接在輸入 :vi /home/oracle/.bash_profile ,按i編輯 .bash_profile,進入編輯模式,增加以下內容:
umask 022 export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.0.1/db_1 export ORACLE_SID=orcl PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/Opatch:$ORACLE_HOME/jdk/bin:$PATH export PATH export LC_ALL="en_us" export LANG="en_us" export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK" export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS" |
編輯完成後按Esc鍵,輸入“:wq”存盤退出
安裝oracle系統
1、當上述系統要求操作全部完成後,註銷系統,在圖形界面以Oracle用戶登陸。首先將下載的Oracle安裝包複製到linux中,推薦用Xmanager 或其他ftp工具拷貝,
把oracle安裝包linux_11gR2_database.zip用oracle用戶傳至/opt/oracle下
(下面兩步驟需要在root用戶下執行) 解壓 unzip linux.x64_11gR2_database_1of2.zip unzip linux.x64_11gR2_database_2of2.zip 賦於剛解壓出來的文件夾權限 chmod 777 -R /opt/oracle/database/ |
2、安裝前檢測依賴包(如需下載:http://download.csdn.net/detail/alsw555/8033873,還有個免費網站可以下載:http://rpm.pbone.net(如果不想一個個搜索,就到我csdn上下載吧))
1、rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc- gcc-c++ libaio-devel libaio libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel pdksh 2、rpm -q binutils compat-db control-center gcc gcc-c++ glibc glibc-common gnome-libs libstdc++ libstdc++-devel make pdksh sysstat xscreensaver libaio openmotif21 3、rpm -q gcc make binutils setarch compat-db compat-gcc compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel unixODBC unixODBC-devel libaio-devel sysstat 以上檢測是肯定會提示哪些rpm沒有安裝,如果沒檢測也不要緊,後面oracle安裝的時候還是檢測不通過的,那時你在安裝也不遲。 |
3、在oracle用戶上執行安裝oracle數據庫軟件
輸入命令: cd /opt/oracle/database ./runInstaller |
4、解決亂碼(字符集不一樣,此時安裝可能會出現亂碼,解決如下:)
export LANG=en_US
5、安裝過程(列出需要注意的截圖,其他默認都是下一步即可)
6、經過漫長的等待後,安裝完成:
安裝完成後,系統會提示你需要用root權限執行2個shell腳本。按照其提示的路徑,找到其所在的位置,
注意:切換到root用戶,在命令符下執行 /u01/app/oraInventory/orainstRoot.sh
然後再給出oracle_home路徑 |
建立oracle數據庫
1) 還是在oracle用戶的圖形界面oracle用戶中,新開啓一個終端,直接輸入命令dbca會彈出如下界面。我們這裏採用定製數據庫,如果沒有啓動注意.bash_profile環境變量和屏幕顯示問題(xclock、xhost +)
注:這裏選第一和第二都行,看您需求 輸入統一密碼(也可以分別設置其密碼) 數據庫存放位置默認就好,你也可以自己設置 不指定快速恢復和歸檔 去掉不常用的模塊 內存分配及指定字符集 注意:字符集選的不對,後面導數據或者其他地方都會出現很多問題,這個字符集跟你們項目需求設定統一 安裝完畢 |
建立配置監聽
1) 在oracle用戶的圖形界面oracle用戶中,新開啓一個終端,輸入命令netca 會彈出如下界面
啓動數據庫
1、默認數據庫建立後就啓動了,如果服務器重新啓動,那就要手工去啓動它了,命令如下:
export ORACLE_SID=orcl(選擇自己需要啓動的數據庫SID) echo $ORACLE_SID (顯示實例名) sqlplus /nolog connect sys as sysdba (輸入您的密碼) startup(數據庫啓動) |
2、啓動監聽
首先退出上面啓動數據庫的sql執行,用quit或者exit退到普通命令行上 啓動監聽:lsnrctl start(如果監聽名稱不是默認這個,則啓動您對應的監聽名稱) |
建立表空間
1、建立臨時表空間,創建用戶前必須要先創建臨時表空間和數據庫表空間兩個表空間,否則用系統默認的表空間不好
create temporary tablespace ha_temp tempfile'/u01/app/oralce/oradata/orcl/ha_temp.dbf' size 1024m autoextend on next 100m maxsize 10240m extent management local; |
說明:
1)zd_temp 臨時表空間名字 2)/u01/app/oralce/oradata/orcl/ 存放數據庫文件的地方,一般是安裝數據庫後有控制文件,數據文件和日誌文件的文件夾,再加上要創建表空間的名字+dbf (數據文件) 3)1024m 表空間的初始大小 4)100m 表空間的自動增長大小 5)10240m 表空間最大的大小 |
2、創建數據表空間
create tablespace ha logging datafile'/u01/app/oralce/oradata/orcl/ha.dbf' size 1024m autoextend on next 100m maxsize 10240m extent management local; |
3、創建用戶並指定表空間
create user ha1 identified by zd315 default tablespace abc temporary tablespace ha; |
4、給用戶授予權限
create user ha1 identified by zd315 default tablespace ha; |
linux下imp導入oracle數據庫dmp文件
輸入命令: imp ha1/zd315@orcl file=/opt/oracle/hadrp.dmp ignore=y full=y |
說明:ha1:用戶名;
zd315:密碼;
orcl:數據庫實例名;
file後面是dmp文件放置的路徑。
window下連接
1、Instant Client 11g 客戶端安裝和配置
2、pl/sql工具即可連接了