Linux下Oracle 11G XE 安裝筆記


操作系統

[oracle@RAC02 ~]$ lsb_release -a
LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: OracleServer
Description: Oracle Linux Server release 6.6
Release: 6.6
Codename: n/a
[oracle@RAC02 ~]$

數據庫版本

oracle-xe-11.2.0-1.0.x86_64.rpm.zip

oracle-xe-11.2.0-1.0.x86_64.rpm

 

SQL> select * from V$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
PL/SQL Release 11.2.0.2.0 - Production
CORE 11.2.0.2.0 Production
TNS for Linux: Version 11.2.0.2.0 - Production
NLSRTL Version 11.2.0.2.0 - Production

 

安裝過程

在安裝之前要注意,oracle對於系統的空間是有要求的,安裝前可以查看下:

一、使用free -m查看交換空間大小,oracle XE 要求至少有1.2G 的交換空間,擴充的方法在我另外一篇博文上已經說明。傳送門 http://www.linuxidc.com/Linux/2012-08/66973.htm

使用df -h查看tmpfs的大小,oracle XE 在init.ora文件中給出了最低要求,默認是1G 。

這里我們要把tmpfs擴充為2G:

1.修改/etc/fstab文件:

找到此行:tmpfs                   /dev/shm                tmpfs   defaults      0 0

修改為:    tmpfs                   /dev/shm                tmpfs   defaults,size=2048M      0 0

2.重新加載tmpfs:

使用命令:

#umount /dev/shm; mount /dev/shm;

然后輸入

df -h /dev/shm查看輸出:

Filesystem            Size   Used    Avail Use% Mounted on
tmpfs                      2.0G  492M  1.6G  25%    /dev/shm

說明重新加載成功。 【Linux公社 http://www.linuxidc.com 】

二、做完這些,我們還要做一些安裝一些依賴包:

yum install libaio*

來安裝libaio包

之后解壓安裝包,

unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip

 進入Disk1文件夾

安裝解壓后的rpm包

rpm -ivh oracle-xe-11.2.0-1.0.x86_64.rpm

 

三、修改/etc/profile文件,添加如下內容:

# Oracle Settings

TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/xe; export ORACLE_HOME
ORACLE_SID=XE; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
TNS_ADMIN=$ORACLE_HOME/network/admin
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH

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

修改完后使用命令 # source /etc/profile 重新加載改文件。

輸入 echo $ORACLE_BASE修改是否成功。

四、修改/etc/hosts文件,添加如下內容:

127.0.0.10 hostname(hostname根據實際情況填寫)

五、以super user身份運行以下腳本進行配置:

# /etc/init.d/oracle-xe configure

包括http的端口,如果你的服務器上運行了tomcat 而且沒有改過端口配置 要把默認的8080端口換掉以免沖突。

另外,程序還會要求你為默認管理員賬戶 sys 設置密碼。隨后會等待一段時間,請耐心。

安裝結束后,系統會自動建立一個名為oracle的用戶,home dir位置在 /u01/app/oracle 也就是數據庫安裝的位置。

六、切換只oracle用戶 使用sqlplus鏈接數據庫

sqlplus /nolog

進入sqlplus控制台

SQL> connect as sysdba

提示輸入用戶名密碼: 使用sys/password登錄

啟動並裝載數據庫

SQL>  startup mount

11g xe版本已經內置了一個設置好的數據庫 XE, 因此不許要手動創建數據庫,但是需要初始化數據庫結構

運行一下兩行代碼:

SQL> @?/rdbms/admin/catalog.sql
SQL> @?/rdbms/admin/catproc.sql


等待出現提示complete之后,進行下一步。

如果運行過程中出現database didn‘t open 則需要重新啟動並裝載數據庫。 【Linux公社 http://www.linuxidc.com 】

接下來創建用戶,初始數據庫中應當已經存在users表,因此直接插入數據就可以了:

SQL> create user myaccount
      2   identified by “mypassword”
      3   default tablespace users;

授權用戶:

SQL> grant dba to myaccount;


之后可以exit然后用該用戶登錄。

插表測試:

SQL> create table test_table (txt varchar2(100) not null);
SQL> insert into test_table values('Hello world !');


插入數據成功后查詢

SQL> select * from test_table;

如果查詢成功,那么恭喜你,大功告成了!

一些問題:

如果出現錯誤:

ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist


一般是由於數據庫沒有啟動,需要以DBA身份登錄數據庫后輸入startup

在做之前請確保/u01/app/oracle/product/11.2.0/xe/dbs/文件夾中 存在init<SID>.orc文件存在

ORA-00845:MEMORY_TARGET not supported on this system

請查看你的init.orc文件中memory_target項中的值是否小於tmpfs,否則請擴充tmpfs容量。

ORA-44410:XE edition single instance violation error

XE版本中只能有唯一一個instance,筆者安裝時,程序自動生成了一個叫做XE的instance並且路徑已經設置好,至於如何添加新的instance請高人指明。

或者

保證你環境變量沒有以'/'結尾 同時TNS_ADMIN變量已經設置。至於為什么這么改..希望有高人也能告訴我。

ORA-01261:Parameter db_recovery_file_dest destination string connot be translated

ORA-01262:Stat failed on a file destination directory

關於這個錯誤,比較無語,在init.orc中,db_recovery_file_dest destination 這一項的初始值是"<ORACLE_BASE>/flash_recovery_area"

如果你只修改了<ORACLE_BASE>你就會得到這個錯誤,因為在$ORACLE_BASE下只有一個文件叫做fast_recovery_area,把后面的文件名修改匹配后,問題解決。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM