CentOS6.5 64位安装oracle 11gR2

环境准备

  1. win7环境下远程连接工具XShell;
  2. CentOS6.5 64位系统;
  3. Oracle linux 64位版本安装包:

    linux.x64_11gR2_database_1of2.zip
    lnux.x64_11gR2_database_2of2.zip


安装前需要一定的依赖库

yum -y install  gcc gcc-c++ make binutilscompat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-commonglibc-devel libaio libaio-devel libgcclibstdc++ libstdc++-devel unixODBC unixODBC-devel

设定swap空间

  • /home下生成swap文件 设定大小2GB
cd /home
dd if=/dev/zero of=/home/swapfile bs=1M count=2048
  • 设定使用swapfile交换文件
mkswap /home/swapfile
  • 启用交换分区
swapon /home/swapfile
  • 编辑文件
vi /etc/fstab
  • 以便引导系统时启用交换文件,文件最下方插入
/home/swapfile swap swap defaults 0 0

添加oracle用户

  • 创建oinstall、dba组 将oracle用户加入组 修改并设定oracle用户密码
groupadd -g 501 oinstall  
groupadd -g 502 dba  
useradd -g oinstall -G dba -m -d /home/oracle oracle  
passwd oracle

-g:指定用户所属的群组
-G:指定用户所属的附加群组
-d:指定用户主目录
-m:若用户主目录不存在,则自动创建。

修改内核参数

  • 编辑文件/etc/sysctl.conf
vi /etc/sysctl.conf
  • 配置文件内加入 修改以下参数。如果没有可以自己添加,如果默认值比参考值大,则不需要修改。
kernel.shmall = 2097152  
kernel.shmmax = 536870912  
fs.aio-max-nr = 1048576  
fs.file-max = 6815744  
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`  
  • 执行命令sysctl使其自检并生效
sysctl -p

修改用户资源限制

  • 修改配置文件
vi /etc/security/limits.conf
  • 配置文件下方加入
oracle    soft     nproc  2047
oracle    hard    nproc  16384
oracle    soft    nofile  1024
oracle    hard    nofile  65536
oracle    soft    stack   10240
  • 修改配置文件
vi /etc/pam.d/login
  • 配置文件内加入
session required /lib64/security/pam_limits.so
session required pam_limits.so  

这里注意:若添加下面语句,本地用户不能登录系统!

session required /lib/security/pam_limits.so  

创建安装目录

  • 并赋予组用户及权限
mkdir -p /usr/local/oracle/ /usr/local/oraInventory/ /usr/local/oradata/
chmod -R 775 /usr/local/oracle /usr/local/oraInventory /usr/local/oradata
chown -R oracle:oinstall /usr/local/oracle /usr/local/oraInventory /usr/local/oradata

创建oraInst.loc文件

  • 创建oraInst.loc文件
vi /etc/oraInst.loc
  • 文件内加入以下内容
inventory_loc=/usr/local/oraInventory
inst_group=oinstall
  • 设定该文件的用户组及权限。
chown oracle:oinstall /etc/oraInst.loc
chmod 664 /etc/oraInst.loc

通过xshell上传zip文件到/home并解压

  • 解压文件
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip

待解压完毕后会生成文件夹/home/database

  • 修改其用户组及权限此处直接使用777
chmod 777 /home/database  
chown -R oracle.oinstall /home/database  

关闭Selinux

sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
setenforce 0

[root@oracledb ~]# setenforce 0

关闭防火墙

service iptables stop
chkconfig iptables off

准备oracle安装应答模板文件db_install.rsp文件。

  1. 该文件默认存放在解压后的安装包内,也就是本例中/home/database/response下,将oracle静默安装所需应答文件全部拷贝至 /usr/local/oracle文件夹下
cp /home/database/response/* /usr/local/oracle/
  1. 修改安装所需的所有应答文件的所属组及权限
chown  oracle:oinstall /usr/local/oracle/*.rsp
chmod 755 /usr/local/oracle/*.rsp
  1. 配置db_install.rsp文件
vi /usr/local/oracle/db_install.rsp
  1. 文件内修改相应的参数配置如下:
oracle.install.option=INSTALL_DB_SWONLY    //安装类型,只装数据库软件
ORACLE_HOSTNAME=db    //主机名称(命令hostname查询)
UNIX_GROUP_NAME=oinstall     // 安装组
INVENTORY_LOCATION=/usr/local/oraInventory    //INVENTORY目录(**不填就是默认值,本例此处需修改,因个人创建安装目录而定)
SELECTED_LANGUAGES=en,zh_CN    // 选择语言
ORACLE_HOME=/usr/local/oracle/product/11.2.0/db_1    // oracle_home *路径根据目录情况注意修改 本例安装路径/usr/local/oracle
ORACLE_BASE=/usr/local/oracle    // oracle_base *注意修改
oracle.install.db.InstallEdition=EE    // oracle版本   
oracle.install.db.isCustomInstall=false    //自定义安装,否,使用默认组件
oracle.install.db.DBA_GROUP=dba    //dba用户组   
oracle.install.db.OPER_GROUP=oinstall    //oper用户组
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE    //数据库类型
oracle.install.db.config.starterdb.globalDBName=orcl      //globalDBName
oracle.install.db.config.starterdb.SID=orcl    //SID(**此处注意与环境变量内配置SID一致)
oracle.install.db.config.starterdb.memoryLimit=81920    //自动管理内存的内存(M)
oracle.install.db.config.starterdb.password.ALL=oracle    //设定所有数据库用户使用同一个密码
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false    //(手动写了false)
DECLINE_SECURITY_UPDATES=true    // **注意此参数 设定一定要为true

设置oracle用户环境

  • 由root切换至创建好的oracle用户 (必须有 - )
su - oracle
  • 修改该用户的用户配置文件/home/oracle目录下
vi /home/oracle/.bash_profile
  • 文件内加入并修改至以下内容
ORACLE_BASE=/usr/local/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
ORACLE_SID=orcl
PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
  • 保存退出后执行source命令立即生效。
source .bash_profile

在oracle用户下开始安装。

  • 执行命令安装。
/home/database/./runInstaller -silent -force -ignoreSysprereqs -ignorePrereq -responseFile /usr/local/oracle/db_install.rsp

参数说明

/home/database是安装包解压后的路径,此处根据安装包解压所在位置做修改。
./runInstaller 是主要安装脚本
-silent 静默模式
-force 强制安装
-ignorePrereq忽略warning直接安装。
-responseFile读取安装应答文件。

  • 可以通过XShell另起窗口并以root登陆。
    通过watch -d -n 2 'du -sh /usr/local/oracle'监测oracle安装目录是否变化。
    或者直接tail -f命令监测安装log日志。
  • 等待安装编译直至出现以下内容,在新创建的root窗口内执行以下提示内的脚本:/usr/oracle/product/11.2.0/db_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 continues
    Successfully Setup Software.

DBCA静默安装

  • 修改/usr/local/oracle/dbca.rsp文件
[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
GDBNAME = "orcl"
SID = “orcl"
TEMPLATENAME = "General_Purpose.dbc"
SYSPASSWORD="password"
SYSTEMPASSWORD="password"
DATAFILEDESTINATION = "/usr/local/oracle/oradata"
RECOVERYAREADESTINATION="/usr/local/oracle/flash_recovery_area"
CHARACTERSET = "AL32UTF8"
NATIONALCHARACTERSET= "UTF8"  
  • 根据init.ora,创建一个新的initorcl.ora,修改里面的<$ORACLE_HOME>为绝对路以及修改其他配置名称。
  • 修改hosts文件 配置主机名 host
vi /etc/hosts
ip 主机名
  • DBCA静默安装
su - oracle $ORACLE_HOME/bin/dbca -silent -responseFile /usr/local/oracle/dbca.rsp

复制数据库文件
1% 已完成
......
37% 已完成
正在创建并启动 Oracle 实例
40% 已完成
......
62% 已完成
正在进行数据库创建
66% 已完成
......
96% 已完成
100% 已完成
有关详细信息, 请参阅日志文件"/usr/local/oracle/cfgtoollogs/dbca/orcl/orcl.log"。

使用参数说明:

-silent指以静默方式执行dbca命令
-createDatabase指使用dbca
-templateName指定用来创建数据库的模板名称,这里指定为General_Purposedbc,即一般用途的数据库模板
-gdbname指定创建的全局数据库名称,这里指定名称为orcl
-sid 指定数据库系统标识符,这里指定为orcl,与数据库同名
-responseFile 指定安装响应文件,NO_VALUE表示没有指定响应文件
-characterSet 指定数据库使用的字符集,这里指定为AL32UTF8
-memoryPercentage 指定用于oracle的物理内存的百分比,这里指定为30%
-emConfiguration 指定Enterprise Management的管理选项。LOCAL表示数据库由Enterprise Manager本地管理

修改监听配置

  • 在此目录下/usr/local/oracle/product/11.2.0/db_1/network/admin/admin/samples下三个文件如下配置到/admin下:
    *修改listener.ora*
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = centOS6.5)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC = 
      (GLOBAL_DBNAME= orcl)
      (SID_NAME = orcl)
      (ORACLE_HOME = /usr/local/oracle/product/11.2.0/db_1)
      (PROGRAM = extproc)
    )
  )

tnsnames.ora

centOS =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = centOS6.5)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )
  • 修改oracle启动配置文件
su - oracle
vi /etc/oratab
orcl:/usr/oracle/product/11.2.0/db_1:Y //把“N”改成“Y”

这样就可以启动此实例,监听器。

netstat -tlnp  //查看监听情况 
dbstart $ORACLE_HOME  //此时所有oracle的进程关闭,监听器也停止。
dbshut $ORACLE_HOME  //再次查看监听器状态。
lsnrctl   start         ---启动监听
lsnrctl status         ----查看监听

sqlplus配置

[oracle@localhost ~]$ sqlplus /nolog
SQL> conn / as sysdba                ---进入系统管理用户
SQL> startup ;                           ---启动oracle实例
SQL> shutdown immediate;        ---停掉oracle实例
SQL> create tablespace oracle datafile 'oracle.dbf' size 100M reuse, 'oracle2.dbs' size 100M reuse default storage (initial 500K next 300K pctincrease 20);                   ----创建表空间
SQL> create user test identified by "test" default tablespace oracle profile default  account unlock;                                 -----创建用户(create user username identified by password)
SQL> grant dba to test;                                                             ----授权用户dba权限
Grant succeeded.
SQL> grant unlimited tablespace to test;                               
Grant succeeded.
SQL> create table z_test(id number,name varchar(20));               ----创建表
SQL> insert into z_test select 1,'a' from dual;                               ---插入表数据
SQL> select name from v$database;                                        ---查看实例名
SQL> select username,default_tablespace from user_users;          ---查看当权用户所在表空间
SQL> select table_name from all_tables where TABLESPACE_NAME='表空间'                                  ---查看表空间中的所有表(表空间名字一定要大写。)
SQL> alter database archivelog;         
SQL> alter database flashback on; (如果要启用数据库闪回功能则执行)
SQL> alter database open;
SQL> execute utl_recomp.recomp_serial(); (重新编译所有可能失效对象)
SQL> alter system archive log current; (手工归档测试)
SQL> select table_name from dba_tables;

成功!!!

若要使用远程访问的话,请务必关闭防火墙!!!

你可能感兴趣的:(CentOS6.5 64位安装oracle 11gR2)