说明:实验过的版本:CentOS 6.5 和 CentOS 7
1.硬件检查
内存大于1G(使用虚拟机安装时内存要稍微大一些,否则安装检查不通过)
查看内存大小#cat /proc/meminfo
交换分区是内存的1.5倍,可根据实际情况调整
查看交换分区大小#grepSwapTotal/proc/meminfo
硬盘空间要满足所需软件的大小,要求/tmp分区不少于400M,安装目录应大于4G:
查看磁盘空间使用情况#df –h
查看目录空间大小#du -ch
2.软件检查,安装oracle所依赖的组件包
1.binutils-2.17.50.0.6
2.compat-libstdc++-33-3.2.3
3.elfutils-libelf-0.125
4.elfutils-libelf-devel-0.125
5.elfutils-libelf-devel-static-0.125
6.gcc-4.1.2
7.gcc-c++-4.1.2
8.glibc-2.5-24
9.glibc-common-2.5
10.glibc-devel-2.5
11.glibc-headers-2.5
12.kernel-headers-2.6.18
13.pdksh-5.2.14
14.libaio-0.3.106
15.libaio-devel-0.3.106
16.libgcc-4.1.2
17.libgomp-4.1.2
18.libstdc++-4.1.2
19.libstdc++-devel-4.1.2
20.make-3.81
21.numactl-devel-0.9.8.i386
22.sysstat-7.0.2
23.unixODBC-2.2.11
24.unixODBC-devel-2.2.11
包检查命令:#rpm –qa |grep软件包名称
包安装命令:#rpm –ivh软件包名称 或
#yum install软件包名称
3 操作系统准备工作
关闭防火墙
#chkconfig iptables off //永久关闭防火墙或
#service iptabels stop //暂时关闭防火墙,重启系统后会自动打开
关闭selinux
[root@CentOS tmp]#vim /etc/selinux/config
设置SELINUX=disabled
在/etc/hosts文件中添加主机名
[root@CentOS tmp]#vim /etc/hosts
添加192.168.206.135 CentOS
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.220.158chances
#hostname
显示chances
4创建安装用户、组、目录
4.1创建安装用户和组
root@CentOS tmp]#groupadd oinstall
[root@CentOS tmp]#groupadd dba
[root@CentOS tmp]#useradd -g oinstall -G dba oracle
[root@CentOS tmp]#passwd oracle
[root@CentOS tmp]#id oracle
uid=1001(oracle) gid=1001(oinstall)组=1001(oinstall),1002(dba)
4.2创建软件安装目录
[root@CentOS ~]#mkdir -p /opt/oracle/product/112010/db_1
[root@CentOS ~]#mkdir /opt/oracle/oradata
[root@CentOS ~]#mkdir /opt/oracle/raInventory
[root@CentOS ~]#mkdir /opt/oracle/flash_recovery_area
[root@CentOS ~]#chown -R oracle:oinstall /opt/oracle
[root@CentOS ~]#chmod -R 775 /opt/oracle
4.3修改用户环境变量
#vi home/sc-oracle/.bash_profile用oracle用户编辑加入以下内容
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
# For Oracle
export ORACLE_BASE=/opt/oracle;
export ORACLE_HOME=/opt/oracle/product/112010/db_1
export ORACLE_SID=ORCL;
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
使环境变量生效
$ source .bash_profile
查看命令:$ env
5配置系统环境
5.1修改内核参数
#vi /etc/sysctl.conf ,在行末添加以下内容
kernel.shmall = 4294967296
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 6553600
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
运行sysctl -p应用以上参数
5.2修改进程数和最大会话数
#vi /etc/security/limits.conf行末添加以下内容
#use fororacle
oraclesoft nproc 2047
oraclehard nproc 16384
oraclesoft nofile 1024
oraclehard nofile 65536
红色部分为实际oracle用户
5.3关联设置
#vi /etc/pam.d/login行末添加以下内容:
session required /lib64/security/pam_limits.so
session required pam_limits.so
5.4修改/etc/profile
[root@CentOS ~]# vim /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
在root用户下,使用命令source profile使环境变量生效
#source/etc/profile
6正式安装
6.1解压oracle安装文件
Oracle 11g安装包:将安装包上传至服务器/opt/oracle/ 下面,这两个包属于oracle用户
linux.x64_11gR2_database_1of2.zip、
linux.x64_11gR2_database_2of2.zip
安装包解压命令(使用oracle用户解压 )
$unzip linux.x64_11gR2_database_1of2.zip
$unziplinux.x64_11gR2_database_2of2.zip
解压完成后/opt/oracle下会生成database目录
6.2编辑oracle数据库安装应答文件
1、/opt/oracle/database/response下有有db_install.rsp、dbca.rsp和netca.rsp三个应答文件,分别数据库安装文件、建立数据库实例和监听配置安装文件
Vidb_install.rsp
修改以下内容
oracle.install.option=INSTALL_DB_SWONLY //29 行 安装类型
ORACLE_HOSTNAME=chances //37 行 主机名称
UNIX_GROUP_NAME=oinstall //42 行 安装组
INVENTORY_LOCATION=/opt/oracle/oraInventory //47 行 INVENTORY目录
SELECTED_LANGUAGES=zh_CN //78 行 选择语言
ORACLE_HOME=/opt/oracle/product/112010/db_1 //83 行 oracle_home
ORACLE_BASE=/opt/oracle //88 行 oracle_base
oracle.install.db.InstallEdition=EE //99 行 oracle版本
oracle.install.db.isCustomInstall=true //108行 自定义安装
oracle.install.db.DBA_GROUP=dba //142行 dba用户组
oracle.install.db.OPER_GROUP=oinstall //147行 oper用户组
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE //160行 数据库类型
oracle.install.db.config.starterdb.globalDBName=orcl //165行 globalDBName
oracle.install.db.config.starterdb.SID=orcl //170行 SID
oracle.install.db.config.starterdb.memoryLimit=512 //192行 自动管理内存的最小内存(M)
oracle.install.db.config.starterdb.password.ALL=oracle //233行 设定所有数据库用户使用同一个密码
DECLINE_SECURITY_UPDATES=true //385行 设置安全更新
进行静默安装Oracle软件
环境变量都要参照前面定义好的来填
6.3安装
使用oracle用户安装
#su-oracle
[oracle@CentOS database]$./runInstaller-silent-responseFile /opt/oracle/response/db_install.rsp-ignorePrereq
接下来就是等待(有点长,不要着急),安装过程中,如果提示[WARNING]不必理会,此时安装程序仍在后台进行,如果出现[FATAL],则安装程序已经停止了。
可以在以下位置找到本次安装会话的日志:
/optoracle/oraInventory/logs/installActions2015-06-08_04-00-25PM.log
当出现以下提示时,代表安装成功:
按照要求执行脚本。
打开终端,以root身份登录,执行脚本:
[root@CentOS ~]#/opt/oracle/inventory/orainstRoot.sh
[root@CentOS ~]#/opt/oracle/product/112010/root.sh
6.4以静默方式配置监听
编辑oracle安装目录下的netca.rsp应答文件,地址为:/opt/oracle/database/response/netca.rsp,主要查看以下参数配置:
INSTALL_TYPE=""custom""安装的类型
LISTENER_NUMBER=1监听器数量
LISTENER_NAMES={"LISTENER"}监听器的名称列表
LISTENER_PROTOCOLS={"TCP;1521"}监听器使用的通讯协议列表
LISTENER_START=""LISTENER""监听器启动的名称
运行安装命令:
$ORACLE_HOME/bin/netca /silent /responseFile /home/oracle/database/response/netca.rsp
成功运行后,在/opt/oracle/product/112010/network/admin/中生成listener.ora和sqlnet.ora
通过netstat命令可以查看1521端口正在监听。
Yum安装netstat软件,软件包是在net-tools中。
[root@CentOS ~]#yum install net-tools
[root@CentOS ~]#netstat -tnulp | grep 1521
6.5增加数据库实例
1、修改/opt/oracle/database/response/dbca.rsp(就是解压安装文件目录下的)
根据数据库建立方式的不同编辑不同的数据库库选项。
比如在本次安装过程中设置了下列参数:(注意下面参数视情况而定啦不要照抄该选项原文件都有说明的)
RESPONSEFILE_VERSION ="11.2.0"//不能更改
OPERATION_TYPE ="createDatabase"
GDBNAME ="orcl"//数据库的名字
SID ="orcl"//对应的实例名字
TEMPLATENAME ="General_Purpose.dbc"//建库用的模板文件
SYSPASSWORD ="oracle"//SYS管理员密码
SYSTEMPASSWORD ="oracle"//SYSTEM管理员密码
DATAFILEDESTINATION =/opt/oracle/oradata//数据文件存放目录
RECOVERYAREADESTINATION=/opt/oracle/flash_recovery_area//恢复数据存放目录
CHARACTERSET ="ZHS16GBK"/字符集,重要!!!建库后一般不能更改,所以建库前要确定清楚。
TOTALMEMORY ="512"//oracle内存5120MB
2、安装
[oracle@cms-1database]$$ORACLE_HOME/bin/dbca -silent -responseFile /opt/oracle/database/response/dbca.rsp
Copying database files
1% complete
4% complete
Creating database files
8% complete
28% complete
42% complete
Adding Oracle XML DB
52% complete
58% complete
Adding Oracle Intermedia
Adding Oracle OLAP
72% complete
78% complete
Completing Database Creation
89% complete
99% complete
100% complete
Look at the log file "/opt/oracle/product/10.2.0/db_1/cfgtoollogs/dbca/orcl/orcl.log" for further details.
最后提示创建成功后
3、修改vi /etc/oratab
ora10g:/oracle/product/10.2.0.1/db_1:N
改为:
ora10g:/oracle/product/10.2.0.1/db_1:Y
6.6 验证
[sc-oracle@cms-1 ~]$ORACLE_HOME/bin/dbstart
[sc-oracle@cms-1 ~]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Fri May 24 18:21:20 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
SQL> startup
此时,有可能会报ORA-01078:initorcl.ora找不到,那就去看下方的错误处理。
SQL> quit
最后达到的效果:
6.7创建视图
[sc-oracle@cms-1 ~]$ sqlplus / as sysdba
@/opt/oracle/product/10.2.0/rdbms/admin/catalog.sql;
@/opt/oracle/product/10.2.0/rdbms/admin/catexp7.sql;
@/opt/oracle/product/10.2.0/rdbms/admin/catblock.sql;
@/opt/oracle/product/10.2.0/rdbms/admin/catproc.sql;
@/opt/oracle/product/10.2.0/rdbms/admin/catoctk.sql;
换system 登陆(#connectSYSTEM/oracle),设置的system的密码为 oracle
@/opt/oracle/product/10.2.0/rdbms/admin/owminst.plb;@/opt/oracle/product/10.2.0/sqlplus/admin/pupbld.sql;
@/opt/oracle/product/10.2.0/sqlplus/admin/help/hlpbld.sql;(param:helpus)--//.sql)
至此:终于完了。
7 错误处理
如在安装过程中碰到以下错误,下面的信息可参考
7.1ORA-01078
[oracle@chances~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Sat Feb 16 19:43:43 2013
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORA-01078:failure in processing system parameters
LRM-00109: could not open parameter file '/opt/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/initorcl.ora'
原理:在oracle9i和oracle10g中,数据库默认将使用spfile启动数据库,如果spfile不存在,则就会出现上述错误
解决方案:
[oracle@chances ~]$
把/opt/oracle/product/112010/db_1/dbs/init.ora
复制到同级目录并改名为init***.ora
修改新参数文件里面的<$ORACLE_HOME>为绝对路径,然后把db_name之类的东西改成自己创建的数据库名称的就好。
然后重新启动:
[sc-oracle@cms-1 ~]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Fri May 24 18:21:20 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
SQL> startup
此时有可能会报:
ORA-00205:error in identifying control file ,check alert log for more info
7.2ORA-00205
ORA-00205:error in identifying control file ,check alert log for more info
解决方法:
报错说控制文件有错,让去看日志,先去看日志:
cd$ORACLE_BASE/diag/rdbms/$ORACLE_SID/$ORACLE_SID/alert
catlog.xml
一般会发现:
大概就是控制文件的问题,去相应的目录下看文件也不存在,原因就是我们只是创建了数据库实例,没有创建数据库,我们要手动创建数据库,生成启动数据库的文件,比如:/opt/oracle/product/112010/db_1/dbs/下面的控制文件 和/opt/oracle_11/oradata/orcl/下面的数据文件:
把下方的建库脚本复制到orcl.sql里面上传到服务器
CREATE DATABASE orcl
USER SYS IDENTIFIED BY sys
USER SYSTEM IDENTIFIED BY system
LOGFILE
GROUP 1 ('/opt/oracle_11/oradata/orcl/redo01.log') SIZE 1024M,
GROUP 2 ('/opt/oracle_11/oradata/orcl/redo02.log') SIZE 1024M,
GROUP 3 ('/opt/oracle_11/oradata/orcl/redo03.log') SIZE 1024M,
GROUP 4 ('/opt/oracle_11/oradata/orcl/redo04.log') SIZE 1024M,
GROUP 5 ('/opt/oracle_11/oradata/orcl/redo05.log') SIZE 1024M
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 200
MAXDATAFILES 10000
MAXINSTANCES 1
CHARACTER SET AL32UTF8
NATIONAL CHARACTER SET AL16UTF16
datafile '/opt/oracle_11/oradata/orcl/system01.dbf' size 2048M REUSE
EXTENT MANAGEMENT LOCAL
sysaux datafile '/opt/oracle_11/oradata/orcl/sysaux01.dbf' size 2048M REUSE
default temporary tablespace temp
tempfile '/opt/oracle_11/oradata/orcl/temp01.dbf' size 2048M REUSE
undo tablespace UNDOTBS1
datafile '/opt/oracle_11/oradata/orcl/undotbs01.dbf' size 4096M REUSE
AUTOEXTEND off
default tablespace DATA
datafile '/opt/oracle_11/oradata/orcl/data01.dbf' size 8192M REUSE
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO;
然后重新启动:
[sc-oracle@cms-1 ~]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Fri May 24 18:21:20 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
SQL> startupnomount (这个命令是启动实例,但是不启动数据库,一般创建数据库的时候用这 个命令)
SQL>@ /*****/orcl.sql
执行完之后会告诉你数据库创建完毕
这时候再用 startup 命令就不会报错了。
7.3ORA-01102
报错:
SQL> startup mount
ORACLE instance started.
Total System Global Area 608174080 bytes
Fixed Size 1220844 bytes
Variable Size 176164628 bytes
Database Buffers 427819008 bytes
Redo Buffers 2969600 bytes
ORA-01102:cannot mount database in EXCLUSIVE mode
解决方案:
[oracle@chances~]$ ls lk*
/oracle/oracle/product/ 112010/db_1/dbs/lkSIMPLY
lkSIMPLYstartup
lk文件没有被删除。将它删除掉
[oracle@chances~]$ rm lk*
参考资料:http://hi.baidu.com/120001240/item/abeda41f8c3102e787ad4e01
7.4ORA-01079
ORA-01079: ORACLE database was not properly created, operation aborted
原因是数据库创建失败,需要手动创建数据库,看ORA-00205里面的解决方法,手动创建数据库。
截止到目前,就ok了。(⊙o⊙),为什么没有表情包呢。。