1. 程式人生 > >超詳細 在linux環境部署oracle 的學習心得(系統部署持續更新~~)

超詳細 在linux環境部署oracle 的學習心得(系統部署持續更新~~)

Oracle安裝

檢查的命令

記憶體

# grep MemTotal /proc/meminfo

交換空間

# grep SwapTotal /proc/meminfo

磁碟空間

# df -ah

Linux平臺

檢視聯機文件,可以看出Oracle 11g支援Linux作業系統

下面是 X86(32)Linux


其中RedHat 4Oracle Linux 4對應,以及與Cent OS 4對應(版本要對應)

需要的軟體包支援

通過檢視Oracle安裝文件中列出的PackageRequirements可以檢視在不同平臺上需要的軟體包,下面列出Asianux 3, Oracle Enterprise Linux 5.0, andRed Hat Enterprise Linux 5.0

的要求,檢查

匯入包的資料夾

1.在虛擬機器中設定使用CD/DVD  使用檔案rhat.iso  注意:上面點選連線

2.cd media

3.cd RHEL_6.4 x86_64 Disc 1

4.cd Packages

5.yum install 包名

下系統是否安裝過這些包,如果沒在對應的系統光碟查詢對應的rpm包並安裝。

檢查工作:依次執行:rpm-qa | grep下面軟體包

binutils-2.17.50.0.6
compat-libstdc++-33-3.2.3
elfutils-libelf-0.125
elfutils-libelf-devel-0.125
elfutils-libelf-devel-static-0.125
gcc-4.1.2
gcc-c++-4.1.2
glibc-2.5-24
glibc-common-2.5
glibc-devel-2.5
glibc-headers-2.5
kernel-headers-2.6.18
ksh-20060214
libaio-0.3.106
libaio-devel-0.3.106 
libgcc-4.1.2
libgomp-4.1.2
libstdc++-4.1.2 
libstdc++-devel-4.1.2
make-3.81
sysstat-7.0.2
unixODBC-2.2.11
unixODBC-devel-2.2.11

binutils-2.17.50.0.6

compat-libstdc++-33-3.2.3

elfutils-libelf-0.125

elfutils-libelf-devel-0.125

elfutils-libelf-devel-static-0.125

建立Oracle使用者

root使用者下:建立Oracle安裝組oinstall,資料庫管理員組dba,及oracle使用者

# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
# /usr/sbin/useradd -g oinstall -G dba oracle
(主組oinstall,其它組:dba


# passwd oracle

修改核心引數

root使用者:修改 /etc/sysctl.conf 檔案,加上如下引數(注意數字之間的空格,一定要加上,否則報錯)

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 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 = 1048586

為使上述配置生效而不重啟系統,執行如下命令

# /sbin/sysctl -p

修改使用者限制

root使用者:修改 /etc/security/limits.conf 檔案,加上下面的引數

oracle          soft    nproc   2047
oracle          hard    nproc   16384
oracle          soft    nofile  1024
oracle          hard    nofile  65536

修改使用者驗證選項

root使用者下:修改/etc/pam.d/login檔案加上如下引數

session   required     pam_limits.so

修改使用者配置檔案

root使用者下:修改/etc/profile檔案加入如下引數:

if [ $USER = "oracle" ]; then
        if [ $SHELL = "/bin/ksh"]; then
             ulimit -p 16384
             ulimit -n 65536
        else
             ulimit -u 16384 -n 65536
        fi
fi

安裝目錄配置

root使用者:

# mkdir -p /u01/oraInventory
# chown -R oracle:oinstall /u01/
# chmod -R 775 /u01/

修改使用者bash

$ vi .bash_profile

增加如下內容,主要是修改

export ORACLE_BASE=/u01 
export ORACLE_HOME=$ORACLE_BASE/oracle
export ORACLE_SID=oracleSid 
export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin

完成後執行:

#su –oracle

#env | grep ORA檢視環境變數是否完成

Oracle 11g 安裝

安裝軟體

使用oracle使用者登入,然後解壓縮Oracle安裝檔案:

$ unzip linux_11gR1_database.zip

然後進入解壓後的目錄,執行

       $./runInstaller

然後進入解壓後的目錄,執行


選擇高階安裝,高階也挺簡單


預設oraInventory認為是根目錄下,oracle使用者沒有寫許可權,所以warning,不用管執行下一步


修改inventory directory目錄為/u01/oralInventory,此時oracle使用者就有寫許可權,下一步:


  oracle會進行安裝前檢查工作,如果沒有錯誤,則直接下一步。

可能出現的錯誤是:

1)修改的系統配置檔案沒有生效,最絕的辦法,重啟系統

2)靜態IP問題,如果你使用了靜態IP,則應該開啟/etc/hosts新增靜態IP指定:如192.168.188.10      localhost.localdomain(路由域名)

3)記憶體問題,如果記憶體設定1G左右,或稍微較少時,可忽略

一直下一步,安裝完成!但此時沒有建立資料庫

建立資料庫

首先配置Listener

$ netca       (netconfiguration)

注意:此時可能報如下錯誤

 

是由於預設的主機名導致的,修改兩處:

[[email protected] ~]$ cat/etc/sysconfig/network
NETWORKING=yes
HOSTNAME=test11g
GATEWAY=192.168.1.254

[[email protected] ~]$ cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1               localhost.localdomainlocalhost test11g

hostname test11g

埠使用1521(在沒有啟用防火牆情況下,所有埠號都可以使用),直接下一步至完成,完成後檢視是否啟動:

$ ps –ef | grep LISTENER

建立資料庫

$dbca      (database configuration)

下一步


選擇預設,下一步

輸入資料庫名和SID(如示例中:oracleSid,一定要匹配)下一步


下一步


使用共同口令,如:oracle,下一步,直到如下圖所示:


此時需要注意字符集的選擇,對於含有中文資料的資料庫來說,可以選擇Unicode編碼(如果字符集選擇不對,後面再修改時非常麻煩)


下一步,選擇安裝一些示例資料庫,一路下一步,將會開始建立資料庫

建立完資料庫後,將會在/u01/oradata目錄下建立相應的資料,並且可以使用命令

ps –ef | grep oracle

檢視已經啟動的oracle程序

到此,oracle資料庫軟體及資料庫安裝完成。

Oracle 測試

接上一節,可以使用sqlplus測試是否已經成功安裝oracle,如下:

$sqlplus /nolog

SQL>conn / as sysdba

SQL>create table mytable(namevarchar(10), age int);

SQL>insert into mytablevalues(‘user1’,12);

SQL>select * from mytable;

關閉資料庫

檢視oracle程序:

SQL> !ps –ef | grep oracle

關閉oracle

SQL>shutdown immediate

總結

下面將上面介紹的安裝過程進行總結,來源:Linux開源公社

1、檢查硬體

記憶體

# grep MemTotal /proc/meminfo

交換空間

# grep SwapTotal /proc/meminfo

磁碟空間

# df -ah

2、下載軟體

Oracle Database 10g Release 2 (10.2.0.1)Software下載位置:

http://otn.oracle.com/software/products/database/oracle10g/index.html

3、修改host檔案

檢視/etc/hosts檔案中必須包含a fully qualified name for the server

4、安裝軟體包檢查

1、檢查下列包是否安裝,若未安裝則要先安裝:

binutils-2.17.50.0.6-2.el5

compat-libstdc++-33-3.2.3-61

elfutils-libelf-0.125-3.el5

elfutils-libelf-devel-0.125

glibc-2.5-12

glibc-common-2.5-12

glibc-devel-2.5-12

gcc-4.1.1-52

gcc-c++-4.1.1-52

libaio-0.3.106

libaio-devel-0.3.106

libgcc-4.1.1-52

libstdc++-4.1.1

libstdc++-devel-4.1.1-52.e15

make-3.81-1.1

sysstat-7.0.0

unixODBC-2.2.11

unixODBC-devel-2.2.11

# rpm -qa | grep make gcc glibc compatopenmotif21 setarch 等等

5、libstdc包的連結

(老版本需求,新版本oracle11不要設定):

ln -s /usr/lib/libstdc++.so.6.0.3/usr/lib/libstdc++.so.5           

#檢測存在如果不做此連結,在安裝過程中建好資料庫,將會出現不能連結不上資料庫問題。

三、引數設定

1、設定核心引數

/etc/sysctl.conf檔案中加入下列行:

#kernel.core_uses_pid = 1

kernel.shmall = 2097152

kernel.shmmax = 2147483648 -- (以位元組為單位,實體記憶體數量*1024*1024*2,為記憶體的2)

kernel.shmmni = 4096

# semaphores: semmsl, semmns, semopm,semmni

kernel.sem = 250 32000 100 128

fs.file-max = 65536

net.ipv4.ip_local_port_range = 1024 65000

net.core.rmem_default=8388608

net.core.rmem_max=8388608

net.core.wmem_default=262144

net.core.wmem_max=262144

esc :wq!

# sysctl -p #執行下列命令改變核心引數

2、設定Shell Limits(系統資源限制),提高軟體的執行效率

a./etc/security/limits.conf檔案中加入下列紅色行:

oracle soft nofile 65536

oracle hard nofile 65536

oracle soft nproc 16384

oracle hard nproc 16384

b./etc/pam.d/login檔案中加入下列行,如果裡面沒有的話:

session required /lib/security/pam_limits.so

session required pam_limits.so

c./etc/profile後加入以下語句:

vi /etc/profile

if [ $USER = "oracle" ]; then

if [ $SHELL = "/bin/ksh" ]; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

fi

3、建立使用者和組及相關目錄

--建立dba/oper/oinstall

/usr/sbin/groupadd dba

/usr/sbin/groupadd oper

/usr/sbin/groupadd oinstall

--建立oracle使用者並設定使用者所屬組

/usr/sbin/usermod -g oinstall -G dba oracle

/usr/sbin/useradd -g oinstall -G dba oracle

passwd oracle

# id oracle

uid=501(oracle) gid=501(oinstall)groups=501(oinstall),502(dba)

--建立相關安裝目錄

mkdir -p /opt/oracle/product

mkdir -p /opt/oracle/product/OraHome

mkdir -p/opt/oraInventory                     #(the default inventory folder)

mkdir -p/opt/oracle/oradata                  #(change the right file owner)

mkdir -p /var/opt/oracle

--設定目錄所有者和許可權

chown -R oracle.oinstall /opt/oracle

chown -R oracle.oinstall/opt/oracle/oradata

chown -R oracle.oinstall/opt/oracle/product/OraHome

chown -R oracle.dba /opt/oraInventory

chown oracle.dba /var/opt/oracle

chmod -R 775 /opt/oracle

chmod -R 755 /var/opt/oracle

4、設定安裝環境變數

# su - oracle --suoracle使用者下,

更改使用者的一些配置

$vi .bash_profile

新增以下引數,主要是配置oracle軟體運環境引數

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

       .~/.bashrc

fi

export ORACLE_BASE=/opt/oracle

exportORACLE_HOME=$ORACLE_BASE/product/OraHome

export ORACLE_SID=orcl

export ORACLE_OWNER=oracle

export ORACLE_TERM=vt100

exportPATH=$PATH:$ORACLE_HOME/bin:$HOME/bin

export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib

export LD_LIBRARY_PATH

CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib

export CLASSPATH

:

11g:ORA_NLS33=$ORACLE_HOME/nls/admin/data

10gORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data

9iORA_NLS33=/oracle/app/ora92/ocommon/nls/admin/data

儲存退出

--執行以下命令讓配置馬上生效或以oracle使用者登入使設定生效

$ source $HOME/.bash_profile

相關推薦

詳細linux環境部署oracle學習心得系統部署持續更新~~

Oracle安裝 檢查的命令 記憶體 # grep MemTotal /proc/meminfo 交換空間 # grep SwapTotal /proc/meminfo 磁碟空間 # df -ah L

Oracle學習心得乾貨

1、orcale不區分大小寫,標誌符(表名,列名,別名等)是區分大小寫的;標誌符沒有加雙引號,預設自動轉換為大寫執行 2、orcale中雙引號作用:轉義非法標誌符為合法,強制標誌符原始大小寫執行 3、oracle中日期型別沒有常量這一說,預設日期字串格式dd-m

golang在linux環境下自定義包一招解決問題

由於是go語言新手,有些簡單的問題處理起來有點困難。現在從go安裝到執行詳細地說起 關於go語言在linux環境下自定義包的問題困擾了我好大一會。 下面我就從前往後詳細地說一下解決方法,一招解決問題。 (I)linux下解決,從go安裝開始說起 命令安裝比直接在先下載golang

黑馬《linux基礎程式設計》學習筆記從31到35

三十一. vim命令模式切換到編輯模式  沒講的,簡單操作下就好 三十二. 末行模式,命令模式,切換和儲存退出 三十三. vim末行模式下替換操作 演示一個例子 接下來我們用Tom替換Mike :s/Mike/Tom/gc 執行結果如圖(

操作系統運行環境與運行機制系統調用篇

str 決定 efi 中斷處理程序 ima char () ext 使用 系統調用: 用戶在編程是可以調用的操作系統功能(使CPU可以從用戶態陷入內核態) 應用程序,C函數,API,和內核函數關系 系統調用機制的設計 ①中斷/異常機制 支持系統調用服務的實現

機器學習 吳恩達 課程筆記自用,持續更新

機器學習 吳恩達 簡介 本筆記為自用筆記,因此只記錄了自己覺得重要的部分,所以不建議想要系統學習的人閱讀此筆記。 緒論 監督學習 我們給演算法一個數據集,其中包含了正確的答案,目的為給出更多的正確答案 “迴歸問題”:regression “分類問題”:cla

史上最全python面試題詳解 附帶詳細答案關注、持續更新

23、re的match和search區別? re.match()從開頭開始匹配string。 re.search()從anywhere 來匹配string。 # 多行模式>>> re.match('X', 'A\nB\nX', re.MULTILINE) # No ma

史上最全python面試題詳解附帶詳細答案關注、持續更新

38、面向物件深度優先和廣度優先是什麼?     39、面向物件中super的作用? 40、是否使用過functools中的函式?其作用是什麼? 1 Python自帶的 functools 模組提供了一些常用的高階函式,也就是用於處理其它函式的特殊函式。

Cocos2d-x:學習筆記2017.05.12更新

1.參考連結彙總 2.建立Sprite auto bg = Sprite::create("level-background-0.jpg"); bg-&g

詳細LAMP環境手動編譯安裝實例

ring develop 最新版 $path 成功 prefix profile you 手動 LAMP編譯安裝實例: HTTPD編譯安裝: 下載軟件包: # wget http://mirrors.hust.edu.cn/apache//apr/apr-

Linux環境解決Oracle 中文亂碼

address bash num chinese rar lib product rtu strong linux下Oracle顯示中文亂碼 1.Oracle數據庫出現亂碼的原因:操作系統與服務器一致,但客戶端與服務器字符集不一致客戶端與服務器一致,但操作系統與服務器不一致

詳細Linux配置DHCP服務器

inux cover 搭建 圖片 不能 fig tex 關於 其他 概述DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)通常被應用在大型的局域網絡環境中,主要作用是集中的管理、分配IP地址,使網絡環境中的主機動態的獲得IP

詳細】Centos7 安裝 Oracle 12c

bst 密碼 sts 請求 空閑 繼續 mas 進程 dfa 系統配置 CentOS 7.4 x86_64操作系統; Oracle 12 c 只支持64位的Linux系統。不支持32Linux平臺; Orache安裝配置: 內存容量:4GB及以上; Swap容量:8GB

Java開發學習心得:SSM環境搭建

Java開發學習心得(一):SSM環境搭建 有一點.NET的開發基礎,在學校學過基礎語法,對JAVA有點興趣,就簡單學習了一下,記錄一下從哪些方面入手的,暫時不打算深入到原理方面,先簡單搭下環境看看,所以有些地方可能講得不慎準確。 1 SSM框架 從網上的討論來看,SSM框架似乎正在慢慢被Spring

linux環境oracle 11g 靜默安裝

linux環境下oracle 11g 靜默安裝 編寫人:黃寶康 編寫日期:2018-11-15 1、編寫目的 運維人士經常需要幹一些環境搭建的事,對於linux下安裝oracle,雖然說可以使用帶圖形介面的安裝,只需要設定oracle的安裝目錄,設定sid名稱,db_name例項名稱

linux環境下安裝ngnix步驟詳細

安裝準備開始前,請確認gcc g++開發類庫是否裝好,預設已經安裝。ububtu平臺編譯環境可以使用以下指令apt-get install build-essentialapt-get install libtoolcentos平臺編譯環境使用如下指令 安裝make:yum

Oracle資料庫學習心得

20、單行函式:每次執行函式,傳入一行列值,返回一個結果;多行函式:每次執行函式,傳入多行列值,返回一個結果 21、字元型函式: (1)大小寫轉換:lower(小寫)、upper(大寫)、initcap(首字母大寫) (2)拼接字串:concat,例 selec

詳細 Linux 下編譯安裝Redis 以及php配套使用

一、Linux 下安裝Redis 下載地址:http://redis.io/download,下載最新文件版本。 把滑鼠移到上圖的綠色框上,就會顯示下圖提示:(直接右鍵複製連結就好) 本教程使用的舊版,文件版本為 3.2.11,(舊版的連結在同一頁面的下方找的到)下載並安裝:

Oracle學習心得

1.安裝官網:www.oracle.com 2.安裝過程注意事項:需修改資料庫編碼為UTF-8 3.sqlplus命令: (1)格式化命令:設定每行的長度SET LINESIZE 長度;設定每頁的長度SET PAGESIZE 長度 (2)連線資料庫 sqlplu

linux環境下開發 學習之旅一

今天是在學習的第一天,雖然教的內容並不難,但是在沒有任何基礎下的學習並不會顯得輕鬆,之前大學都是蜻蜓點水一樣的學習知識,但是今天的學習有一半是需要我們自己動手去做的,一開始老師在上面飛快的敲,作為一張白紙只能看見飛快的程式碼行在冒出,但是經過一會的適應和老師的磨