ORACLE學習–安裝

來源:互聯網
上載者:User

這一章會逐步的講解ORACLE 11g R2的安裝,以及在安裝過程中碰到的一些問題。我的安裝環境如下:

OS: Cent OS 6.2;

Oracle 11g R2;

VMWare 7;

 

1. create oracle user

安裝oracle不能在root使用者下,需要create一個user作為dba並且安裝oracle

首先create oracle需要的一些usergroup:

Oracle Inventory group

root> /usr/sbin/groupadd oinstall

Database Administrators Group

root> /usr/sbin/groupadd dba

Database Operation Group

root> /usr/sbin/groupadd oper

然後create user,並且修改user的密碼。

root> /usr/sbin/useradd –g oinstall –G dba,oper oracle

root> passwd oracle

create完user後可以使用id命令查看剛剛create的user

root> id oracle

 

2. 安裝oracle

這一步需要先轉到oracle使用者:

root> su – oracle

1)首先解壓安裝檔案。

如果VMWare沒有安裝VMTools的話是不能直接把安裝檔案分享權限設定到VM中,你可以先安裝好VMTools再進行copy。

但是,如果你跟我一樣安裝VMTools失敗了的話,可以使用另一種辦法,那就是把安裝檔案製作成ISO檔案,再載入到VM的光碟機中。

cd到光碟機位置:

oracle> cd /media

將安裝檔案copy到home目錄下:

oracle> cp ./linux_11g_database_1of2.zip ~/

oracle> cp ./linux_11g_database_2of2.zip ~/

解壓:

oracle> unzip linux_11g_database_1of2.zip

oracle> unzip linux_11g_database_2of2.zip

unzip會將安裝檔案解壓到目前的目錄的database檔案夾下。

然後cd到解壓後的database目錄下,執行runInstaller。

oracle> cd ./database

oracle> ./runInstaller

執行runInsstaller後如無意外,圖形介面就是出來,然後一跟Next就可以完成oracle的安裝了。

 

3. 設定環境變數

oracle安裝完成後,執行任何command都會提示command not found。

這是因為oracle的環境變數沒有設定,linux從已經有的PATH路徑下找不到oracle的command。以下命令來設定oracle需要的一些環境變數。

root> vi /etc/profile

添加如下內容:

export ORACLE_BASE=/myoracle/app

export ORACLE_HOME=/myoracle/app/product/11.2.0/dbhome_1

export ORACLE_SID=orcl

export PATH=$PATH:$ORACLE_HOME/bin

添加完以上內容以後,查看PATH環境變數(echo $PATH)可以看到,$ORACLE_HOME/bin目錄已經在了linux的PATH變數中,執行oracle的command時linux也會搜尋這個目錄去尋找command的執行檔案了。

 

安裝問題:

在安裝的前一部分會有一個系統檢查可能會出現以下問題:

 

>>>Could not execute auto check for display colors using command /usr/bin/xdpyinfo. Check if the DISPLAY variable is set.      Failed<<<<

解決辦法:

在root下執行以下命令即可以解決:xhost +

 

“/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory”

這是由於在64-bit的OS運行32-bit的程式裡可能會出現的問題。使用yum安裝32-bit的glibc。

oracle> sudo yum install glibc.i686

 

VM硬碟空間不夠;

有一些VM預設硬碟空間可能不能滿足oracle 11g R2的要求,那就需要我們手動添加一個hard disk。

首先,在VM settings裡面添加一個空間足夠的Hard Disk。

啟動VM。

首先要找到新添加的硬碟,然後再格式化,最後Mount上。

root> fdisk –l 查看linux目前所有的硬碟,找到沒有分區的那個硬碟,我的VM中沒有分區的硬碟為/dev/hdb

首先對新硬碟進行格式化:

root> fdisk /dev/hdb

此處輸入n表示new一個分區

此處需要選擇分區的類型,是主要磁碟分割還是輔助分區,我選擇的是p(主要磁碟分割)。

選擇了主要磁碟分割以後會讓你再選擇分區編號,也就是跟在硬碟名稱後面的數字(比如選擇1,則分區名為/dev/hdb1)

接下來的步驟直接斷行符號使用預設值就OK了。

完成分區以後再執行命令 [root> fdisk –l]可以看到硬碟/dev/hdb已經進行了分區:

分區完成後,需要對分區再進行格式化,只有格式化了的分區才能進行掛載,linux才可以使用它。格式化硬碟分區命令如下:

root> mkfs –t ext3 /dev/hdb1

以上工作全都完成以後就可以對新硬碟進行掛載。

首先建立一個路徑用於掛載新硬碟:

root> mkdir /hdb1

root> mount /dev/hdb1 /hdb1

由於我們會將oracle安裝在這個新硬碟上,所以必需合oracle使用者有這個掛載的許可權,

root> chown oracle /hdb1

重啟以後需要重新掛載,如果想重啟後仍然使掛載有效,則需要添加一條記錄到/etc/fstab.

root> vi /etc/fstab

在最後添加如下記錄:

/dev/sdb1    /www    ext3    defaults 1 2

(格式說明:/dev/sdb1 代表哪個分區  ext3是該分區的格式 defaults 是掛載時所要設定的參數(唯讀,讀寫,啟用quota等),輸入defaults包括的參數有(rw、dev、exec、auto、nouser、async) ,1是使用dump是否要記錄,0是不要。 2是開機時檢查的順序,是boot系統檔案就為1,其他檔案系統都為2,如不要檢查就為0)

至此,我們就會有足夠的空間來安裝oracle了,只要我們在安裝oracle的過程中選擇安裝在/hdb1目錄下。

環境變數都設定好了,但是執行sqlplus時還是提示找不到命令(command not found).

oracle> sqlplus /nolog
bash: sqlplus: command not found

執行如下命令則可以解決:
root> ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
[root@dg1 ~]# su - oracle
[oracle@dg1 ~]$ sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on Mon May 11 12:51:24 2009

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

SQL> conn / as sysdba
Connected to an idle instance.

 

Oracle can not be started, ORA-00845

Oracle 11g的Linux版本在修改了MEMORY_TARGET或者SGA_TARGET後啟動可能會報錯:

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORA-00845: MEMORY_TARGET not supported on this system

這個問題是由於設定SGA的大小超過了作業系統/dev/shm的大小:

[root@enterprice64 ~]# df -k /dev/shm
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 4089416 0 4089416 0% /dev/shm

Oracle在metalink的文檔:Doc ID: Note:460506.1中進行了說明。解決這個問題只有兩個方法,一種是修改初始化參數,使得初始化參數中SGA的設定小於/dev/shm的大小,另一種方法就是調整/dev/shm的大小。

修改/dev/shm的大小可以通過修改/etc/fstab來實現:

[root@enterprice64 ~]# vi /etc/fstab

LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
LABEL=/data /data ext3 defaults 1 2
devpts /dev/pts devpts gid=5,mode=620 0 0
#tmpfs /dev/shm tmpfs defaults 0 0
tmpfs /dev/shm tmpfs defaults,size=10240M 0 0
LABEL=/home /home ext3 defaults 1 2
LABEL=/opt /opt ext3 defaults 1 2
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
LABEL=/usr /usr ext3 defaults 1 2
LABEL=/var /var ext3 defaults 1 2
LABEL=SWAP-sda8 swap swap defaults 0 0
~
~
"/etc/fstab" 13L, 965C written
[root@enterprice64 ~]# umount /dev/shm
[root@enterprice64 ~]# mount /dev/shm
[root@enterprice64 ~]# df -k /dev/shm
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 10485760 0 10485760 0% /dev/shm
[root@enterprice64 ~]# su - oracle
[oracle@enterprice64 ~]$ sqlplus "/ as sysdba"

SQL*Plus: Release 11.1.0.6.0 - Production on Tue Oct 23 15:42:42 2007

Copyright (c) 1982, 2007, Oracle. All rights reserved.

Connected to an idle instance.

SQL> startup
ORACLE instance started.

Total System Global Area 4743446528 bytes
Fixed Size 2143824 bytes
Variable Size 3892316592 bytes
Database Buffers 805306368 bytes
Redo Buffers 43679744 bytes
Database mounted.
Database opened.

修改/etc/fstab,重新mount /dev/shm,然後就可以啟動資料庫了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.