oracle10g debian,Oracle10G在Debian上的安装-程序员宅基地

技术标签: oracle10g debian  

//转 其中出问题的地方改正一下.

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

//quesiton:需要安装gcc 和 libstdc++.so.5这个文件,libstdc++.so.5,.5是gcc3.3的标准库, gcc3.4以后便用.6版的了,而我现在新装的Debian Linux testing版默认只安装gcc4.1。于是到Debian安装盘上的/pool/main/g/gcc-3.3上libstdc++5_3.3.6- 13_i386.deb解包,再把解包所得的data.tar.gz解包,得到usr文件夹,里面的lib里便有libstdc++.so.5.0.7的库文件,把这个文件cp到系统的/usr/lib里面再改名为libstdc++.so.5

apt-get install libstkc++5另文件有单独可下,记得在linuxsir中的一个贴子在放出.

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/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH

export ORACLE_SID=orcl

# Set DISPLAY

export DISPLAY="127.0.0.1:0.0"

//apache的导出可以删掉

//安装的数据库全局ID

//这里用compiere的话后面会提示说是找不到一个文件.如果用

orcl代替的话可简化一些操作.如用compiere需要cp一个文件从

$ORCALE_HOME/...其中那个数字是随机的.如出错了.GOOGLE一

下.把那个文件CP一下就可以了.但最好把SID改为orcl

可以将这些写进.bash_profile

export ORACLE_BASE=/opt/oracle

export ORACLE_SID=orcl

unset ORACLE_HOME

unset TNS_ADMIN

umask 022

我是将上面的内容保存到另一个文件中,.bash_oracle,然后在.bashrc中使用source .bash_oracle进行调用 的。您可以根据您的好恶进行设置。您需要注意的是,ORACLE_BASE和ORACLE_HOME的设置一定得和您在前面创建的目录相符。 ORACLE_SID是默认数据库的名称,在本文档中,我们假设默认的数据库名叫compiere,如果您想用其他的名字,请您作相应的修改。(用:orcl)差点忘记,您还得把. 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 oracle

redface.gifinstall /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这个用户下.

五、安装步骤:

以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

访问数据库控制器 要提供 sys/passwd as sysdba; 你要从一个客户端浏览器访问 em 数据库控制器,必须要运行 dbconsole 进程.安装之后,dbconsole 进程是自动会启动的.然后,如果这个集成没有启动,你可以向下面的命令行手工的启动它:

#cd $ORACLE_HOME/bin

#emctl start dbconsole

这样你就可以打开 web 浏览器,输入下面的 来访问 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 的主页

启动脚本

要先改掉/etc/oratab中的那句.把"N"改成"Y"

#!/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=$PATH:$ORACLE_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

//script中有两行的引号有问题.把引号改一下.就可以.

另原脚本中无isqlplus的启动.可自行加入:

su $ORA_OWNR -c “$ORACLE_HOME/bin/isqlplusctl start”

su $ORA_OWNR -c “$ORACLE_HOME/bin/isqlplusctl stop”

如不加入从客户端浏览器中无法访问.也可以手动启动.

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

#chmod 755 /etc/init.d/oracledb

#update-rc.d oracledb defaults 99

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

oracle:/opt/oracle/:N

修改为

oracle:/opt/oracle:Y

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39966163/article/details/116388211

智能推荐

c# 调用c++ lib静态库_c#调用lib-程序员宅基地

文章浏览阅读2w次,点赞7次,收藏51次。四个步骤1.创建C++ Win32项目动态库dll 2.在Win32项目动态库中添加 外部依赖项 lib头文件和lib库3.导出C接口4.c#调用c++动态库开始你的表演...①创建一个空白的解决方案,在解决方案中添加 Visual C++ , Win32 项目空白解决方案的创建:添加Visual C++ , Win32 项目这......_c#调用lib

deepin/ubuntu安装苹方字体-程序员宅基地

文章浏览阅读4.6k次。苹方字体是苹果系统上的黑体,挺好看的。注重颜值的网站都会使用,例如知乎:font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, W..._ubuntu pingfang

html表单常见操作汇总_html表单的处理程序有那些-程序员宅基地

文章浏览阅读159次。表单表单概述表单标签表单域按钮控件demo表单标签表单标签基本语法结构<form action="处理数据程序的url地址“ method=”get|post“ name="表单名称”></form><!--action,当提交表单时,向何处发送表单中的数据,地址可以是相对地址也可以是绝对地址--><!--method将表单中的数据传送给服务器处理,get方式直接显示在url地址中,数据可以被缓存,且长度有限制;而post方式数据隐藏传输,_html表单的处理程序有那些

PHP设置谷歌验证器(Google Authenticator)实现操作二步验证_php otp 验证器-程序员宅基地

文章浏览阅读1.2k次。使用说明:开启Google的登陆二步验证(即Google Authenticator服务)后用户登陆时需要输入额外由手机客户端生成的一次性密码。实现Google Authenticator功能需要服务器端和客户端的支持。服务器端负责密钥的生成、验证一次性密码是否正确。客户端记录密钥后生成一次性密码。下载谷歌验证类库文件放到项目合适位置(我这边放在项目Vender下面)https://github.com/PHPGangsta/GoogleAuthenticatorPHP代码示例://引入谷_php otp 验证器

【Python】matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距-程序员宅基地

文章浏览阅读4.3k次,点赞5次,收藏11次。matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距

docker — 容器存储_docker 保存容器-程序员宅基地

文章浏览阅读2.2k次。①Storage driver 处理各镜像层及容器层的处理细节,实现了多层数据的堆叠,为用户 提供了多层数据合并后的统一视图②所有 Storage driver 都使用可堆叠图像层和写时复制(CoW)策略③docker info 命令可查看当系统上的 storage driver主要用于测试目的,不建议用于生成环境。_docker 保存容器

随便推点

网络拓扑结构_网络拓扑csdn-程序员宅基地

文章浏览阅读834次,点赞27次,收藏13次。网络拓扑结构是指计算机网络中各组件(如计算机、服务器、打印机、路由器、交换机等设备)及其连接线路在物理布局或逻辑构型上的排列形式。这种布局不仅描述了设备间的实际物理连接方式,也决定了数据在网络中流动的路径和方式。不同的网络拓扑结构影响着网络的性能、可靠性、可扩展性及管理维护的难易程度。_网络拓扑csdn

JS重写Date函数,兼容IOS系统_date.prototype 将所有 ios-程序员宅基地

文章浏览阅读1.8k次,点赞5次,收藏8次。IOS系统Date的坑要创建一个指定时间的new Date对象时,通常的做法是:new Date("2020-09-21 11:11:00")这行代码在 PC 端和安卓端都是正常的,而在 iOS 端则会提示 Invalid Date 无效日期。在IOS年月日中间的横岗许换成斜杠,也就是new Date("2020/09/21 11:11:00")通常为了兼容IOS的这个坑,需要做一些额外的特殊处理,笔者在开发的时候经常会忘了兼容IOS系统。所以就想试着重写Date函数,一劳永逸,避免每次ne_date.prototype 将所有 ios

如何将EXCEL表导入plsql数据库中-程序员宅基地

文章浏览阅读5.3k次。方法一:用PLSQL Developer工具。 1 在PLSQL Developer的sql window里输入select * from test for update; 2 按F8执行 3 打开锁, 再按一下加号. 鼠标点到第一列的列头,使全列成选中状态,然后粘贴,最后commit提交即可。(前提..._excel导入pl/sql

Git常用命令速查手册-程序员宅基地

文章浏览阅读83次。Git常用命令速查手册1、初始化仓库git init2、将文件添加到仓库git add 文件名 # 将工作区的某个文件添加到暂存区 git add -u # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,不处理untracked的文件git add -A # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,包括untracked的文件...

分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120-程序员宅基地

文章浏览阅读202次。分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120

【C++缺省函数】 空类默认产生的6个类成员函数_空类默认产生哪些类成员函数-程序员宅基地

文章浏览阅读1.8k次。版权声明:转载请注明出处 http://blog.csdn.net/irean_lau。目录(?)[+]1、缺省构造函数。2、缺省拷贝构造函数。3、 缺省析构函数。4、缺省赋值运算符。5、缺省取址运算符。6、 缺省取址运算符 const。[cpp] view plain copy_空类默认产生哪些类成员函数

推荐文章

热门文章

相关标签