LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 3017|回复: 8

在etch上安装oracle 10G

[复制链接]
发表于 2007-3-6 10:27:41 | 显示全部楼层 |阅读模式
Oracle10G no Debian GNU/Linux 安装手册
最近参考网络上的Oracle10G在linux上的安装,经几次的尝试终于在我的Lenovo笔记本tech Debian OS上安装成功,写个文章与大家一起分享
一、硬件平台:
Core 1.6GHzx2
硬盘 80G SATA
内存 512M
系统环境:tech Debian GNU/Linux
二、准备工作:
1.软件依赖
确保你已经安装了下列软件

make
binutils
libc6-dev
libmotif3
rpm
awk
debian需要额外的做以下操作:       
创建程序链接:
        #ln -s /usr/bin/awk /bin/awk
        #ln -s /usr/bin/rpm /bin/rpm
        #ln -s /usr/bin/basename /bin/basename
2.安装JAVA平台:
    请参照其它在Debian上安装j2sdk的资料。
3.统模系统:
    模拟redhat-3进行安装,新建一个文件/etc/redhat-release,写入以下内容:
Red Hat Enterprise Linux AS release 3 (Taroon)
4.修改内核参数:
添加如下的行到/etc/sysctl.conf 中:

               kernel.shmmax = 3147483648
               kernel.shmmni = 4096
               kernel.shmall = 2097152
               kernel.sem    = 250 32000 100 128
               fs.file-max = 65536
               net.ipv4.ip_local_port_range =                 1024 65000        
注:shmmax(最大共享内存)是一个很重要参数,根据您的机器的内存来设定。
5.修改 limits.conf(资源限制)
添加下面的行到/etc/security/limits.conf 以修改你的资源限制:
        oracle soft nofile 65536
        oracle hard nofile 65536
        oracle soft nproc 16384
        oracle hard nproc 16384
让修改生效,修改了以上文件后,您必须让其生效,您重启系统,或者切换到 root 用户下用以下的方式改变内核运行参数:       
#sysctl –p

二、创建用户和组
2.1添加必要的用户和组
oracle 安装需要两个 unix 用户组(oinstall,dba)和一个运行时的 oracle 用户。
确保你的系统中有以上组和用户,方法:

#grep dba /etc/group
#grep oinstall /etc/group
#grep nobody /etc/group
#id oracle
#id nobody
切换到root,添加oralce帐户

#su - root
#groupadd dba // group of users to be granted SYSDBA system privilege(组或用户授予系统数据库管理员系统特权)
#groupadd oinstall // group owner of Oracle files(oracle文件所属组)
#useradd -c "Oracle software owner" -g oinstall -G dba -d /opt/oracle oracle //(添加oracle用户)
#passwd oracle
输入oracle密码
debian中需要额外的添加nobody用户组:
#groupadd nobody
系统nogroup组中已经有nobody用户,把nobody用户添加到新建的nobody组中,
#usermod -G nobody nobody

2.2设置Oracle用户环境
  以oracle用户登录:
%su – oracle
  修改~/.bash_profile文件,去掉下列三行的注释符,使.bashrc文件生效:
#if [ -f ~/.bashrc ]; then
#   . ~/.bashrc
#fi
  添加下列行到~/.bashrc:
# oracle 10g
export ORACLE_BASE=/opt/oracle/oracle
export ORACLE_HOME=/opt/oracle/oracle/product/10.2.0/db_2
export PATH=$ORACLE_HOME/binORACLE_HOME/Apache/Apache/binPATH
export ORACLE_SID=compiere //安装的数据库全局ID
# Set DISPLAY
export DISPLAY="127.0.0.1:0.0"

可以将这些写进.bash_profile
export ORACLE_BASE=/opt/oracle
export ORACLE_SID=oralin
unset ORACLE_HOME
unset TNS_ADMIN
umask 022

  我是将上面的内容保存到另一个文件中,.bash_oracle,然后在.bashrc中使用source .bash_oracle进行调用 的。您可以根据您的好恶进行设置。您需要注意的是,ORACLE_BASE和ORACLE_HOME的设置一定得和您在前面创建的目录相符。 ORACLE_SID是默认数据库的名称,在本文档中,我们假设默认的数据库名叫compiere,如果您想用其他的名字,请您作相应的修改。
  差点忘记,您还得把. bash_profile文件中的umask=022这一行前的注释符去掉。
设置DISPLAY
  我想您肯定是不想以Oracle用户登录,启动X窗口来进行安装的啦。如果您想直接以oracle用户启动X,进行安装,您可以忽略这一步。
  我们假设我们以一个普通用户james来启动gnome。那么,如果您要以oracle用户的身份来进行安装,则您必须首先启用X的TCP/IP连接。
  Debian下默认关闭了TCP/IP连接,所以首先要打开X的TCP/IP连接。
  在/etc/X11/xinit/xserverrc文件中,您将会看到下面这一行:
exec /usr/bin/X11/X -dpi 100 -nolisten tcp
  去掉其中的nolisten,然后重启就OK了。
  作为普通用户,打开TCP/IP连接后可能连不上X服务器。需要在用户的.bashrc(/home/james/)中添加下面这一行:
alias startx='startx -- -deferglyphs 16'
  然后,您切换到root用户下,添加127.0.0.1的X连接权限:
shell$sudo su -
shell#xhost +127.0.0.1
  然后,您就可以继续下一步啦。
  请注意:如果您重启系统后,必须 再次执行
xhost +127.0.0.1
三、创建安装目录
有很多文档,建议您将 oracle 安装到一个独立的分区上面。比如:/opt。请您根据您的需要选择合适自己的安装目录。在本文档中,我们假设 Oracle 的安装目录为/opt/ora10。确保有至少 3.0G 的可用空间。

               #mkdir -p /opt/oracle
               #chown -R oracleinstall /opt/ora*
               #chmod -R 775 /opt/ora*
您生成了 oracle 的运行时路径,并且授写权限给 oracle 用户,执行权限给 dba 组。
四、开始安装
安装前的准备
终于可以安装了。我们假设下载的安装文件位于/home/oracle 下,名称为名称为 10201_database_linux32.zip
解压后进入目录databases执行./runInstaller
注意请设置好java的中文显示,否则安装界面的中文都是小框框,不信试试,嘿嘿!接下的一般选择默认设置就可以了。我的环境变量是用export LC_ALL=C的所以全部是英文不存在以上问题。
五、安装步骤:
以oracle用户登录系统,进行Oracle的安装
$cd /home/oracle/databases
$./runInstaller
过一会儿就会出现Oracle的安装界面



六、安装后:
1.启动数据库
o        1.启动
o        $ sqlplus "/as sysdba"
将出现如下连接数据库信息:
SQL*Plus: Release 10.1.0.2.0 - Production on 星期三 3 月 24 16:23:27 2004
Copyright (c) 1982, 2004, Oracle. All rights reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL>
表明登录数据库系统成功,运行 startup 命令启动数据库。
SQL> startup
ORACLE instance started.
Total System Global Area 336356520 bytes
Fixed Size 279720 bytes
Variable Size 268435456 bytes
Database Buffers 67108864 bytes
Redo Buffers 532480 bytes
Database mounted.
Database opened.
SQL>
表示数据库正常启动。
o        关闭 Oracle10g 数据库
o        $ sqlplus "/as sysdba" //以 sysdba 用户登录数据库
成功登录数据库系统后,运行 shudown 命令关闭数据库。
SQL> shutdown
o        启动 Oracle10g 监听程序
Oracle 的监听程序主要是为客户端的连接提供接口,在控制台窗口键入如下命令:
o        $ lsnrctl
将出现如下监听程序信息:
LSNRCTL for 32-bit Windows: Version 10.1.0.2.0 - Production on 24-3 月 -2004 16:59:51
Copyright (c) 1991, 2004, Oracle. All rights reserved.
欢迎来到 LSNRCTL, 请键入"help"以获得信息。
LSNRCTL>
表明登录监听程序控制台成功,运行 start 命令启动监听程序。
LSNRCTL> start
将出现监听程序的一系列启动和配置情况信息列表。信息行的最后一行是“The command completed successfully”字样时,监听程序启动成功。
o        关闭 Oracle10g 监听程序
运行 stop 命令关闭监听程序。
o        LSNRCTL> stop
运行status(查询状态)
o        LSNRCTL>status

        使用企业管理器
启动控制台
         #emctl start dbconsole
访问数据库控制器http://localhost.localdomain:1158/em/ 要提供 sys/passwd as sysdba; 你要从一个客户端浏览器访问 em 数据库控制器,必须要运行 dbconsole 进程.安装之后,dbconsole 进程是自动会启动的.然后,如果这个集成没有启动,你可以向下面的命令行手工的启动它:
#cd $ORACLE_HOME/bin
#emctl start dbconsole
这样你就可以打开 web 浏览器,输入下面的 http://hostnameortnumber/em 来访问 em db control. host 那么是你的计算机的名字或地址.portnumber 是 em db control http 的端口号,这是在安装的时候指定的.默认的是 1158 ,你可以在$ORACLE_HOME/install/portlist.ini 文件中找到这个值.
如果实例启动了,EM 就会显示 db control 登录页.你必须使用授权访问 db control 的用户登录到数据库.一开始是 sys 用户,使用在安装的时候你确定的 sys 用户的密码.从 connect as 下拉框选 sysdba,然后点登录.这样就会出现 dbcontrol 的主页
发表于 2007-3-7 09:11:54 | 显示全部楼层
thx thx ,我要的就是这个,非常感谢萨
回复 支持 反对

使用道具 举报

发表于 2007-3-7 10:21:46 | 显示全部楼层
感谢。需要----
回复 支持 反对

使用道具 举报

发表于 2007-3-7 18:39:38 | 显示全部楼层
感激中,尽快试一下
回复 支持 反对

使用道具 举报

发表于 2007-3-16 12:47:21 | 显示全部楼层

补充点我遇到的问题

安装过程中有提示hsodbc的问题,继续,装好后按下面执行。
Handling the Expected Problems
When installing 10gR2 on Debian, there may be a problem relinking both hsodbc and extproc agents. During the install, click "Continue" to get past these problems. Later, you may need to go back and relink the executables hsodbc and extproc manually. Normally, this is done by the following steps:

cd $ORACLE_HOME/rdbms/lib
make -f ins_rdbms.mk client_sharedlib
make -f ins_rdbms.mk ihsodbc
make -f ins_rdbms.mk iextproc

之前要安装下面两个文件
libaio-0.3.104-2.i386.rpm
libaio-devel-0.3.104-2.i386.rpm
回复 支持 反对

使用道具 举报

发表于 2007-3-16 12:49:58 | 显示全部楼层
启动脚本[转问]
#!/bin/bash
#
# /etc/init.d/oracledb
#
# Run-level Startup script for the Oracle Instance, Listener, and
# Web Interface


export ORACLE_HOME=/your/oracle/home/goes/here
export ORACLE_SID=oraclesidgoeshere
export PATH=$PATHORACLE_HOME/bin
ORA_OWNR="oracleownergoeshere"
# if the executables do not exist -- display error
if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
then
        echo "Oracle startup: cannot start"
        exit 1
fi

# depending on parameter -- startup, shutdown, restart
# of the instance and listener or usage display

case "$1" in
    start)
        # Oracle listener and instance startup
        echo -n "Starting Oracle: "
        su $ORA_OWNR -c "$ORACLE_HOME/bin/lsnrctl start"
        su $ORA_OWNR -c $ORACLE_HOME/bin/dbstart
        touch /var/lock/oracle

        su $ORA_OWNR -c “$ORACLE_HOME/bin/emctl start dbconsole”
        echo "OK"
        ;;
    stop)
        # Oracle listener and instance shutdown
        echo -n "Shutdown Oracle: "
        su $ORA_OWNR -c "$ORACLE_HOME/bin/lsnrctl stop"
        su $ORA_OWNR -c $ORACLE_HOME/bin/dbshut
        rm -f /var/lock/oracle

        su $ORA_OWNR -c “$ORACLE_HOME/bin/emctl stop dbconsole”
        echo "OK"
        ;;
    reload|restart)
        $0 stop
        $0 start
        ;;
    *)
        echo "Usage: `basename $0` start|stop|restart|reload"
        exit 1
esac
exit 0

将这个文件放到指定的位置并让它可执行, 将它连接到所有的运行级:

#chmod 755 /etc/init.d/oracledb
#update-rc.d oracledb defaults 99

如果你希望在系统启动时启动你创建的所有数据库实例,那么需要修改 /etc/oratab 文件. 下面是一个例子:

oracle:/opt/oracle/:N

修改为

oracle:/opt/oracle:Y
回复 支持 反对

使用道具 举报

发表于 2007-3-17 01:16:10 | 显示全部楼层

这个不太好

有空给大家写个详细点的文档
回复 支持 反对

使用道具 举报

发表于 2007-3-17 11:05:44 | 显示全部楼层
赞一个,精了。
回复 支持 反对

使用道具 举报

发表于 2008-10-2 09:49:00 | 显示全部楼层
准备安装 oracle 11g
没有这个包:

W: You may want to run apt-get update to correct these problems
E: Couldn't find package libmotif3



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

deb-a:~# cat /etc/apt/sources.list
#
# deb cdrom:[Debian GNU/Linux 4.0 r4a _Etch_ - Official i386 DVD Binary-1 20080803-20:48]/ etch contrib main

deb cdrom:[Debian GNU/Linux 4.0 r4a _Etch_ - Official i386 DVD Binary-1 20080803-20:48]/ etch contrib main

deb http://ftp.us.debian.org/debian/ etch main
deb-src http://ftp.us.debian.org/debian/ etch main

deb http://security.debian.org/ etch/updates main contrib
deb-src http://security.debian.org/ etch/updates main contrib

deb-src http://http.us.debian.org/debian testing main contrib non-free
deb-src http://http.us.debian.org/debian unstable main contrib non-free
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表