1、下载oracle11g64位版本的源文件,并上传到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_0oracle.install.option=INSTALL_DB_SWONLYDECLINE_SECURITY_UPDATES=trueUNIX_GROUP_NAME=oinstallINVENTORY_LOCATION=/u01/app/oracle/oraInventorySELECTED_LANGUAGES=en,zh_CNORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1ORACLE_BASE=/u01/app/oracleoracle.install.db.InstallEdition=EEoracle.install.db.isCustomInstall=trueoracle.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.0oracle.install.db.DBA_GROUP=dbaoracle.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 添加以下内容:
#!/bin/sh# chkconfig: 345 61 61# description: Oracle 11g AutoRun Services# /etc/init.d/oracle## Run-level Startup script for the Oracle Instance, Listener, and# Web Interfaceexport ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1export ORACLE_SID=ORCLexport PATH=.:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/jdk/bin:$PATHORA_OWNR=oracle# if the executables do not exist — display errorif [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]thenecho "Oracle startup: cannot start"exit 1fi# depending on parameter — startup, shutdown, restart# of the instance and listener or usage displaycase "$1" instart)# Oracle listener and instance startupsu $ORA_OWNR -lc $ORACLE_HOME/bin/dbstartecho "Oracle Start Succesful!OK.";;stop)# Oracle listener and instance shutdownsu $ORA_OWNR -lc $ORACLE_HOME/bin/dbshutecho "Oracle Stop Succesful!OK.";;reload|restart)$0 stop$0 start;;*)echo $"Usage: `basename $0` {start|stop|reload|reload}"exit 1esacexit 0
编写完成后依次执行如下命令:
# 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.rspDone 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 files1% complete3% complete11% complete18% complete26% complete37% completeCreating and starting Oracle instance40% complete45% complete50% complete55% complete56% complete60% complete62% completeCompleting Database Creation66% complete70% complete73% complete85% complete96% complete100% completeLook at the log file "/u01/app/oracle/cfgtoollogs/dbca/orcl11g/orcl11g.log" for further details.至此为止,建库完成, 查看监听状态 $ lsnrctl status