您的位置:首页 > 数据库 > Oracle

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

2014-09-23 06:45 453 查看
一、安装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用户执行命令
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: