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;

成功!!!

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容