linux CentOS 安装 oracle 11g

本文详细介绍了在CentOS 5.4系统中安装与配置Oracle Database 11g Release 2的过程,包括环境准备、安装步骤、数据库创建、监听器配置等内容。

 

1,安装虚拟机 VMware (本地使用6.5绿化版版)

 

--------------------------------------------------------

2,使用CentOS-5.4版本linux    CentOS5.4 i386 32位   ---   Linux x86

 

--------------------------------------------------------

3,下载Oracle Database 11g Release 2版(分开的两个文件 大小2G oracle官网下载)

借助软件 FileZilla_3.3.3_win32-setup.exe  把oracle文件传输到linux上去

linux_11gR2_database_1of2.zip     linux_11gR2_database_2of2.zip

解压上两个文件   先解压1  后2 -->自动到database文件夹

借助 putty.exe 远程连接服务器

 

--------------------------------------------------------

4,linux的安装环境配置(oracle安装所必须的包)使用客户端连接linux服务器

oracle官方提供的安装文档 http ://download.oracle.com/docs/cd/E11882_01/install.112/e10857/toc.htm

<1 检查相关的开发工具和一些包   (版本并不一定全部匹配 高一点就行了)

从linux安装文件 CentOS-5.5-i386-bin-DVD.iso/CentOS 文件找到缺少的包, 并且上传到 linux 上去

查询命令 # rpm -qa | grep 名字

binutils-2.17.50.0.6 ok

compat-libstdc++-33-3.2.3 ok(--自己测缺少)

elfutils-libelf-0.125 ok

elfutils-libelf-devel-0.125 --

elfutils-libelf-devel-static-0.125 --

gcc-4.1.2 ok

gcc-c++-4.1.2 ok

glibc-2.5-24 ok

glibc-common-2.5 ok

glibc-devel-2.5 ok

glibc-headers-2.5 ok

kernel-headers-2.6.18 ok

ksh-20060214 ok

libaio-0.3.106 ok

libaio-devel-0.3.106 --

libgcc-4.1.2 ok

libgomp-4.1.2 ok

libstdc++-4.1.2 ok

libstdc++-devel-4.1.2 ok

make-3.81 ok

numactl-devel-0.9.8.i386 --

sysstat-7.0.2 --

unixODBC-2.2.11 --

unixODBC-devel-2.2.11 --

 

<2 上传到linux后 进行安装

# rpm -ivh *.rpm

 

<3 创建Oracle用户及用户组     ************ (深入了解的话 查询文档 或linux用户管理)

# groupadd oinstall

# groupadd dba

添加一个oracle用户, 根目录是 /u01/oracle, 主的组是 oinstall 副的组是dba

# mkdir -p /u01/oracle

# useradd -g oinstall -G dba -d /u01/oracle oracle

出现提示 不用管

useradd: warning: the home directory already exists. Not copying any file from skel directory into it.

 

创建后此目录/u01/oracle是空目录 需要把下面的默认文件手动拷过去

# cp /etc/skel/.bash_profile /u01/oracle

# cp /etc/skel/.bashrc /u01/oracle

# cp /etc/skel/.bash_logout /u01/oracle

 

为oracle 用户设置密码: oracle # passwd oracle

 

为oracle 用户设置权限

# cd /

/]# ls -l

/]# chown -R oracle:oinstall u01

/]# ls -l

检查 nobody 是否存在:  # id nobody

uid=99(nobody) gid=99(nobody) groups=99(nobody) You have new mail in /var/spool/mail/root

缺省存在的。如果不存在 # /usr/sbin/useradd -g nobody

 

<4 修改linux配置文件:

# vi /etc/sysctl.conf   添加属性

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

 

# 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

 

<5 设置oracle 用户环境变量  # su - oracle (用oracle用户登录)

$ pwd 查看用户路径是 /u01/oracle

 

$ ls -al 查看3个用户文件 .bash_logout  .bashrc .bash_profile(编辑它 加入环境变量)

$ vi .bash_profile

ORACLE_BASE=/u01

ORACLE_HOME=$ORACLE_BASE/oracle

ORACLE_SID=wilson

PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin  (加入 $ORACLE_HOME/bin:)

export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH (加入 ORACLE_BASE ORACLE_HOME ORACLE_SID )

 

<6 移动配置权限 database 到 oracle 用户文件夹 (切换root用户)

# mv /root/database /u01/

配置权限 /u01/database

# chown -R oracle:oinstall /u01/database

 

<7 重启系统,开始安装Oracle

# shutdown -r now

# exit

 

--------------------------------------------------------

5, 图形界面安装oracle

<1 使用oracle用户登录

$ /u01/database/runInstaller

出现界面 安装步骤:

 

Installation Optiong

install database software only (安装完软件后在手动配置数据库)

 

Grid Options

Single instance database installation (服务器的类型 不需要集群)

 

Product Languages

English

 

Database Edition

Enterprise Edition (3.95)

 

Installation Location

Oracle Base: /u01

Software Loacation: /u01/oracle (值是配置环境变量配置的 oracle自动检测出来了)

提示: yes

 

Create Inventory

# mkdir /oraInventory (用root用户登录 创建一个新用户 并设置权限 然后才可以进行此步安装)

# chown -R oracle:oinstall /oraInventory

 

Operating System Groups

Next

 

Prerequis ite Checks

Ignore All (检测到机器配置 如果内存或交换分区不足 选择 Ignore All)

 

Summary

Finish

 

Install Product

/oraInventory/orainstRoot.sh (安装过程中要执行2个脚本文件 直接拷贝到命令行中)

/u01/oracle/root.sh (直接按回车, 缺省值就可以)

Finish

The installation of Oracle Database was successful

 

<2 软件安装完成, 下一步创建数据库 / 配置监听器 Listener

$ netca

一直默认下一步 , 呵呵, 最后 Finish

$ ps -ef | grep

查看Listener是否配置成功 (如果使用root创建 是错误的)

$dbca

一直 Next 使用默认,

到Global Database Name 和 SID 都是输入 wilson(此用户名输入后 后面的配置和登录库名都一样)

创建密码:选择 User the Same.....All Accounts     密码123456

选择 Sample Schemas

Memory 内存分配,默认就可以了 Character Sets 选择 Use Unicode(AL32UTF8)

然后一直 Next , 到最后 Finish  (检查 /u01/* 所有文件夹的权限为 # chown -R oracle:oinstall) ****dbca的库好像就在此文件夹下cfgtoollogs

弹出一个 Confirmation , 点击 OK 就可以了, 然后自动进行安装

安装到目录 /u01/oradata/wilson

    /u01/等等。。。 会发现多了很多文件。

 

<3 //**(centos5.5 linux 启动的时候 不进入 图形界面)**/

# vi /etc/inittab  

id:5:initdefault: 修改成  id:3:initdefault:

 

保存退出, 然后重启系统

 

<4 远程登录 oracle 用户 进入sql命令行

$ sqlplus system/manager as sysdba    或者 $sqlplus /nolog     SQL> conn / as sysdba

SQL> startup nomount (启动到mount状态)

SQL> alter database mount;

Database altered.

SQL> alter database open;

alter database open

$ lsnrctl start

测试增删改查

SQL> create table testUser( id integer,name char(10));

Table created.

SQL> insert into testUser values(0,'Jack');

1 row created.

SQL> commit;             (//*********为什么commit)

Commit complete.

SQL> select * from testUser;

 

关闭数据库

SQL>  shutdown immediate

SQL>  quit

 

<5 启动监听 (如果为启动成功就需要配置)

# vi /etc/hosts 添加监听主机的ip和端口

127.0.0.1               localhost.localdomain localhost

::1             localhost6.localdomain6 localhost6

::1             localhost.localdomain localhost

192.168.0.6 localhost.localdomain localhost

192.168.0.110 localhost.localdomain localhost

保存 重启系统

 

如果出现The listener supports no services信息表示没有服务(需要动态注册服务)。想到是不是要重启一下数据库服务。登陆sqlplus,关闭数据库,提示数据库没有启动。

原来问题出在这里,而不是tns没有启动监听的问题!

$ sqlplus "/as sysdba"

SQL> shutdown immediate;

SQL> startup

SQL> exit

$ lsnrctl services

LSNRCTL for IBM/AIX RISC System/6000: Version 9.2.0.8.0 - Production on 10-MAY-2

008 09:28:13

Copyright (c) 1991, 2006, Oracle Corporation.  All rights reserved.

Connecting to (ADDRESS=(PROTOCOL=tcp)(PORT=1521))

Services Summary...

Service "SISDB" has 1 instance(s).

  Instance "SISDB", status READY, has 1 handler(s) for this service...

    Handler(s):

      "DEDICATED" established:0 refused:0 state:ready

         LOCAL SERVER

Service "SISDBXDB" has 1 instance(s).

  Instance "SISDB", status READY, has 1 handler(s) for this service...

    Handler(s):

      "D000" established:0 refused:0 current:0 max:1002 state:ready

         DISPATCHER

         (ADDRESS=(PROTOCOL=tcp)(HOST=i2arptest)(PORT=32793))

The command completed successfully

 

 

发现重启instance后,instance重新注册lnsr,在lsnrctl service也看到了其对外已经重新提供了服务。

注:如果不重启instance,将有pmon进行动态注册。

另外,如果要实现动态注册,我们在对初始化文件还有有一定的设置,必须设置instance_name和service_names参数(我试了一下,其实只要设置了service_names就能实现动态注册的,并且用这个服务名对外提供服务)。

修改初始化文件,先全部取消instanace_name和service_names,然后逐个设定测试:

(1)先设置instance_name

sys@ORALOCAL(192.168.0.22)> alter system set instance_name='oralocal' scope=spfile;

 已用时间:  00: 00: 00.01

sys@ORALOCAL(192.168.0.22)> startup force;

ORACLE 例程已经启动。

 

Total System Global Area  133765984 bytes

Fixed Size                   453472 bytes

Variable Size              79691776 bytes

Database Buffers           50331648 bytes

Redo Buffers                3289088 bytes

数据库装载完毕。

数据库已经打开。

sys@ORALOCAL(192.168.0.22)> show parameter instance_name

 

sys@ORALOCAL(192.168.0.22)> show parameter service_names

 

6,

  system/manager   没有sysdba和sysoper权限所以登陆的时候会提示权限不足的错误

      sys是系统用户,有最高的权限,所以,以那种身份登陆都可以的

  在服务端sys用户下执行

  SQL>  grant   sysdba   to   system;

   Grant   succeeded.

  SQL>  grant   sysoper   to   system;

   但使用system/manager以Normal登录时,正常。

        使用sys/change_on_install已这三个身份登录也正常,不知大家有没有遇到过

(1)conn sys/sys as sysdba; //以DBA的身份登录  解锁 scott或System

ORA-28000: the account is locked

SQL> alter user scott account unlock;

-------------------------------------------------

在xp下使用必须安装客户端

 

 

-------------------------------------------------

使用pl/sql连接如果出现字符集问题:  Database character set (AL32UTF8) and Client character set (ZHS16GBK) are different. Character set conversion may cause unexpected results.

Note: you can set the client character set through the NLS_LANG environment variable or the NLS_LANG registry key in HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/HOME0.

regedit 找到

HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/KEY_OraDb10g_home1的变量NLS_LANG的值 (如果是9i 同路径下的 NLS_LANG 变量)

SIMPLIFIED CHINESE_CHINA.ZHS16GBK  改变成以下的值 SIMPLIFIED CHINESE_CHINA.AL32UTF8(服务端编码)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值