共计 7942 个字符,预计需要花费 20 分钟才能阅读完成。
1、下载 64 位版本 Oracle11g 的源文件,并上传到 Linux 服务器。
2、Package 安装检查安装:
通过 yum 工具直接安装:
yum -y install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc gcc-c++ libaio-devel libaio libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel pdksh numactl-devel glibc-headers
安装完成后检查未能成功安装的包,若安装失败后可根据包名在网上自行下载:
# 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 pdksh sysstat unixODBC unixODBC-devel | grep “not installed”
3、增加数据库组和用户
# id oracle (确认 oracle 用户是否存在)
# /usr/sbin/groupadd oinstall (建立产品清单管理组)
# /usr/sbin/groupadd dba (建立数据库安装组)
# /usr/sbin/groupadd asmadmin (建立 ASM 管理组)
# /usr/sbin/groupadd asmdba (建立 Grid 管理组)
# /usr/sbin/useradd -g oinstall -G dba,asmdba oracle -d /home/oracle (oinstall 为主要组, 确保 /home/oracle 原不存在)
# id oracle (记住 oracle 用户的 uid 和 gid)
uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba),504(asmdba)
# passwd oracle
4、调整 OS 内核参数
设置原则:
kernel.shmmax 为 4GB-1byte 或一半的物理内存, 哪个值更低用哪个;
fs.file-max 为 512 * PROCESSES.
# vi /etc/sysctl.conf (增加或修改以下参数, 参考值为最小需求, kernel.shmmax 默认即可无需设置)
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
#kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
# /sbin/sysctl -p (设置参数立即生效)
5、增加 shell 限制
为了提升性能增加 oracle 用户的 shell 限制.
# vi /etc/security/limits.conf (在文件最后增加或修改以下参数)
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
# vi /etc/pam.d/login (在文件最后增加或修改以下参数)
session required pam_limits.so
# vi /etc/profile (在文件最后增加或修改以下脚本)
if [$USER = “oracle”]; then
if [$SHELL = “/bin/sh”]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
6、建立必需目录
# more /etc/oratab (确认原来是否存在 Oracle 主目录)
# more /etc/oraInst.loc (确认原来是否存在 Oracle 产品清单目录)
# mkdir -p /u01/app/oracle/
# chown -R oracle: oinstall /home/oracle
# chown -R oracle: oinstall /u01
# chmod -R 775 /home/oracle
# chmod -R 775 /u01
7、设置 oracle 用户环境变量
如果服务器有多网卡, 注意设置 ORACLE_HOSTNAME 为某网卡 IP 对应的主机名, 参照 /etc/hosts 文件.
# su – oracle
$ vi ~/.bash_profile
umask 022
export ORACLE_HOSTNAME=rhel5
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=ORCL
export PATH=.:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/jdk/bin:$PATH
export LC_ALL=”en_US”
export LANG=”en_US”
export NLS_LANG=”AMERICAN_AMERICA.ZHS16GBK”
export NLS_DATE_FORMAT=”YYYY-MM-DD HH24:MI:SS”
#source ~/.bash_profile(使环境变量生效)
8、切换到 oracle 账户,解压 oracle11g 压缩板 1 和 2 到同一目录,并生成响应文件模板
$ unzip linux.x64_11gR2_database_*.zip /u01/database/
$vi /u01/database/db_swonly.rsp
新建相应文件,粘贴如下内容即可:
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
DECLINE_SECURITY_UPDATES=true
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oracle/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=true
oracle.install.db.customComponents=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=oinstall
各参数含义如下:
-silent 表示以静默方式安装, 不会有任何提示
-force 允许安装到一个非空目录
-noconfig 表示不运行配置助手 netca
-responseFile 表示使用哪个响应文件, 必需使用绝对路径
oracle.install.responseFileVersion 响应文件模板的版本, 该参数不要更改
oracle.install.option 安装选项, 本例只安装 oracle 软件, 该参数不要更改
DECLINE_SECURITY_UPDATES 是否需要在线安全更新, 设置为 false, 该参数不要更改
ORACLE_HOSTNAME 安装主机名
UNIX_GROUP_NAME oracle 用户用于安装软件的组名
INVENTORY_LOCATION oracle 产品清单目录
SELECTED_LANGUAGES oracle 运行语言环境, 一般包括引文和简繁体中文
ORACLE_HOME Oracle 安装目录
ORACLE_BASE oracle 基础目录
oracle.install.db.InstallEdition 安装版本类型, 一般是企业版
oracle.install.db.isCustomInstall 是否定制安装, 默认 Partitioning,OLAP,RAT 都选上了
oracle.install.db.customComponents 定制安装组件列表: 除了以上默认的, 可加上 Label Security 和 Database Vault
oracle.install.db.DBA_GROUP oracle 用户用于授予 OSDBA 权限的组名
oracle.install.db.OPER_GROUP oracle 用户用于授予 OSOPER 权限的组名
9、开始安装 oracle 软件
通过 response 文件静默安装:
$ ./runInstaller -silent -force -noconfig -responseFile /u01/database/db_swonly.rsp -ignorePrereq
直到出现以下提示则表示安装完成:
/u01/app/oracle/oraInventory/orainstRoot.sh
/u01/app/oracle/product/11.2.0/dbhome_1/root.sh
To execute the configuration scripts:
1. Open a terminal window
2. Log in as “root”
3. Run the scripts
4. Return to this window and hit “Enter” key to continue
Successfully Setup Software.
10、运行 orainstRoot.sh 和 root.sh
若本机第一次安装 oracle 软件, 则执行 orainstRoot.sh 来建立 oraInst.loc 文件和修改权限:
$ su –
# /u01/app/oracle/oraInventory/orainstRoot.sh
# more /etc/oraInst.loc
执行 $ORACLE_HOME 下的 root.sh 来建立 oratab,dbhome,oraenv,coraenv 文件, 如果提示则一直回车:
# /u01/app/oracle/product/11.2.0/dbhome_1/root.sh
# more /etc/oratab
11、开机启动设置 –(可以不做)
1)vi /u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart
ORACLE_HOME_LISTNER=$1
修改为:
ORACLE_HOME_LISTNER=$ORACLE_HOME
2)vi /u01/app/oracle/product/11.2.0/dbhome_1/bin/dbshut
ORACLE_HOME_LISTNER=$1
修改为:
ORACLE_HOME_LISTNER=$ORACLE_HOME
12、编写开机启动文件 –(可以不做)
#vi /etc/init.d/oracle
添加以下内容:
View Code
编写完成后依次执行如下命令:
# chmod 750 /etc/init.d/oracle
# ln -s /etc/init.d/oracle /etc/rc1.d/K61oracle
# ln -s /etc/init.d/oracle /etc/rc3.d/S61oracle
# chkconfig –level 345 oracle on
# chkconfig –add oracle
[root@localhost ~]# service oracle start
Oracle Start Succesful!OK.
[root@localhost ~]# service oracle stop
Oracle Stop Succesful!OK.
安装 readline
# yum -y install readline*
下载、安装 rlwrap 目前最高版本为:rlwrap-0.42.tar.gz
这个是个加强工具,可以不下载安装
# tar -zxvf rlwrap-0.42.tar.gz
# cd rlwrap-0.42
# ./configure
# make
# make install
# vi /etc/bashrc
#添加如下信息:
alias sqlplus=’/usr/local/bin/rlwrap sqlplus’
alias rman=’/usr/local/bin/rlwrap rman’
13、编辑静默建库响应文件
切换到 oracle 用户
#su – oracle
$cd /u01/database/response
$cp dbca.rsp dbca_dbcsk.rsp // 改名为 dbca_数据库名.rsp
14、静默配置监听
$netca /silent /responsefile /u01/database/response/netca.rsp
Parsing command line arguments:
Parameter “silent” = true
Parameter “responsefile” = /u01/database/response/netca.rsp
Done parsing command line arguments.
Oracle Net Services Configuration:
Profile configuration complete.
Oracle Net Listener Startup:
Running Listener Control:
/u01/app/oracle/product/11.2.0/dbhome_1/bin/lsnrctl start LISTENER
Listener Control complete.
Listener started successfully.
Listener configuration complete.
Oracle Net Services configuration successful. The exit code is 0
成功运行后,在 /u01/app/oracle/product/11.2.0/dbhome_1/network/admin 目录下生成 sqlnet.ora 和 listener.ora 两个文件。
启动监听:
$ /u01/app/oracle/product/11.2.0/dbhome_1/bin/lsnrctl start LISTENER
通过 netstat -tlnp 命令,看到
tcp 0 0 :::1521 :::* LISTEN 5477/tnslsnr
说明监听器已经在 1521 端口上开始工作了。
15、静默建立新库(同时也建立一���对应的实例)
修改 /u01/database/response/dbca_dbcsk.rsp,设置如下:
RESPONSEFILE_VERSION = “11.2.0” // 不能更改
OPERATION_TYPE = “createDatabase”
GDBNAME = “oracle11g.dbcsk.cn” // 数据库的名字
SID = “ORAC” // 对应的实例名字
TEMPLATENAME = “General_Purpose.dbc” // 建库用的模板文件
SYSPASSWORD = “oracle1234” //SYS 管理员密码
SYSTEMPASSWORD = “oracle1234” //SYSTEM 管理员密码
DATAFILEDESTINATION = /home/oracle/oradata // 数据文件存放目录
RECOVERYAREADESTINATION=/home/oracle/oradata_back // 恢复数据存放目录
CHARACTERSET = “AL32UTF8” // 字符集,重要!!! 建库后一般不能更改,所以建库前要确定清楚。
TOTALMEMORY = “10240” //oracle 内存 10G, 也可小一些为 5120M
静默建库命令如下
$ dbca -silent -responseFile /u01/database/response/dbca_dbcsk.rsp
Copying database files
1% complete
3% complete
11% complete
18% complete
26% complete
37% complete
Creating and starting Oracle instance
40% complete
45% complete
50% complete
55% complete
56% complete
60% complete
62% complete
Completing Database Creation
66% complete
70% complete
73% complete
85% complete
96% complete
100% complete
Look at the log file “/u01/app/oracle/cfgtoollogs/dbca/orcl11g/orcl11g.log” for further details.
至此为止,建库完成,查看监听状态
$ lsnrctl status
更多 Oracle 相关信息见 Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-04/130812.htm