CentOS6.5(X64)下全字符方式安装ORACLE12C

一、安装oracle

1、创建用户组和用户

# groupadd oinstall
# groupadd dba
# groupadd oper

# useradd -u 500 -g oinstall -G dba,oper oracle

2、根据官方文档检查并安装依赖包(http://docs.oracle.com/database/121/LTDQI/toc.htm#BABGGEBA

rpm -q <package_name>检查包是否存在,如不存在使用yum install <package_name>进行安装。

依赖包清单如下:

binutils-2.20.51.0.2-5.11.el6 (x86_64)
compat-libcap1-1.10-1 (x86_64)
compat-libstdc++-33-3.2.3-69.el6 (x86_64)
gcc-4.4.4-13.el6 (x86_64)
gcc-c++-4.4.4-13.el6 (x86_64)
glibc-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6 (x86_64)
ksh
libgcc-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6 (x86_64)
libstdc++-devel-4.4.4-13.el6 (x86_64)
libaio-0.3.107-10.el6 (x86_64)
libaio-0.3.107-10.el6 (i686)
libaio-devel-0.3.107-10.el6 (x86_64)
libXext-1.1 (x86_64)
libXtst-1.0.99.2 (x86_64)
libX11-1.3 (x86_64)
libXau-1.0.5 (x86_64)
libXau-1.0.5 (i686)
libxcb-1.5 (x86_64)
libXi-1.3 (x86_64)
make-3.81-19.el6
sysstat-9.0.4-11.el6 (x86_64)

3、下载并解压缩oracle安装包至指定位置

$ mkdir -p /home/oracle/orainst/12.1.0.2

$ unzip linuxamd64_12102_database_1of2.zip
$ unzip linuxamd64_12102_database_2of2.zip

oracle推荐的目录结构如下:


4、创建/etc/oraInst.loc文件,内容如下:

inventory_loc=/u01/app/oraInventory
inst_group=oinstall

# chown oracle:oinstall oraInst.loc
# chmod 664 oraInst.loc

$ mkdir -p /u01/app/oraInventory


5、配置response文件

$ cd /home/oracle/orainst/12.1.0.2/database

$ find . -name "*.rsp"

./response/db_install.rsp
./response/netca.rsp
./response/dbca.rsp

$ cp response/db_install.rsp inst.rsp

修改inst.rsp,内容如下:

oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v12.1.0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=o12c
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/home/oracle/orainst/12.1.0.2/database/stage/products.xml
SELECTED_LANGUAGES=en
ORACLE_HOME=/u01/app/oracle/product/12.1.0.2/db_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oper
oracle.install.db.BACKUPDBA_GROUP=dba
oracle.install.db.DGDBA_GROUP=dba
oracle.install.db.KMDBA_GROUP=dba
DECLINE_SECURITY_UPDATES=true

6、运行安装程序

$ ./runInstaller -ignorePrereq -force -silent -responseFile \
/home/oracle/orainst/12.1.0.2/database/inst.rsp

监控安装过程

$ tail -f /u01/app/oraInventory/logs/<logfile name>

7、安装成功后切换到root用户运行安装后脚本

# /u01/app/oracle/product/12.1.0.2/db_1/root.sh

二、创建数据库

1、配置系统变量

编辑/etc/oratab,确定包含下面一行

o12c:/u01/app/oracle/product/12.1.0.2/db_1:N

创建文件/etc/oraset,内容如下:

#!/bin/bash
# Sets Oracle environment variables.
# Setup: 1. Put oraset file in /etc (Linux), in /var/opt/oracle (Solaris)
#        2. Ensure /etc or /var/opt/oracle is in $PATH
# Usage: batch mode: . oraset <SID>
#        menu mode:  . oraset
#====================================================
if [ -f /etc/oratab ]; then
  OTAB=/etc/oratab
elif [ -f /var/opt/oracle/oratab ]; then
  OTAB=/var/opt/oracle/oratab
else
     echo 'oratab file not found.'
     exit
fi
#
if [ -z $1 ]; then
  SIDLIST=$(egrep -v '#|\*' ${OTAB} | cut -f1 -d:)
  # PS3 indicates the prompt to be used for the Bash select command.
  PS3='SID? '
  select sid in ${SIDLIST}; do
    if [ -n $sid ]; then
      HOLD_SID=$sid
      break
    fi
  done
else
  if egrep -v '#|\*' ${OTAB} | grep -w "${1}:">/dev/null; then
    HOLD_SID=$1
  else
    echo "SID: $1 not found in $OTAB"
  fi
  shift
fi
#
export ORACLE_SID=$HOLD_SID
export ORACLE_HOME=$(egrep -v '#|\*' $OTAB|grep -w $ORACLE_SID:|cut -f2 -d:)
export ORACLE_BASE=${ORACLE_HOME%%/product*}
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ADR_BASE=$ORACLE_BASE/diag
export PATH=$PATH:$ORACLE_HOME/bin:/usr/ccs/bin:/opt/SENSsshc/bin:/etc\

编辑/etc/profile.d/custom.sh,内容如下:

. /etc/oraset o12c

2、配置init文件

创建$ORACLE_HOME/dbs/inito12c.ora文件,内容如下:

db_name=o12c
db_block_size=8192
memory_target=300M
memory_max_target=300M
processes=200
control_files=(/u01/dbfile/o12c/control01.ctl,/u02/dbfile/o12c/control02.ctl)
job_queue_processes=10
open_cursors=500
fast_start_mttr_target=500
undo_management=AUTO
undo_tablespace=UNDOTBS1
remote_login_passwordfile=EXCLUSIVE

3、建立相应目录并授权

$ mkdir -p /u01/dbfile/o12c
$ mkdir -p /u02/dbfile/o12c

$ mkdir -p /u01/oraredo/o12c
$ mkdir -p /u02/oraredo/o12c

# chown -R oracle:dba /u01
# chown -R oracle:dba /u02

4、创建数据库

$ sqlplus / as sysdba
SQL> startup nomount;

CREATE DATABASE o12c
MAXLOGFILES 16
MAXLOGMEMBERS 4
MAXDATAFILES 1024
MAXINSTANCES 1
MAXLOGHISTORY 680
CHARACTER SET AL32UTF8
DATAFILE
'/u01/dbfile/o12c/system01.dbf'
SIZE 500M REUSE
EXTENT MANAGEMENT LOCAL
UNDO TABLESPACE undotbs1 DATAFILE
'/u01/dbfile/o12c/undotbs01.dbf'
SIZE 800M
SYSAUX DATAFILE
'/u01/dbfile/o12c/sysaux01.dbf'
SIZE 500M
DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE
'/u01/dbfile/o12c/temp01.dbf'
SIZE 500M
DEFAULT TABLESPACE USERS DATAFILE
'/u01/dbfile/o12c/users01.dbf'
SIZE 20M
LOGFILE GROUP 1
('/u01/oraredo/o12c/redo01a.rdo',
'/u02/oraredo/o12c/redo01b.rdo') SIZE 50M,
GROUP 2
('/u01/oraredo/o12c/redo02a.rdo',
'/u02/oraredo/o12c/redo02b.rdo') SIZE 50M,
GROUP 3
('/u01/oraredo/o12c/redo03a.rdo',
'/u02/oraredo/o12c/redo03b.rdo') SIZE 50M
USER sys IDENTIFIED BY foo
USER system IDENTIFIED BY foo;

5、创建数据字典

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

执行成功后

SQL> connect system/<password>
SQL> @?/sqlplus/admin/pupbld

6、配置、启动监听

生成$TNS_ADMIN/listener.ora文件,内容如下:

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = oracle12c)(PORT = 1521))
       )
     )
    )


SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = o12c)
      (ORACLE_HOME = /u01/app/oracle/product/12.1.0.2/db_1)
      (SID_NAME = o12c)
     )
   )

启动监听

$ lsnrctl start

7、通过网络连接数据库

生成$TNS_ADMIN/tnsnames.ora文件,内容如下:

o12c =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle12c)(PORT = 1521))
(CONNECT_DATA = (SERVICE_NAME = o12c)))

连接数据库

$ sqlplus system/foo@o12c


说明:

#提示符为root用户执行命令

$提示符为oracle用户执行命令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值