文档章节

redhat9.0在安装oracle10g过程

01010101010101010101
 01010101010101010101
发布于 2013/10/11 17:06
字数 3161
阅读 406
收藏 0

    既然打算用目前的的一些空余时间对已学过的知识进行整理,因码工的关系需要一个运行代码的环境,于是动手搭建linux环境(之前的所做项目的全是借别人之手搭建)。

    基本功能:

    1)linux环境(选择了redhat9.0的服务版)

    2)数据库(oracle10g--服务随系统自动启停)

    好了,废话不多。

    一)安装操作系统:尽量在安装时将需要的包尽量装全。虽说之后可以通过rpm方式安装,但那并不太明智(因为手动安装软件,软件之间的依赖会让你很是头疼)。

    安装操作系统基本上都是一直next下即可完成。

    二)安装数据库软件:开发数据库的软件,数据库是不可少,于是选择大众、流行的oracle10g.

        1)安装过程,参考的是http://lvming1000.blog.163.com/blog/static/11686002012174580870/。我是从第5步,按其步骤开始:

5、建立oracle用户

groupadd  dba 建立组

groupadd oinstall

useradd -g oinstall -G dba  oracle

6、设置密码

passwd oracle

7、修改oracle用户配置文件,在其中添加:(注意修改安装oracle的路径)

#su - oracle

#vi .bash_profile

export TMP=/tmp

export TMPDIR=$TMP

export ORACLE_BASE=/u01/app/oracle      #自定义的安装路径

export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1;

export ORACLE_SID=ORCL    #自己定义的oracleSID

export ORACLE_TERM=xterm

export PATH=/usr/sbin:$PATH

export PATH=$ORACLE_HOME/bin:$PATH; export PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

8、建立安装目录(注意修改安装oracle的路径)

su - root

mkdir  -p  /u01/app/oracle

9、修改文件所有者并配置安装包和用户环境:

chown -R oracleoinstall  /u01


10、重启系统

11、以oracle用户身份登录,安装

12、通过sambaoracle安装软件上传到linux机器的/u01下,然后解压

unzip  10201_database_linux32.z

13、解压完生成database目录

cd /u01/database

cd install

vi oraparam.ini (默认10g不支持redhat-5,修改此文件增加对redhat-5的支持,第39行)

Linux=redhat-3,SuSE-9,redhat-4,redhat-5,UnitedLinux-1.0,asianux-1,asianux-2

注:建议更改/etc/redhat-release中的版本号,上面的方法有时会不生效。

14、安装

检查用户id

id   必须是oracle

cd /u01/database

./runInstaller  执行安装文件,进行安装

15、按照提示安装即可(和Windows的安装一样)。

      1.选择安装方法,我们选择高级安装

       2.选择安装类型选择企业版:

       3.只定安装目录信息,进行下一步,:

       4.安装程序对系统的安装条件进行检查:

       5.选择配置选项,这是我们创建数据库:

       6.选择数据库配置:

       7.制定数据库配置选项:

        8.选择数据库管理选项,选择默认即可:

        9.指定数据库存储选项:

       10.制定备份和恢复选项,目前选择不备份:

       11.指定数据库方案的口令,这里选择统一口令:

      12.显示安装概况,点击安装后开始安装:

      13.安装图像:

      14.到下面这一步的时候如果你的虚拟内存不足会要求你去增加虚拟内存,否则不会继续安装:

      15.在上面安装的时候还会弹出这样一个对话框,要求你用root账户来执行两个脚本程序。用root执行之后点击确定继续安装。

     16.完成安装:

        17.尝试启动数据库:以oracle用户登录,输入:sqlplus "/as sysdba":

[oracle@localhost patch2]$ sqlplus "/as sysdba"

SQL*Plus: Release 10.2.0.1.0 - Production on Thu Jul 28 19:50:47 2011

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production

With the Partitioning, OLAP and Data Mining options

SQL>

            18.输入startup:如果看到下面的字符说明数据库启动成功。

SQL> startup

ORA-01081: cannot start already-running ORACLE - shut it down first

SQL>

            19.切换会oracle命令输入模式,输入emctl   start   dbconsole

[oracle@localhost patch2]$ emctl start dbconsole

TZ set to PRC

Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0 

Copyright (c) 1996, 2005 Oracle Corporation.  All rights reserved.

http://localhost.localdomain:1158/em/console/aboutApplication

 - An instance of Oracle Enterprise Manager 10g Database Control is already running.

[oracle@localhost patch2]$ emctl start dbconsole

TZ set to PRC

Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0 

Copyright (c) 1996, 2005 Oracle Corporation.  All rights reserved.

http://localhost.localdomain:1158/em/console/aboutApplication

 - An instance of Oracle Enterprise Manager 10g Database Control is already running.

          20.看到这样的画面表示你的oracle安装成功了。

--------------------------- 到此数据库安装基本完成(但是不能保证你就能用)---------------------------------

    2)此时用http://localhost.localdomain:1158/em/console/aboutApplication 登录控制台时,会显示成功登录的控台,但数据库侦听端口(一般为1521)可以通过lsnrctl status查看。

    此时lsrctl start 启动数据库侦听端口,可会发生如下错误。解决办法可以参考:http://www.xifenfei.com/622.html本人采用此种方法:

TNS-12537: TNS:connection closed
TNS-12560: TNS:protocol adapter error
TNS-00507: Connection closed
Linux Error: 29: Illegal seek
需要在 Listener文件中添加SUBSCRIBE_FOR_NODE_DOWN_EVENT_LISTENER=OFF,这个为oracle10g上的bug,有补丁可以解决

    3)运用手动的方式式将数据库启起来,命令如下:

        (1)一般通过SSH或者其它远程连接工具,连接oracle数据库所在服务器 linux系统可以在终端中直接用ssh命令建立远程连接: ssh -l user serverIp 如:ssh -l root 192.168.168.168
        (2) 建立连接后,切换到oracle用户下,su -l oralce,说明此处切换时加 -l 选项,可以加载为oracle用户配置的环境变量,否则执行命令时,可能会提示:command not found。
        (3) 启动oralce,依次执行如下命令:
            lsnrctl start
            sqlplus /nolog
            SQL> connect /as sysdba
            SQL> startup
            其中数据库启动使用startup命令,它有三种情况
            第一种:不带参数,启动数据库实例并打开数据库,以便用户使用数据库,在多数情况下,使用这种方式!
            第二种:带nomount参数,只启动数据库实例,但不打开数据库,在你希望创建一个新的数据库时使用,或者在你需要这样的时候使用!
            第三种:带mount参数,在进行数据库更名的时候采用。这个时候数据库就打开并可以使用了!
        (4) 关闭oracle
            sqlplus /nolog
            SQL> connect /as sysdba
            SQL> shutdown immediate
            其中shutdown有四个参数,四个参数的含义如下:
            Normal 需要等待所有的用户断开连接
            Immediate 等待用户完成当前的语句
            Transactional 等待用户完成当前的事务
            Abort 不做任何等待,直接关闭数据库
            normal需要在所有连接用户断开后才执行关闭数据库任务,所以有的时候看起来好象命令没有运行一样!在执行这个命令后不允许新的连接
            immediate在用户执行完正在执行的语句后就断开用户连接,并不允许新用户连接。
            transactional 在拥护执行完当前事物后断开连接,并不允许新的用户连接数据库。
            abort 执行强行断开连接并直接关闭数据库。

        (5)lsnrctl stop

================

    4)至此可以登录数据:

    在sqlplus 下的登录方式(只说一种):用户名/密码@数据库实例 [AS 角色] 如:abc/ddd@orcl ;

    运用其他客户端工具(plusql)连接:可能需要配置tnsnames.ora(此文件可以是在客户机上安装oracle数据库时自已生成或是安装一个只有连接功能的绿色版工具手功编写)所需要的内容最好在数据库服务端查看对应的tnsnames.ora的配置。【此文件第一行需顶格,否则会报12451之类无法解析的错】

--------------------至此数据库已能正常工作------------------------------------------------

==============

    补充内容:Oracle服务启动&停止脚本与开机自启动

        每次服务启动与关闭都需要手动的开启与关闭数据库十分的繁琐,于是需要编写一个自动开启与关闭数据库的脚本变的尤为重要,相关资料参考http://www.cnblogs.com/mchina/archive/2012/11/27/2782993.html.本人直接参考第四部分起。

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

在linux下安装完Oracle 10g R2,重开机之后,你会发现Oracle没有自行启动,这是正常的,因为在Linux下安装Oracle的确不会自行启动,必须要自行设定相关参数,首先先介绍一般而言如何启动oracle。

一、在Linux下启动Oracle

登录到CentOS,切换到oracle用户权限

# su – oracle

接着输入:

$ sqlplus "/as sysdba"

原本的画面会变为
SQL>

接着请输入
SQL> startup

就可以正常的启动数据库了。

另外停止数据库的指令如下:
SQL> shutdown immediate

二、检查Oracle DB监听器是否正常

回到终端机模式,输入:

$ lsnrctl status

检查看看监听器是否有启动

如果没有启动,可以输入:

$ lsnrctl start

启动监听器

SQL> conn sys@orcl as sysdba

然后输入密码,sys以sysdba身份登入数据库。

三、启动emctl

另外也可以发现http://localhost.localdomain:1158/em 目前是没有反应的,这边要另外启动,启动的指令如下:

$ emctl start dbconsole

这个指令运行时间较长,执行完的画面如下:

手动启动Oracle数据库完毕,下面创建系统自行启动Oracle的脚本。

四、Oracle启动&停止脚本

1. 修改Oracle系统配置文件:/etc/oratab,只有这样,Oracle 自带的dbstart和dbshut才能够发挥作用。

# vi /etc/oratab
orcl:/opt/oracle/102:Y

# Entries are of the form:
#   $ORACLE_SID:$ORACLE_HOME:<N|Y>:

2. 在 /etc/init.d/ 下创建文件oracle,内容如下:

#!/bin/sh
# chkconfig: 35 80 10
# description: Oracle auto start-stop script.


#
# Set ORA_HOME to be equivalent to the $ORACLE_HOME
# from which you wish to execute dbstart and dbshut;
#
# Set ORA_OWNER to the user id of the owner of the
# Oracle database in ORA_HOME.
ORA_HOME=/opt/oracle/102
ORA_OWNER=oracle
if [ ! -f $ORA_HOME/bin/dbstart ]
then
    echo "Oracle startup: cannot start"
    exit
fi
case "$1" in
'start')
# Start the Oracle databases:
echo "Starting Oracle Databases ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Starting Oracle Databases as part of system up." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart" >>/var/log/oracle
echo "Done"


# Start the Listener:
echo "Starting Oracle Listeners ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Starting Oracle Listeners as part of system up." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" >>/var/log/oracle
echo "Done."
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Finished." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
touch /var/lock/subsys/oracle
;;


'stop')
# Stop the Oracle Listener:
echo "Stoping Oracle Listeners ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Stoping Oracle Listener as part of system down." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop" >>/var/log/oracle
echo "Done."
rm -f /var/lock/subsys/oracle


# Stop the Oracle Database:
echo "Stoping Oracle Databases ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Stoping Oracle Databases as part of system down." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut" >>/var/log/oracle
echo "Done."
echo ""
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Finished." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
;;


'restart')
$0 stop
$0 start
;;
esac

3. 改变文件权限
# chmod 755 /etc/init.d/oracle

4. 添加服务
# chkconfig --level 35 oracle on

5. 需要在关机或重启机器之前停止数据库,做一下操作
# ln -s /etc/init.d/oracle /etc/rc0.d/K01oracle   //关机
# ln -s /etc/init.d/oracle /etc/rc6.d/K01oracle   //重启 

6. 使用方法
# service oracle start        //启动oracle
# service oracle stop        //关闭oracle
# service oracle restart     //重启oracle

7. 测试

a. 开机自启动

复制代码
Last login: Mon Nov 26 19:57:06 2012 from 10.0.0.145
[root@ORS ~]# su - oracle
[oracle@ORS ~]$ sqlplus "/as sysdba"

SQL*Plus: Release 10.2.0.1.0 - Production on Mon Nov 26 20:07:33 2012

Copyright (c) 1982, 2005, Oracle.  All rights reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> set linesize 300;
SQL> set pagesize 30;
SQL> select * from scott.emp;

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7369 SMITH      CLERK           7902 17-DEC-80        800                    20
      7499 ALLEN      SALESMAN        7698 20-FEB-81       1600        300         30
      7521 WARD       SALESMAN        7698 22-FEB-81       1250        500         30
      7566 JONES      MANAGER         7839 02-APR-81       2975                    20
      7654 MARTIN     SALESMAN        7698 28-SEP-81       1250       1400         30
      7698 BLAKE      MANAGER         7839 01-MAY-81       2850                    30
      7782 CLARK      MANAGER         7839 09-JUN-81       2450                    10
      7788 SCOTT      ANALYST         7566 19-APR-87       3000                    20
      7839 KING       PRESIDENT            17-NOV-81       5000                    10
      7844 TURNER     SALESMAN        7698 08-SEP-81       1500          0         30
      7876 ADAMS      CLERK           7788 23-MAY-87       1100                    20
      7900 JAMES      CLERK           7698 03-DEC-81        950                    30
      7902 FORD       ANALYST         7566 03-DEC-81       3000                    20
      7934 MILLER     CLERK           7782 23-JAN-82       1300                    10

14 rows selected.

SQL> 
复制代码

b. service oracle stop

复制代码
SQL> Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
[oracle@ORS ~]$ logout
[root@ORS ~]# service oracle stop
Stoping Oracle Listeners ... 
Done.
Stoping Oracle Databases ... 
Done.

[root@ORS ~]# su - oracle
[oracle@ORS ~]$ sqlplus "/as sysdba"

SQL*Plus: Release 10.2.0.1.0 - Production on Mon Nov 26 20:17:20 2012

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> set linesize 300;
SQL> set pagesize 30;
SQL> select * from scott.emp;
select * from scott.emp
*
ERROR at line 1:
ORA-01034: ORACLE not available


SQL> 
复制代码

c. service oracle start

复制代码
SQL> Disconnected
[oracle@ORS ~]$ logout
[root@ORS ~]# service oracle start
Starting Oracle Databases ... 
Done
Starting Oracle Listeners ... 
Done.
[root@ORS ~]# 
复制代码

d. service oracle restart

复制代码
[root@ORS ~]# service oracle restart
Stoping Oracle Listeners ... 
Done.
Stoping Oracle Databases ... 
Done.

Starting Oracle Databases ... 
Done
Starting Oracle Listeners ... 
Done.
[root@ORS ~]# 
复制代码

至此,Oracle服务启动&停止脚本与开机自启动设置完毕。


---至此,成功安装完数据库。




© 著作权归作者所有

下一篇: 工具依赖
01010101010101010101
粉丝 23
博文 94
码字总数 68915
作品 0
长宁
高级程序员
私信 提问
ORACLE 10G XE 简介

ORACLE 10G XE的简单介绍 Oracle快捷版 Oracle XE 2009年10月08日 星期四 22:10

lcx
2011/08/02
0
0
优盘linux启动

优盘linux启动 作者:兄弟连 条件: 1.优盘已做成启动盘; 2在硬盘上已安装好Linux,且做一张软盘开机盘. 制作: 1.将软盘上的 vmlinuz 和 initrd.img 两文件拷到优盘的根目录下; 2.将redhat9.0...

疯狂的小黑
2016/11/22
15
0
ArcSDE和Oracle分离安装(生产实践)

1) 安装前准备 在安装 ArcSDE 之前,确认Oracle服务端已安装好且已创建好sde库,用户并授权。请先在本地安装Oracle10g PL/SQL客户端。还需要收集以下信息: 服务器计算机名 Oracle 网络服务名...

linuxzkq
2018/06/26
0
0
Oracle10g中过程(PROCEDURE )重建的增强

dcba上周有了一个新的发现,在Oracle10g中,当重建一个存储过程时,Oracle的行为和以前有所不同。 在Oracle9i中,即使一个完全相同的过程的重建,Oracle也需要重新编译过程,这个可以从LASTD...

郑加威
2017/01/26
0
0
oracle11G导出

我本地机器安装的是oracle11G数据库,我通过PL/SQL连接到了oracle10G数据库,我想把oracle10G数据库中的数据全部导出来,操作如下所示: 这样导出的数据只有4KB; 哪位大神指导一下,我需要怎...

wujingtao
2013/08/19
214
3

没有更多内容

加载失败,请刷新页面

加载更多

Polymer dom-repeat how to notify array updated

Question: So I have this Polymer element with dom-repeat. It binds correctly. However, when the array is modified, it doesn't reflect back to DOM. Nothing changed when I click ......

孟飞阳
11分钟前
0
0
Spring-Boot 使用 mybatis-plus-gennretor代码生成器生成代码

1.导入需要的jar包 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> ......

小小小施爷
11分钟前
0
0
HanLP-地名识别调试方法

HanLP收词特别是实体比较多,因此特别容易造成误识别。下边举几个地名误识别的例子,需要指出的是,后边的机构名识别也以地名识别为基础,因此,如果地名识别不准确,也会导致机构名识别不准...

左手的倒影
31分钟前
0
0
ASP.NET Core系列(二):创建第一个.Net Core 项目

  新建项目      新建项目, 选择.NET Core 有如下几种类型可选, 分别是Console, ASP.NET Core 的空项目,Web API      我们选择ASP.NET Core Web App(MVC), 没有标注MVC的是采用R...

SEOwhywhy
32分钟前
0
0
springboot 引入 druid 数据源监控

Druid是Java语言中最好的数据库连接池。Druid能够提供强大的监控和扩展功能。Druid内置提供了一个StatViewServlet用于展示Druid的统计信息。 第一步、引入依赖 <dependency><groupId>mysq...

嘴角轻扬30
33分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部