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

centos6.0 x64下安装oracle11gR2

2013-12-30 00:00 134 查看
CentOS 6.0 X64上64位Oracle11gR2

1 安装前环境:

操作系统:CetnOS6.0x64 最小化安装,已配置好网络IP:172.168.0.5,物理内存8GB,硬盘100GB。

下载: linux.x64_11gR2_database_1of2.zip

linux.x64_11gR2_database_2of2.zip

位于目录/opt/

2 准备工作

root用户登录后

#yum install vim //个人喜好vim编辑各种配置文件,所以先下一个

#yum install unzip //下载unzip,用来解压上述两个压缩文件

#cd /opt //切换当前目录到oracle压缩文件所在目录

#unzip linux.x64_11gR2_database_1of2.zip //解压

#unzip linux.x64_11gR2_database_2of2.zip

解压后新增一个/opt/database目录,里面是解压后的所有oracle安装文件。

在/etc/hosts文件中增加主机名(通过hostname获得)到回环IP的映射如下:

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 oracle11gcentos6.dlxg.gov.cn

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 oracle11gcentos6.dlxg.gov.cn

#vim /etc/selinux/conf 设置 SELINUX=disabled

#setenforce 0 //关闭selinux

#service iptables stop //临时关闭防火墙

3 安装必须的包

gcc,make,binutils,gcc-c++,compat-libstdc++-33,elfutils-libelf-devel,

elfutils-libelf-devel-static,ksh,libaio,libaio-devel,numactl-devel,sysstat

,unixODBC,unixODBC-devel,pcre-devel

这些安装包都可以linux.ios文件中获取

4 建立安装用户及用户组

#groupadd oinstall

#groupadd dba

#useradd -g oinstall -G dba -d /home/oracle oracle

#passwd oracle //设置oracle密码

5 修改内核参数配置文件

#vim + /etc/sysctl.conf 在文件最后增加

fs.aio-max-nr = 1048576

fs.file-max = 6553600

kernel.shmall = 2097152

kernel.shmmax = 2147483648

kernel.shmmni = 4096

kernel.sem = 25032000100128

net.ipv4.ip_local_port_range = 102465000

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048586

保存文件。

#/sbin/sysctl -p //让参数生效

6 修改用户的限制文件

#vim /etc/security/limits.conf 在文件后增加

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

oracle soft stack 10240

保存文件。

修改/etc/pam.d/login文件,增加如下:

session required /lib64/security/pam_limits.so //64为系统,千万别写成/lib/security/pam_limits.so,否则导致无法登录

session required pam_limits.so

修改/etc/profile,增加:

if [ $USER = "oracle" ]; then

if [ $SHELL = "/bin/ksh" ]; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

fi

7 创建安装目录和设置文件权限

#mkdir /opt/oracle

#mkdir /opt/oracle/11.2.0 //数据库系统安装目录

#mkdir /opt/oradata //数据库数据安装目录

#mkdir /opt/oradata_back //数据备份目录

#mkdir /opt/oracle/inventory //清单目录

#chown -R oracle:oinstall /opt/oracle

#chmod -R 775 /opt/oracle

修改/home/oracle/.bash_profile,添加oracle路径及包信息,如下图所示:

[oracle@cluster_5 ~]$ vim ~/.bash_profile

ORACLE_BASE=/opt/oracle

ORACLE_HOME=$ORACLE_BASE/11.2.0

ORACLE_SID=orcl

LD_LIBRARY_PATH=$ORACLE_HOME/lib

CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$LD_LIBRARY_PATH

PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

export ORACLE_HOME //必须添加这条信息,否则后面监听会出错

export CLASSPATH

export PATH

8 编辑安装响应文件

#su oracle

$cp -R /opt/database/response /home/oracle //复制一份模板

$cd /home/oracle

$mv db_install.rsp db_install_swonly.rsp //因为下面的安装是只安装软件不安装启动数据库实例,所以改个名字以提示自己

$vim db_install_swonly.rsp //开始修改这个安装响应文件

需要设置的选项如下:

oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0 //系统生成,不要修改

oracle.install.option=INSTALL_DB_SWONLY //只安装软件,不安装启动数据库

ORACLE_HOSTNAME=guanyy //通过hostname命令获得

UNIX_GROUP_NAME=oinstall

INVENTORY_LOCATION=/opt/oracle/inventory

SELECTED_LANGUAGES=en,zh_CN

ORACLE_HOME=/opt/oracle/11.2.0

ORACLE_BASE=/opt/oracle

oracle.install.db.InstallEdition=EE

oracle.install.db.isCustomInstall=false

//保持系统默认值

oracle.install.db.customComponents=oracle.server:11.2.0.1.0,

oracle.sysman.ccr:10.2.7.0.0,oracle.xdk:11.2.0.1.0,oracle.rdbms.oci:11.2.0.1.0,

oracle.network:11.2.0.1.0,oracle.network.listener:11.2.0.1.0,oracle.rdbms:11.2.0.1.0,

oracle.options:11.2.0.1.0,oracle.rdbms.partitioning:11.2.0.1.0,

oracle.oraolap:11.2.0.1.0,oracle.rdbms.dm:11.2.0.1.0,

oracle.rdbms.dv:11.2.0.1.0,orcle.rdbms.lbac:11.2.0.1.0,

oracle.rdbms.rat:11.2.0.1.0

oracle.install.db.DBA_GROUP=dba

oracle.install.db.OPER_GROUP=dba

DECLINE_SECURITY_UPDATES=true //一定要设置为true

9 根据响应文件安装oracle

$cd /opt/database

$./runInstaller -silent -responseFile /home/oracle/response/db_install_swonly.rsp

安装过程中,如果提示[WARNING]不必理会,此时安装程序仍在进行,如果出现[FATAL],则安装程序已经停止了。打开另一个终端,执行

#tail -100f /home/oracle/inventory/logs/installActions......log

可以实时跟踪查看安装日志,了解安装的进度。

/home/oracle/inventory/orainstRoot.sh

/opt/oracle/11.2.0/root.sh

要执行配置脚本, 请执行以下操作:

1. 打开一个终端窗口

2. 以 "root" 身份登录

3. 运行脚本

4. 返回此窗口并按 "Enter" 键继续

Successfully Setup Software.

表示安装成功了。按照其提示操作。

$exit //退回到root

#/home/oracle/inventory/orainstRoot.sh

#/opt/oracle/11.2.0/root.sh

当出现以下信息时

配置脚本需要以 "root" 用户的身份执行。

#!/bin/sh

#要运行的 Root 脚本

要执行配置脚本, 请执行以下操作:

1. 打开一个终端窗口

2. 以 "root" 身份登录

3. 运行脚本

4. 返回此窗口并按 "Enter" 键继续

Successfully Setup Software.

表示安装成功了。按照其提示操作。

开启另外一个终端,按照上面的要求运行提示的脚本,如下所示:

#/home/oracle/inventory/orainstRoot.sh

#/opt/oracle/11.2.0/root.sh

10 编辑建库响应文件

$cd /home/oracle/response

$mv dbca.rsp dbca_orcl.rsp //改名为dbca_数据库名.rsp

11 配置监听

$netca /silent /responsefile /home/oracle/response/netca.rsp

正在对命令行参数进行语法分析:

参数"silent" = true

参数"responsefile" = /home/oracle/response/netca.rsp

完成对命令行参数进行语法分析。

Oracle Net Services 配置:

完成概要文件配置。

Oracle Net 监听程序启动:

正在运行监听程序控制:

/opt/oracle/11.2.0/bin/lsnrctl start LISTENER

监听程序控制完成。

监听程序已成功启动。

监听程序配置完成。

成功完成 Oracle Net Services 配置。退出代码是0

成功运行后,在/opt/oracle/11.2.0/network/admin目录下生成sqlnet.ora和listener.ora两个文件。

通过netstat -tlnp 命令,看到

tcp 0 0 :::1521 :::* LISTEN 5477/tnslsnr

说明监听器已经在1521端口上开始工作了。

12 建立新库(同时也建立一个对应的orcl实例)

修改/home/oracle/response/dbca.rsp,设置如下:

RESPONSEFILE_VERSION = "11.2.0" //不能更改

OPERATION_TYPE = "createDatabase"

GDBNAME = "orcl" //数据库的名字

SID = "orcl" //对应的实例名字

TEMPLATENAME = "General_Purpose.dbc" //建库用的模板文件

SYSPASSWORD = "guanyy" //SYS管理员密码

SYSTEMPASSWORD = "guanyy" //SYSTEM管理员密码

DATAFILEDESTINATION = /opt/oracle/oradata //数据文件存放目录

RECOVERYAREADESTINATION=/opt/oracle/oradata_back //恢复数据存放目录

CHARACTERSET = "ZHS16GBK" //字符集,重要!!! 建库后一般不能更改,所以建库前要确定清楚。

NATIONALCHARACTERSET= "UTF8"

TOTALMEMORY = "5120" //oracle内存5120MB

建库命令如下

$dbca -silent -responseFile /home/oracle/response/dbca.rsp

复制数据库文件

1% 已完成

3% 已完成

11% 已完成

18% 已完成

26% 已完成

37% 已完成

正在创建并启动 Oracle 实例

40% 已完成

45% 已完成

50% 已完成

55% 已完成

56% 已完成

60% 已完成

62% 已完成

正在进行数据库创建

66% 已完成

70% 已完成

73% 已完成

85% 已完成

96% 已完成

100% 已完成

有关详细信息, 请参阅日志文件 "/opt/oracle/cfgtoollogs/dbca/hello/hello.log"。

数据库信息:

全局数据库名:orcl

系统标识符 (SID):orcl

建库后实例检查:

$ ps -ef | grep ora_ | grep -v grep | wc -l

21

$ ps -ef | grep ora_ | grep -v grep

oracle 5955 1 0 07:03 ? 00:00:00 ora_pmon_orcl

.............................................................

查看监听状态

$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 14-MAR-2012 07:09:03

Copyright (c) 1991, 2009, Oracle. All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))

STATUS of the LISTENER

------------------------

Alias LISTENER

Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production

Start Date 14-MAR-2012 06:16:50

Uptime 0 days 0 hr. 52 min. 15 sec

Trace Level off

Security ON: Local OS Authentication

SNMP OFF

Listener Parameter File /opt/oracle/11.2.0/network/admin/listener.ora

Listener Log File /opt/oracle/diag/tnslsnr/oracle11gcentos6/listener/alert/log.xml

Listening Endpoints Summary...

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))

Services Summary...

Service "hello.dlxg.gov.cn" has 1 instance(s).

Instance "hello", status READY, has 1 handler(s) for this service...

Service "helloXDB.dlxg.gov.cn" has 1 instance(s).

Instance "hello", status READY, has 1 handler(s) for this service...

The command completed successfully

13 修改数据库为归档模式(归档模式才能热备份,增量备份)

$ export ORACLE_SID=orcl

$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Wed Mar 14 07:18:16 2012

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

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup mount

ORACLE instance started.

Total System Global Area 1603411968 bytes

Fixed Size 2213776 bytes

Variable Size 402655344 bytes

Database Buffers 1191182336 bytes

Redo Buffers 7360512 bytes

Database mounted.

SQL> alter database archivelog;

Database altered.

SQL> alter database flashback on;

Database altered.

SQL> alter database open;

Database altered.

SQL> execute utl_recomp.recomp_serial();

PL/SQL procedure successfully completed.

SQL> alter system archive log current;

System altered.

SQL> exit

Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

14 修改oracle启动配置文件

$vim /etc/oratab

hello:/opt/oracle/11.2.0:Y

这样就可以通过dbstart 启动此实例,也可以通过dbshut关闭此实例了。

$ dbshut /opt/oracle/11.2.0/

Processing Database instance "hello": log file /opt/oracle/11.2.0/shutdown.log

此时所有oracle的进程关闭,监听器也停止。

$dbstart /opt/oracle/11.2.0/

Processing Database instance "hello": log file /opt/oracle/11.2.0/startup.log

此时监听器工作,hello实例运行,再次查看监听器状态。

$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 14-MAR-2012 07:35:52

Copyright (c) 1991, 2009, Oracle. All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))

STATUS of the LISTENER

------------------------

Alias LISTENER

Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production

Start Date 14-MAR-2012 07:35:38

Uptime 0 days 0 hr. 0 min. 13 sec

Trace Level off

Security ON: Local OS Authentication

SNMP OFF

Listener Parameter File /opt/oracle/11.2.0/network/admin/listener.ora

Listener Log File /opt/oracle/diag/tnslsnr/oracle11gcentos6/listener/alert/log.xml

Listening Endpoints Summary...

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))

Services Summary...

Service "hello.dlxg.gov.cn" has 1 instance(s).

Instance "hello", status READY, has 1 handler(s) for this service...

Service "helloXDB.dlxg.gov.cn" has 1 instance(s).

Instance "hello", status READY, has 1 handler(s) for this service...

The command completed successfully

15 建立表空间及用户

$export ORACLE_SID=hello; sqlplus / as sysdba

进入SQL>后

创建临时表空间

create temporary tablespace user_temp tempfile '/opt/oracle/oradata/hello/user_temp.dbf' size 50m

autoextend on

next 50m maxsize 20480m

extent management local;

创建数据表空间

create tablespace user_data

logging

datafile '/opt/oracle/oradata/hello/user_data.dbf'

size 50m

autoextend on

next 50m maxsize 20480m

extent management local;

创建用户并指定表空间

create user test identified by test

default tablespace user_data

temporary tablespace user_temp;

给用户授予权限

grant connect,resource to test;

此时在其他机器上可以远程登录这个用户,命令为:

$sqlplus test/test@172.16.2.182/hello.dlxg.gov.cn

16 用新建的用户连接数据库,并建立一个表

$ export NLS_LANG=American_America.AL32UTF8

注意:UTF8是为了使得sqlplus和linux终端环境一致起来,此时发往数据库的是UTF8,数据库存储前会转为ZHS16GBK.

当读取时,Sqlplus会把收到的ZHS16GBK转换为UTF8发送到Linux终端。

$ sqlplus test/test@172.16.2.182/hello.dlxg.gov.cn

SQL*Plus: Release 11.2.0.1.0 Production on Wed Mar 14 08:22:11 2012

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

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> create table STUDENT(ID int, NAME varchar(20));

Table created.

SQL> insert into STUDENT values(1, '张三');

1 row created.

SQL> select * from student;

ID NAME

---------- ------------------------------------------------------------

1 张三
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: