一、安装Oracle 11G前环境搭建
本次实验是基于Linux(CentOS6.7_64)下搭建oracle 11g环境,这里选择CentOS安装oracle并不是最佳选择,可以根据需要选择不同的Linux发行版,如Oracle Linux、SuSE Linux、Red Hat、IBM AIX等。
VM或物理机的配置要求:
在实验环境安装oracle11g最少需要2G内存、2个cpu、2G交换分区、磁盘空间不低于20G。
生产环境中,要保证oracle的性能,建议最低配置为8G内存、4个cpu、8G交换分区,如果生产环境比较繁忙,则需要更高的配置。
二、安装Oracle 11G前准备工作
上传oracle11g安装包,解压
linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip
配置/etc/hosts文件,添加ip与主机名的解析
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 #eth0 10.11.12.88 hm
创建oracle相关用户和组
[root@hm ~]# groupadd dba [root@hm ~]# groupadd oinstall [root@hm ~]# useradd -g oinstall -G dba -m oracle [root@hm ~]# id oracle uid=500(oracle) gid=501(oinstall) groups=501(oinstall),500(dba)
创建oracle软件安装目录
[root@hm ~]# mkdir /u01/app/oracle -p [root@hm ~]# chown -R oracle. /u01/ [root@hm ~]# chmod 775 -R /u01/ [root@hm ~]# ls -ld /u01/ drwxr-xr-x. 3 oracle oinstall 4096 Oct 14 22:58 /u01/
oracle用户环境变量设置,su进入oracle用户下,修改~/.bash_profile文件,添加以下内容
export TMP=/tmp export TMPDIR=$TMP export ORACLE_TERM=xterm export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/db export ORACLE_SID=orcl export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/usr/lib64 if [ $USER = "oracle" ];then if [ $SHELL = "/bin/ksh" ];then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi
修改内核参数,打开/etc/sysctl.conf文件,添加以下参数,并修改/etc/security/limits.conf文件
kernel.shmmax = 68719476736 kernel.shmall = 4294967296 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 fs.aio-max-nr = 1048576 net.ipv4.ip_local_port_range = 9000 65500 fs.file-max = 6815744 kernel.sem = 250 32000 100 128 kernel.shmmni = 4096 [root@hm ~]# sysctl -p net.ipv4.ip_forward = 0 net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.default.accept_source_route = 0 kernel.sysrq = 0 kernel.core_uses_pid = 1 net.ipv4.tcp_syncookies = 1 kernel.msgmnb = 65536 kernel.msgmax = 65536 kernel.shmmax = 68719476736 kernel.shmall = 4294967296 kernel.shmmax = 68719476736 kernel.shmall = 4294967296 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 fs.aio-max-nr = 1048576 net.ipv4.ip_local_port_range = 9000 65500 fs.file-max = 6815744 kernel.sem = 250 32000 100 128 kernel.shmmni = 4096 在/etc/security/limits.conf文件末尾添加如下内容 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 4096 oracle hard nofile 65536 并同时修改/etc/pam.d/login文件,添加以下内容 session required pam_limits.so
安装oracle依赖的软件包
[root@hm ~]# yum install gcc gcc-c++ libaio glibc compat-libstdc++-33 elfutils-libelf-devel libaio-devel libgcc libstdc++ libstdc++-devel unixODBC unixODBC-devel glibc-common ksh make sysstat pdksh [root@hm ~]# yum install glibc-2.12-1.192.el6.i686 检查是否安装 [root@hm ~]# for i in gcc gcc-c++ libaio glibc compat-libstdc++-33 elfutils-libelf-devel libaio-devel libgcc libstdc++ libstdc++-devel unixODBC unixODBC-devel glibc-common ksh make sysstat pdksh;do rpm -q $i;done |
三、安装oracle11g软件
解压oracle11g软件包
[root@hm oracle]# unzip linux.x64_11gR2_database_1of2.zip
[root@hm oracle]# unzip linux.x64_11gR2_database_2of2.zip
[root@hm oracle]# chown -R oracle. database/ [root@hm oracle]# ls -l database/ total 36 drwxr-xr-x. 12 oracle oinstall 4096 Aug 17 2009 doc drwxr-xr-x. 4 oracle oinstall 4096 Aug 15 2009 install drwxrwxr-x. 2 oracle oinstall 4096 Aug 15 2009 response drwxr-xr-x. 2 oracle oinstall 4096 Aug 15 2009 rpm -rwxr-xr-x. 1 oracle oinstall 3226 Aug 15 2009 runInstaller drwxrwxr-x. 2 oracle oinstall 4096 Aug 15 2009 sshsetup drwxr-xr-x. 14 oracle oinstall 4096 Aug 15 2009 stage -rw-r--r--. 1 oracle oinstall 5402 Aug 18 2009 welcome.html
以orcle用户登录图形界面安装oracle,也可以使用vnc远程安装。这里直接用Xshell远程调用linux图形界面进行安装
[root@hm ~]# su - oracle [oracle@hm ~]$ export DISPLAY=10.11.12.1:0.0 [oracle@hm ~]$ xhost +
进入database目录,执行runInstalle
[oracle@hm ~]$ cd /usr/local/src/oracle/database/ [oracle@hm database]$ ./runInstaller Starting Oracle Universal Installer... Checking Temp space: must be greater than 120 MB. Actual 21645 MB Passed Checking swap space: must be greater than 150 MB. Actual 4095 MB Passed Checking monitor: must be configured to display at least 256 colors. Actual 16777216 Passed Preparing to launch Oracle Universal Installer from /tmp/OraInstall2016-10-15_12-48-55PM. Please wait ...
进入图形界面安装
[root@hm ~]# /u01/app/oraInventory/orainstRoot.sh Changing permissions of /u01/app/oraInventory. Adding read,write permissions for group. Removing read,write,execute permissions for world. Changing groupname of /u01/app/oraInventory to oinstall. The execution of the script is complete. [root@hm ~]# /u01/app/oracle/db/root.sh Running Oracle 11g root.sh script... The following environment variables are set as: ORACLE_OWNER= oracle ORACLE_HOME= /u01/app/oracle/db Enter the full pathname of the local bin directory: [/usr/local/bin]: Copying dbhome to /usr/local/bin ... Copying oraenv to /usr/local/bin ... Copying coraenv to /usr/local/bin ... Creating /etc/oratab file... Entries will be added to the /etc/oratab file as needed by Database Configuration Assistant when a database is created Finished running generic part of root.sh script. Now product-specific root actions will be performed. Finished product-specific root actions.
启动监听
[oracle@hm ~]$ lsnrctl start LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 15-OCT-2016 23:30:07 Copyright (c) 1991, 2009, Oracle. All rights reserved. Starting /u01/app/oracle/db/bin/tnslsnr: please wait... TNSLSNR for Linux: Version 11.2.0.1.0 - Production Log messages written to /u01/app/oracle/diag/tnslsnr/hm/listener/alert/log.xml Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=hm)(PORT=1521))) Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production Start Date 15-OCT-2016 23:30:09 Uptime 0 days 0 hr. 0 min. 1 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Log File /u01/app/oracle/diag/tnslsnr/hm/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=hm)(PORT=1521))) The listener supports no services The command completed successfully
创建数据库实例,oracle用户下使用dbca工具创建
[oracle@hm ~]$ dbca
安装完成检查,查看oracle进程与监听状态
[oracle@hm ~]$ ps -ef | grep ora_ oracle 6636 1 0 23:41 ? 00:00:00 ora_pmon_orcl oracle 6638 1 0 23:41 ? 00:00:04 ora_vktm_orcl oracle 6642 1 0 23:41 ? 00:00:00 ora_gen0_orcl oracle 6644 1 0 23:41 ? 00:00:00 ora_diag_orcl oracle 6646 1 0 23:41 ? 00:00:00 ora_dbrm_orcl oracle 6648 1 0 23:41 ? 00:00:00 ora_psp0_orcl oracle 6650 1 0 23:41 ? 00:00:05 ora_dia0_orcl oracle 6652 1 0 23:41 ? 00:00:00 ora_mman_orcl oracle 6654 1 0 23:41 ? 00:00:00 ora_dbw0_orcl oracle 6656 1 0 23:41 ? 00:00:00 ora_lgwr_orcl oracle 6658 1 0 23:41 ? 00:00:00 ora_ckpt_orcl oracle 6660 1 0 23:41 ? 00:00:00 ora_smon_orcl oracle 6662 1 0 23:41 ? 00:00:00 ora_reco_orcl oracle 6664 1 0 23:41 ? 00:00:02 ora_mmon_orcl oracle 6666 1 0 23:41 ? 00:00:02 ora_mmnl_orcl oracle 6668 1 0 23:41 ? 00:00:00 ora_d000_orcl oracle 6670 1 0 23:41 ? 00:00:00 ora_s000_orcl oracle 6719 1 0 23:41 ? 00:00:00 ora_qmnc_orcl oracle 6739 1 0 23:41 ? 00:00:01 ora_cjq0_orcl oracle 6832 1 0 23:41 ? 00:00:00 ora_q000_orcl oracle 6834 1 0 23:41 ? 00:00:00 ora_q001_orcl oracle 6842 1 0 23:42 ? 00:00:00 ora_smco_orcl oracle 6844 1 0 23:42 ? 00:00:00 ora_w000_orcl oracle 15858 2208 0 23:59 pts/0 00:00:00 grep ora_ [oracle@hm ~]$ lsnrctl status LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 15-OCT-2016 23:59:58 Copyright (c) 1991, 2009, Oracle. All rights reserved. Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production Start Date 15-OCT-2016 23:30:09 Uptime 0 days 0 hr. 29 min. 50 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Log File /u01/app/oracle/diag/tnslsnr/hm/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=hm)(PORT=1521))) Services Summary... Service "orcl" has 1 instance(s). Instance "orcl", status READY, has 1 handler(s) for this service... Service "orclXDB" has 1 instance(s). Instance "orcl", status READY, has 1 handler(s) for this service... The command completed successfully
登录oracle数据库,查看数据库实例状态、实例名、数据库文件、日志文件
SQL> select status from v$instance; STATUS ------------ OPEN SQL> select name from v$database; NAME --------- ORCL SQL> select name from v$datafile; NAME -------------------------------------------------------------------------------- /u01/app/oracle/oradata/orcl/system01.dbf /u01/app/oracle/oradata/orcl/sysaux01.dbf /u01/app/oracle/oradata/orcl/undotbs01.dbf /u01/app/oracle/oradata/orcl/users01.dbf SQL> select member from v$logfile; MEMBER -------------------------------------------------------------------------------- /u01/app/oracle/oradata/orcl/redo03.log /u01/app/oracle/oradata/orcl/redo02.log /u01/app/oracle/oradata/orcl/redo01.log
查看oracle数据库版本
SQL> select * from v$version; BANNER -------------------------------------------------------------------------------- Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production PL/SQL Release 11.2.0.1.0 - Production CORE 11.2.0.1.0 Production TNS for Linux: Version 11.2.0.1.0 - Production NLSRTL Version 11.2.0.1.0 - Production
关闭与启动
关闭数据库实例
SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down.
关闭监听
[oracle@hm ~]$ lsnrctl stop LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 16-OCT-2016 00:16:41 Copyright (c) 1991, 2009, Oracle. All rights reserved. Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)) The command completed successfully [oracle@hm ~]$ ps -ef | grep ora_ oracle 16987 2208 0 00:17 pts/0 00:00:00 grep ora_
启动监听
[oracle@hm ~]$ lsnrctl start
启动实例
[oracle@hm ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.1.0 Production on Sun Oct 16 00:19:39 2016 Copyright (c) 1982, 2009, Oracle. All rights reserved. Connected to an idle instance. SQL> startup; ORACLE instance started. Total System Global Area 780824576 bytes Fixed Size 2217424 bytes Variable Size 599788080 bytes Database Buffers 171966464 bytes Redo Buffers 6852608 bytes Database mounted. Database opened. SQL> select status from v$instance; STATUS ------------ OPEN
原文地址:http://7424593.blog.51cto.com/7414593/1862289