安装步骤
1. 操作系统参数修改
1)修改用户的SHELL的限制,修改/etc/security/limits.conf文件
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
2)修改linux内核,修改/etc/sysctl.conf文件,输入命令: vi /etc/sysctl.conf,修改完,执行 sysctl -p 生效
fs.file-max = 6815744 fs.aio-max-nr = 1048576 kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 4194304 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 2. 创建组用户,使用root groupadd dba groupadd oinstall groupadd oracle useradd -c \"oracle software owner\" -g oinstall -G dba oracle -d /home/db/oracle passwd oracle chown -R oracle:oinstall /home/db/oracle
3. 使用oracle登入常见 oracle_base oracle_home 路径
1)创建oracle目录
su - oracle ORACLE_BASE=/home/db/oracle/product/ ORACLE_HOME=/home/db/oracle/product/11.2.0/db_1 mkdir ***** 2)导入环境变量,vi ~/.bash_profile 执行. .bash_profile 生效 export ORACLE_SID=aqzwbpd0 export ORACLE_BASE=/home/db/oracle/product/ export ORACLE_HOME=$ORACLE_BASE/11.2.0/db_1 PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin export PATH export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 4、解压oracle安装包,使用 oracle用户
su - oracle unzip linux_11gR2_database_1of2.zip unzip linux_11gR2_database_2of2.zip 5、检查系统安装oracle 的依赖库是否安装了,
#执行一下命令查看是否安装: rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel expat gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel | grep \"not installed\" #安装命令: rpm -ivh 类库名称.rpm 6、进行oracle 安装
在Oracle安装目录的response子目录里有dbcd.rsp,db_install.rsp和netca.rsp,db_install.rsp就是我们需要的。
用任意的文本编辑器打开db_install.rsp,修改以下这些项目的值。 #cd /home/db/oracle/database/response #vi db_install.rsp 变量 oracle.install.option ORACLE_HOSTNAME 值 INSTALL_DB_SWONLY TASS01 说明 安装软件不建库 服务器的主机名称,通过hostname命令查看 ORACLE_HOME /home/db/oracle/app/product/11.2.0/db_1 服务器的主目录位置,必须是绝对路径 ORACLE_BASE /home/db/oracle/app/product/ SELECTED_LANGUAGES oracle.install.db.DBA_GROUP en,zh_CN 服务器支持的语言,默认只有英语,可以添加多个语言 dba 用于Oracle系统管理的linux用户组名,该组的用户拥有管理Oracle服务器的权限 oracle.install.db.OPER_GROUP UNIX_GROUP_NAME oinstall oinstall 用于Oracle数据库常规操作的linux用户组名,该组的用户拥有常规操作Oracle数据库的权限 INVENTORY_LOCATION oracle.install.db.InstallEdition DECLINE_SECURITY_UPDATES /home/db/oracle/oraInventory EE inventory的安装目录 安装类型 true 这个设置非常的关键,如果没有这个选项的话,运行silent的时候 会提示Email Address Not Specified的错误,而不能成功 oracle.install.db.isCustomInstall oracle.install.db.customComponents true 定制化安装 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用户登录,然后在Oracle安装目录里执行(db_install.rsp应答文件
/home/db/oracle/product/11.2.0/db_1)
./runInstaller -ignoreSysPrereqs -silent -responseFile <应答文件的绝对路径>
各安装参数的含义如下 ignoreSysPrereqs:
让Oracle忽略系统检查,因为Oracle官方声明只支持Linux服务器产品,所以要在非服务器产品的Linux上安装就必须指定此参数。
-ignorePrereq: 如果哪块没有符合要求,不添加可能就安装不过去了
silent :让安装程序以静默模式运行。 responseFile: 指定一个应答文件。
执行数据库安装:
./runInstaller -ignoreSysPrereqs –ignorePrereq -silent -responseFile /home/db/oracle/database/response/db_install.rsp
出现:
输出:
-----------------------------------
正在启动 Oracle Universal Installer...
检查临时空间: 必须大于 80 MB。 实际为 10328 MB 通过 检查交换空间: 必须大于 150 MB。 实际为 2047 MB 通过
准备从以下地址启动 Oracle Universal Installer /tmp/OraInstall2011-07-26_10-16-10AM. 请稍候...-bash-3.2$ [WARNING] [INS-32055] 主产品清单位于 Oracle 基目录中。
原因: 主产品清单位于 Oracle 基目录中。
操作: Oracle 建议将此主产品清单放置在 Oracle 基目录之外的位置中。 [WARNING] [INS-13014] 目标环境不满足一些可选要求。
原因: 不满足一些可选的先决条件。有关详细信息, 请查看日志。/tmp/OraInstall2011-07-26_10-16-10AM/installActions2011-07-26_10-16-10AM.log
操作: 从日志
/tmp/OraInstall2011-07-26_10-16-10AM/installActions2011-07-26_10-16-10AM.log 中确定失败的先决条件检查列表。然后, 从日志文件或安装手册中查找满足这些先决条件的适当配置, 并手动进行修复。
[WARNING] [INS-32055] 主产品清单位于 Oracle 基目录中。 原因: 主产品清单位于 Oracle 基目录中。
操作: Oracle 建议将此主产品清单放置在 Oracle 基目录之外的位置中。 [WARNING] [INS-13014] 目标环境不满足一些可选要求。
原因: 不满足一些可选的先决条件。有关详细信息, 请查看日志。/tmp/OraInstall2011-07-26_10-16-10AM/installActions2011-07-26_10-16-10AM.log
操作: 从日志
/tmp/OraInstall2011-07-26_10-16-10AM/installActions2011-07-26_10-16-10AM.log 中确定失败的先决条件检查列表。然后, 从日志文件或安装手册中查找满足这些先决条件的适当配置, 并手动进行修复。
可以在以下位置找到本次安装会话的日志:
/home/db/oracle/product/11.2.0/db_1/oraInventory/logs/installActions2011-07-26_10-16-10AM.log
以下配置脚本需要以 \"root\" 用户的身份执行。 #!/bin/sh
#要运行的 Root 脚本
/home/db/oracle/oraInventory/orainstRoot.sh /home/db/oracle/product/11.2.0/db_1/root.sh
要执行配置脚本, 请执行以下操作:
1. 打开一个终端窗口 2. 以 \"root\" 身份登录 3. 运行脚本
4. 返回此窗口并按 \"Enter\" 键继续 Successfully Setup Software. --------------------------------------------
另打开一个终端窗口,以root登录,然后进入到 /home/db/oracle/oraInventory目录下,执行:
./orainstRoot.sh
输出:
更改权限/home/db/oracle/oraInventory. 添加组的读取和写入权限。 删除全局的读取, 写入和执行权限。
更改组名/home/db/oracle/oraInventory 到 oinstall. 脚本的执行已完成。
再进入到 /home/db/oracle/product/11.2.0/db_1目录下,运行 ./root.sh
输出:
Check /home/db/oracle/product/11.2.0/install/root_tpboc2_2011-07-26_10-21-42.log for the output of root script
然后回到原来的窗口,按Enter键继续。 至此Oracle 11g安装完成。
7、数据库安装监听
没有网络监听器,客户端就无法通过网络连接Oracle服务器。要在命令行安装网络监听器,也
只能使用静默模式。
1、编辑Oracle安装目录里response子目录下的应答文件 netca.rsp,修改以下项目: 2、执行:cd /home/db/oracle/database/response/
vi netca.rsp 变量 INSTALL_TYPE LISTENER_NUMBER LISTENER_NAMES LISTENER_PROTOCOLS LISTENER_START 值 \"\"custom\"\" 1 {\"LISTENER\{\"TCP;11521\\"\"LISTENER\"\" 说明 安装的类型 监听器数量 监听器的名称列表 监听器使用的通讯协议列表 监听器启动的名称,注意必须是双引号 然后运行
$ORACLE_HOME/bin/netca /silent /responseFile <应答文件的绝对路径> 实际运行名为为(以oracle用户运行)
$ORACLE_HOME/bin/netca /silent /responseFile /home/db/oracle/database/response/netca.rsp 输出:
正在对命令行参数进行语法分析: 参数\"silent\" = true
参数\"responsefile\" = /home/db/oracle/database/response/netca.rsp 完成对命令行参数进行语法分析。 Oracle Net Services 配置: 正在配置监听程序:LISTENER
默认本地命名配置完成。 监听程序配置完成。 Oracle Net 监听程序启动: 正在运行监听程序控制:
/home/db/oracle/oradata/bin/lsnrctl start LISTENER 监听程序控制完成。
启动监听程序失败。监听程序可能已经在运行。 默认本地命名配置完成。
已创建的 Net 服务名: EXTPROC_CONNECTION_DATA 完成概要文件配置。
成功完成 Oracle Net Services 配置。退出代码是0 表示安装完成。
如果安装的数据库是11g, 如果出现
UnsatisfiedLinkError exception loading native library: njni11 java.lang.UnsatisfiedLinkError:
/home/db/oracle/product/11.2.0/db_1/11g/lib/libnjni11.so:
libclntsh.so.11.1: cannot open shared object file: No such file or directory
java.lang.UnsatisfiedLinkError: jniGetOracleHome
at oracle.net.common.NetGetEnv.jniGetOracleHome(Native Method) at oracle.net.common.NetGetEnv.getOracleHome(Unknown Source) at oracle.net.ca.NetCALogger.getOracleHome(NetCALogger.java:230) at oracle.net.ca.NetCALogger.initOracleParameters(NetCALogger.java:215) at oracle.net.ca.NetCALogger.initLogger(NetCALogger.java:130) at oracle.net.ca.NetCA.main(NetCA.java:404) Error: jniGetOracleHome
Oracle Net Services 配置失败。退出代码是1
请到/home/db/oracle/product/11.2.0/db_1/11g/lib目录下,运行
ldd libnjni11.so 输出:
ldd: warning: you do not have execution permission for `./libnjni11.so'
linux-gate.so.1 => (0x00ede000) libclntsh.so.11.1 => not found libnnz11.so (0x00110000)
libdl.so.2 => /lib/libdl.so.2 (0x005e7000) libm.so.6 => /lib/libm.so.6 (0x00a0d000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00732000) libnsl.so.1 => /lib/libnsl.so.1 (0x00d5b000) libc.so.6 => /lib/libc.so.6 (0x0035d000) /lib/ld-linux.so.2 (0x0094f000) 执行:
ln -s libclntsh.so libclntsh.so.11.1$ORACLE_BASE/11g 如果出现:
LISTENER:The information provided for this listener is currently in use by other software on this computer.
Profile configuration complete. Check g
Oracle Net Services configuration failed. The exit code is 1
可能是有服务占用11521端口
编辑 /etc/hosts 文件,增加下面内容:
192.168.100.56 TASS01 #TASS01是主机名称,根据实际情况填写 1£ 然后重新进行本节内容的安装。
the
trace
file
for
details:
/home/db/oracle/product/11.2.0/db_1/cfgtoollogs/netca/trace_OraDb11g_home1-1109226AM4747.lo
=>
/home/db/oracle/product/11.2.0/db_1/11g/lib/libnnz11.so
8、修改dbstart
1、以oracle用户编辑 $ORACLE_HOME/bin/dbstart文件,
执行:vi $ORACLE_HOME/bin/dbstart 将
ORACLE_HOME_LISTNER=$1 如果是11g ,则把$1 改为
ORACLE_HOME_LISTNER=$ORACLE_HOME 否则网络监听器可能无法自动启动。 2、如果是oracle 11g,同时需要修改dbshut,将
ORACLE_HOME_LISTNER=$1 改为
ORACLE_HOME_LISTNER=${ORACLE_HOME}
1. 安装数据库实例
以root用户登录系统并运行如下命令:
编辑Oracle安装目录里response子目录下的应答文件 dbca.rsp,修改以下项目。 cd /home/db/oracle/database/response/ vi dbca.rsp 变量 GDBNAME SID SYSPASSWORD SYSTEMPASSWORD CHARACTERSET TEMPLATENAME 值 \"tass01\" \"tass01\" \"tass01\" \"tass01\" ZHS16GBK General_Purpose.dbc \"AL16UTF16\" 说明 数据库全局名称 数据库的SID SYS用户的初始密码 SYSTEM用户的初始密码 数据库字符集(中文为 ZHS16GBK) 数据库模板名称,存在多个变量 数据库国家字符集 NATIONALCHARACTERSET 1、然后运行
$ORACLE_HOME/bin/dbca -silent -responseFile <应答文件的绝对路径>
实际运行名为为(以oracle用户运行):
$ORACLE_HOME/bin/dbca -silent -responseFile /home/db/oracle/database/response/dbca.rsp 输出:
复制数据库文件 1% 已完成 3% 已完成 11% 已完成 18% 已完成 26% 已完成 37% 已完成
正在创建并启动 Oracle 实例 40% 已完成 45% 已完成 50% 已完成 55% 已完成 56% 已完成 60% 已完成 62% 已完成 正在进行数据库创建 66% 已完成 70% 已完成 73% 已完成 85% 已完成 96% 已完成
100% 已完成 有
关
详
细
信
息
,
请
参
阅
日
志
文
件
\"/home/db/oracle/cfgtoollogs/dbca/XXXXXXXXXXXXXXXXXXXXX.log\"。 至此表示成功!!
2、数据库创建成功后须要注册一些信息,运行(以root用户执行)
$ORACLE_BASE/oraInventory/orainstRoot.sh 输出:
Changing permissions of /home/db/oracle/oraInventory to 770.
Changing groupname of /home/db/oracle/product/11.2.0/db_1/oraInventory to oinstall. The execution of the script is complete 表示操作成功。
使用oracle 用户连接数据库:
sqlplus /nolog conn /as sysdba
默认 用户名密码 system/tass01 创建用户;
9、启停监听、状态
lsnrctl status
查看监听状态
lsnrctl start 启动监听 lsnrctl stop 停止监听 netstat -an|grep 监听端口
出现一下 请使用root修改hosts 文件 删除第一行再加上保存在启动lsnrctl start
[oracle@TASS01 admin]$ lsnrctl stop
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)) TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error TNS-00511: No listener
Linux Error: 111: Connection refused
重新配置监听 tnsping SID
如监听出现
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=TASS01)(PORT=1521))) The listener supports no services The command completed successfully
加入/home/db/oracle/app/product/11.2.0/db_1/network/admin/lister.ora SID_LIST_LISTENER = (SID_LIST = (SID_DESC =
(GLOBAL_DNAME = aqzwbpd0) (SID_NAME = aqzwbpd0)
) ) #参考:rpm 包
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) sysstat-9.0.4-11.el6 (x86_64) make-3.81-19.el6 ksh
libaio-devel-0.3.107-10.el6 (x86_64) libaio-devel-0.3.107-10.el6.i686 libaio-0.3.107-10.el6 (x86_64) libaio-0.3.107-10.el6.i686
libstdc++-devel-4.4.4-13.el6 (x86_64) libstdc++-4.4.4-13.el6 (x86_64) libgcc-4.4.4-13.el6 (x86_64) libgcc-4.4.4-13.el6 (i686) glibc-devel-2.12-1.7.el6 (x86_64) glibc-2.12-1.7.el6 (x86_64)
unixODBC-2.2.14-11.el6 (x86_64)or later
compat-libstdc++-33-3.2.3-69.el6.i686 glibc-2.12-1.7.el6 (i686) libstdc++-4.4.4-13.el6.i686 libstdc++-devel-4.4.4-13.el6.i686 glibc-devel-2.12-1.7.el6.i686 gcc-4.4.4-13.el6 (x86_64) gcc-c++-4.4.4-13.el6 (x86_64) mpfr-2.4.1-6.el6.x86_64.rpm ppl-0.10.2-11.el6.x86_64.rpm libtool-ltdl
- unixODBC-2.2.14-11.el6.i686or later
- unixODBC-devel-2.2.14-11.el6 (x86_64)or later - unixODBC-devel-2.2.14-11.el6.i686or later libtool-ltdl
oracle 卸载步骤:
cd ORACLE_HOME/deinstall ./deinstall
rm -fr /etc/oratab /etc/orainst.loc rm -fr /tmp/ora* rm -fr /opt/ora*
rm -fr /usr/local/bin/coraenv dbhome
开机启动Oralce
前提条件:前面已经在Linux系统中正确安装好oracle服务,使用手动方式可以正常启动。 先以root身份登录到linux系统 使用vi编辑器编辑文件/etc/oratab vi /etc/oratab
进入vi编辑器后,找到“orcl:/home/oracle/product/11.2.0/db_1:N”,改为“orcl:/home/oracle/product/11.2.0/db_1:Y”。 修改完成后,保存退出vi。
说明:orcl为实例名;orcl:/home/oracle/product/11.2.0/db_1为oracle安装目录;会因安装的情况不同而有所不同。
键入命令“vi /etc/rc.d/rc.local” 编辑文件/etc/rc.d/rc.local
在vi编辑器中,添加:
su oracle -lc \"/home/oracle/product/11.2.0/db_1/bin/lsnrctl start\" su oracle -lc /home/oracle/product/11.2.0/db_1/bin/dbstart
说明:/home/oracle/product/11.2.0/db_1为oracle的安装目录,要根据实际情况进行修改。
因篇幅问题不能全部显示,请点此查看更多更全内容