Centos6安裝oracle10g


剛剛開始學OCP。第一關,安裝,被折騰得稀碎。。。查詢了大量資料,多次失敗后終於總結出一些經驗,簡單整理如下。【2014-12-11 重新整理了一下順序,修改了腳本!

需要注意的是:如果想嘗試我提供的環境設置腳本,一定要根據自己的實際情況修改變量!

Centos6安裝oracle10g
一、安裝流程
1、最小安裝Centos6.6虛擬機(虛擬機系統推薦Virtualbox https://www.virtualbox.org ),Centos6鏡像地址 http://mirrors.163.com/centos/6.6/isos/x86_64/CentOS-6.6-x86_64-minimal.iso

  • CPU: 2
  • MEM: 2G
  • DISK: >=20G (創建固定大小的虛擬硬盤文件能提高安裝速度)
  • 分區時選最上面的 Use All Space
  • 手工指定主機名、分配IP地址

2、上傳環境設置腳本,編輯變量部分,IP、主機名等值必須與本機相符。核查無誤后,運行環境設置腳本(因為腳本沒有做容錯,所以只能運行一次),環境設置腳本會提示如下錯誤,忽略。
error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key
error: "net.bridge.bridge-nf-call-iptables" is an unknown key
error: "net.bridge.bridge-nf-call-arptables" is an unknown key

3、安裝桌面環境和依賴包

[root@centos6 ~]# yum install wget -y && \
yum groupinstall "Desktop" "X Window System" && \
yum install ksh make sysstat binutils* compat-libstdc++-33* \
elfutils-libelf* gcc gcc-c++ glibc* glibc*.i686 libgcc* libgcc*.i686 \
libaio* libaio*.i686 libstdc++* libstdc++*.i686 libXp libXp.i686 \
libXt libXt.i686 libXtst libXtst.i686

安裝過程中以orausr用戶登錄,將學習用的Oracle10g安裝包復制到/home/orausr,解壓縮。如果虛擬機磁盤文件是自動增長的,此時可以用dd指令擴擴容。

[orausr@centos6 ~]$ wget http://10.34.67.204/package/oracle10g/Oracle10g-10201-Linux-X64.cpio.gz
[orausr@centos6 ~]$ gunzip Oracle10g-10201-Linux-X64.cpio.gz
[orausr@centos6 ~]$ cpio -idmv < Oracle10g-10201-Linux-X64.cpio
[orausr@centos6 ~]$ 
[orausr@centos6 ~]$ rm Oracle10g-10201-Linux-X64.cpio
[orausr@centos6 tmp]$ cd /tmp
[orausr@centos6 tmp]$ dd if=/dev/zero of=test bs=10M count=800 oflag=sync
[orausr@centos6 tmp]$ rm test

 

4、安裝完成后重啟系統!

5、以orausr用戶登錄控制台,運行 startx 啟動桌面,桌面里打開終端運行 ./database/runInstaller 安裝Oracle10g。以下選擇僅供參考:

  • 選擇Advanced Installation
  • 仔細核查安裝目錄是否跟腳本一致
  • 選擇Enterprise Edition,選擇Product Languages,增加 Simplified Chinese
  • Name推薦跟主機名一致,再次核查安裝目錄
  • 等待自檢依賴項,完畢后點Next
  • 選擇Create a database
  • 選擇General Purpose
  • Global Database Name、SID可以不動,選擇Database Character Set 為 Unicode standard UTF-8 AL32UTF8,選擇Create database with sample schemas
  • 點Next
  • 選擇File System,核查數據文件位置
  • 選擇Do not enable Automatic backups
  • 選擇Use the same password for all the accounts,輸入密碼,需要字母開頭,大小寫數字結合
  • 點Install
  • 忽略報錯,點 Continue
  • 點OK
  • 以root身份運行完兩個腳本后,點OK

中間會出現一個編譯錯誤,Error in invoking target 'collector' of makefile '/opt/oracle/10.2.1/instance0/sysman/lib/ins_emdb.mk'. 可以點“Continue”忽略。

6、安裝結束時,runInstaller會提示在root終端窗口運行兩個腳本 orainstRoot.sh,root.sh,照做就行,接着完成Installer里面的操作,重啟服務器。
如果安裝失敗,重新安裝之前需要刪除安裝目錄和一些文件
    /opt/oracle/*
    /opt/oraInventory/*
    /etc/oratab
    /usr/local/bin/* (新裝系統這里只有3個Oracle程序,不會有其他文件)

二、使用Oracle
1、啟動

[orausr@centos6 ~]$ emctl start dbconsole
[orausr@centos6 ~]$ lsnrctl start
[orausr@centos6 ~]$ dbstart

emctl start dbconsole啟動時間很長,要耐心。

第一次手工運行dbstart會報錯,需要修改dbstart腳本。嗯,oracle有個工程師叫vikrkuma,他寫腳本有點兒馬虎。。。

[orausr@centos6 ~]$ vi $ORACLE_HOME/bin/dbstart
ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle  替換為 ORACLE_HOME_LISTNER=$ORACLE_HOME

2、訪問

sqlplus訪問:

[orausr@centos6 ~]$ sqlplus /nolog
SQL> conn /as sysdba
SQL> startup
SQL> show linesize;
linesize 80
SQL> set linesize 160;
SQL> select * from scott.emp;

     EMPNO ENAME      JOB           MGR HIREDATE        SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7369 SMITH      CLERK          7902 17-DEC-80        800            20
      7499 ALLEN      SALESMAN          7698 20-FEB-81       1600        300       30
      7521 WARD       SALESMAN          7698 22-FEB-81       1250        500       30
      7566 JONES      MANAGER          7839 02-APR-81       2975            20
      7654 MARTIN     SALESMAN          7698 28-SEP-81       1250       1400       30
      7698 BLAKE      MANAGER          7839 01-MAY-81       2850            30
      7782 CLARK      MANAGER          7839 09-JUN-81       2450            10
      7788 SCOTT      ANALYST          7566 19-APR-87       3000            20
      7839 KING       PRESIDENT        17-NOV-81       5000            10
      7844 TURNER     SALESMAN          7698 08-SEP-81       1500      0       30
      7876 ADAMS      CLERK          7788 23-MAY-87       1100            20

     EMPNO ENAME      JOB           MGR HIREDATE        SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7900 JAMES      CLERK          7698 03-DEC-81        950            30
      7902 FORD       ANALYST          7566 03-DEC-81       3000            20
      7934 MILLER     CLERK          7782 23-JAN-82       1300            10

14 rows selected.

SQL>
SQL> create user jerry identified by password123;
SQL> grant create session to jerry;
SQL> conn jerry/password123
SQL> show user;

 

OEM Web管理(需要先在sqlplus運行startup后才能正常):
http://192.168.122.2:1158/em


三、環境設置腳本
ins-c6-10g.sh

#!/bin/bash
#script for Oracle10g installation on Centos6.6
#Change the following variables for your installation.
local_ip="192.168.122.2"
host_name="centos6"
host_name_fqdn="centos6.localdomain"
oracle_user="orausr"
oracle_user_password="mysql"
oracle_base="/opt/oracle"
oracle_home="/opt/oracle/10.2.1/instance0"
oracle_data="/opt/oracle/data"
oracle_data_recoveryarea="/opt/oracle/data_recover"
oracle_inventory="/opt/oraInventory"
oracle_sid="centos6"
#Change the above variables for your installation.
 
echo "${local_ip} ${host_name} ${host_name_fqdn}" >>/etc/hosts

groupadd -g 505 dba groupadd
oinstall groupadd oper useradd ${oracle_user} echo ${oracle_user_password}|passwd --stdin ${oracle_user} usermod -g oinstall -G dba ${oracle_user} mkdir -p ${oracle_base} mkdir -p ${oracle_data} mkdir -p ${oracle_data_recoveryarea} mkdir -p ${oracle_home} mkdir -p ${oracle_inventory} chown -R ${oracle_user}:oinstall ${oracle_base} chmod -R 755 ${oracle_base} chmod -R g+s ${oracle_base} chown -R ${oracle_user}:oinstall ${oracle_inventory} chmod -R 755 ${oracle_inventory} chmod -R g+s ${oracle_inventory} sysctl_value=" kernel.sem = 250 32000 100 128 fs.file-max = 65536 kernel.shmall = 2097152 kernel.shmmax = 1054525444 kernel.shmmni = 4096 net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default = 262144 net.core.rmem_max = 262144 net.core.wmem_default = 262144 net.core.wmem_max = 262144 vm.hugetlb_shm_group = 505 " /bin/cp /etc/sysctl.conf /etc/sysctl.conf.bak echo -e "${sysctl_value}" >> /etc/sysctl.conf sysctl -p limits_value=" ${oracle_user} soft nofile 1024 ${oracle_user} hard nofile 65536 ${oracle_user} soft nproc 2047 ${oracle_user} hard nproc 16384 " /bin/cp /etc/security/limits.conf /etc/security/limits.conf.bak echo -e "${limits_value}" >> /etc/security/limits.conf bash_profile_value=" umask 022 ORACLE_BASE=${oracle_base} ORACLE_SID=${oracle_sid} ORACLE_HOME=${oracle_home} ORACLE_UNQNAME=${oracle_sid} export ORACLE_BASE ORACLE_SID ORACLE_HOME ORACLE_UNQNAME PATH=$PATH:${oracle_home}/bin export PATH " /bin/cp /home/${oracle_user}/.bash_profile /home/${oracle_user}/.bash_profile.bak echo -e "${bash_profile_value}" >> /home/${oracle_user}/.bash_profile /bin/cp /etc/redhat-release /root/redhat-release.bak echo "redhat4" > /etc/redhat-release
service iptables stop
service ip6tables stop
chkconfig iptables off
chkconfig ip6tables off
setenforce 0
sed 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux -i
 
echo echo "All prepared! Restart the system and then run Oracle Installer in linux GUI."

 

四、啟動過程示范:

[orausr@centos6 ~]$ emctl start dbconsole
TZ set to PRC
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0  
Copyright (c) 1996, 2005 Oracle Corporation.  All rights reserved.
http://c608:1158/em/console/aboutApplication
Starting Oracle Enterprise Manager 10g Database Control .............................. started. 
------------------------------------------------------------------
Logs are generated in directory /opt/oracle/10.2.1/instance0/c608_c608/sysman/log 
 
[orausr@centos6 ~]$ 
[orausr@centos6 ~]$ lsnrctl start
 
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 11-DEC-2014 14:36:50
 
Copyright (c) 1991, 2005, Oracle.  All rights reserved.
 
Starting /opt/oracle/10.2.1/instance0/bin/tnslsnr: please wait...
 
TNSLSNR for Linux: Version 10.2.0.1.0 - Production
System parameter file is /opt/oracle/10.2.1/instance0/network/admin/listener.ora
Log messages written to /opt/oracle/10.2.1/instance0/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=c608)(PORT=1521)))
 
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 10.2.0.1.0 - Production
Start Date                11-DEC-2014 14:36:52
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /opt/oracle/10.2.1/instance0/network/admin/listener.ora
Listener Log File         /opt/oracle/10.2.1/instance0/network/log/listener.log
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=c608)(PORT=1521)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
 
[orausr@centos6 ~]$ 
[orausr@centos6 ~]$ dbstart
[orausr@centos6 ~]$ sqlplus /nolog
 
SQL*Plus: Release 10.2.0.1.0 - Production on Thu Dec 11 14:37:56 2014
 
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
 
SQL> conn /as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.
 
Total System Global Area  557842432 bytes
Fixed Size              2022280 bytes
Variable Size         163579000 bytes
Database Buffers      385875968 bytes
Redo Buffers            6365184 bytes
Database mounted.
Database opened.
SQL> select * from scott.emp;

 


免責聲明!

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



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