您的位置:首页 > 数据库 > Oracle

OpenSUSE下oracle11gR2的安装卸载

2012-11-08 22:06 225 查看
OS OpenSUSE-11.4

DB版本 Oracle 11g R2

先说卸载:

1、rm /etc/oratab

2、rm -rf /$ORACLE_BASE

3、rm -rf oraInventory

再说安装:

1)检查基本需求

内存大小

grep MemTotal /proc/meminfo

交换分区大小

如果交换分区太小可以增加,用如下命令:

grep SwapTotal /proc/meminfo

增加交换分区

创建/home/swap这么一个分区文件。文件的大小是5120000个block,一般情况下1个block为1K,所以这里空间是5G。

dd if=/dev/zero of=/home/swap bs=1024 count=5120000

接着再把这个分区变成swap分区。

mkswap /home/swap

然后把它加到fstab里面

echo "/home/swap swap swap defaults 0 0" >> /etc/fstab 2)检查软件需求,看有没有没install的

这个可以根据官方的文档,我的系统是64位的,所以在11g Release 2 (11.2) for Linux E10840-05 第50页找到相关说明。用如下命令慢慢查看

rpm -qa | grep unixODBC-devel

rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers ksh libaio-devel libaio libgcc libstdc++ libstdc++-devel make numactl-devel sysstat unixODBC unixODBC-devel pdksh 根据提示,有11个包没有安装,在opensuse的盘中将这些一一找出,然后利用flashxp上传到centos中 安装3)配置内核。

vi /etc/sysctl.conf

将以下内容添加至文件

# Kernel paramaters required by Oracle 11gR2

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

net.ipv4.tcp_wmem = 262144 262144 262144

net.ipv4.tcp_rmem = 4194304 4194304 4194304

4)要使 /etc/sysctl.conf 更改立即生效,执行以下命令。

sysctl -p

5)vi /etc/security/limits.conf

添加以下行:

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

oracle hard stack 102406) vi /etc/pam.d/login

添加以下行:

session required /lib/security/pam_limits.so

session required pam_limits.so

7)vi /etc/profile

添加以下行: if [ $USER = "oracle" ]; then

if [ $SHELL = "/bin/ksh" ]; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

fi 8) 创建操作系统用户,作为软件安装和支持组的拥有者。

groupadd oinstall

groupadd dba

useradd -g oinstall -G dba -m oracle

默认目录为/home/oracle

passwd oracle设置用户密码

9) 创建软件安装目录。

mkdir -p /home/oraclex

chown -R oracle:oinstall /home/oraclex

chmod -R 755 /home/oraclex

可以用oracle用户登录

10) vi /home/oracle/.profile

export ORACLE_BASE=/home/oraclex

export ORACLE_HOME=$ORACLE_BASE/product/OraHome

export ORACLE_SID=orcl

export ORACLE_OWNER=oracle

export ORACLE_TERN=vt100

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

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

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

export LD_LIBRARY_PATH

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

CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib

export CLASSPATH

ORA_NLS33=$ORACLE_HOME/nls/admin/data里面的SID在安装数据库时候如果修改了,安装完后需要回来重新修改SID。

修改完用“source .profile”使其生效。

11)解压oracle 11 r2 到opensuse中

oracle11gR2有两个zip包,分别解压后,将第二个包里面的Component的内容移到第一个包的Component里面(BC比较后发现没有重复),否则安装过程中会提示无法打开一些文件

12) 以root身份打开另一个终端窗口

--这步至关重要,不执行这步在以oracle用户运行 # ./runInstaller时会启动不了图型安装界面

#xhost +

#xhost + localhost

12)安装数据库

#su - oracle

cd database/

./runInstaller为避免仍然存在DISPLAY问题无法启动安装界面,需要切换到oracle用户的桌面环境,再从Terminal执行oracle安装脚本:runInstaller

安装完后先配置监听

netca

然后安装全局数据库

dbca

Oh, it's so easy!

Good lucks!1)在建立用户的时候可能遇到下面的问题

useradd: warning: the home directory already exists.

Not copying any file from skel directory into it.

原因:

系统添加用户的标准步骤

1.编辑/etc/passwd与/etc/group

2.创建用户主目录

3.从/etc/skel拷贝文件与目录

4.让新用户获得其主目录与文件的拥有权限

5.给新用户一个密码

<!--[if !ppt]--><!--[endif]-->

解决办法:

依旧使用上面的脚本建用户,然后手动拷贝配置文件(3个)到/home/oracle下。如:

root@linux-cfua:~ # cp /etc/skel/.bash_profile /home/oracle

或者删掉用户 重新建立

useerdel Cr 这样就可以将家目录等和用户相关的信息全部删掉

2)可能会遇到下面的错误

cannot restore segment prot after reloc: Permission denied

编辑/etc/sysconfig/selinux,找到:

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

# enforcing - SELinux security policy is enforced.

# permissive - SELinux prints warnings instead of enforcing.

# disabled - SELinux is fully disabled.

SELINUX=enforcing

如果SELINUX已经是 SELINUX=disabled,那么就不用改了,否则就把SELINUX=enforcing 注释掉,新加一行:

SELINUX=disabled

3)可能会遇到下面的错误:

could not open parameter file '/home/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora

这是因为在oracle9i和oracle10g中,数据库默认将使用spfile启动数据库,如果spfile不存在,则就会出现上述错误。

解决方法:

将$ORACLE_BASE/admin/数据库名称/pfile目录下的init.ora.012009233838形式的文件copy到$ORACLE_HOME/dbs目录下initorcl.ora即可。(注:initorcl.ora中的oracle为你的实例名 ORACLE_SID

Startup mount pfile=’ $ORACLE_HOME/dbs/initorcl.ora’

创建一个实例进行最后测试

注意:在数据库操作中都是用oracle用户执行命令. 输入oracle@linux-cfua:~ $ sqlplus /nolog SQL*Plus: Release 11.1.0.6.0 - Production on Tue Dec 11 15:32:23 2007 Copyright (c) 1982, 2007, Oracle. All rights reserved. SQL> conn / as sysdba

Connected.

SQL> create table orcl(id integer); Table created. 一、sql*plus方式: 用sql*plus来连接到Oracle

Sqlplus /nolog 是以不连接数据库的方式启动sql*plus

Connect /as sysdba 是以DBA身份连接到oracle

Startup就可以启动了。

不过oracle启动模式有3种:

l Startup nomount (nomount模式)启动实例不加载数据库。

l Startup mount (mount模式)启动实例加载数据库但不打开数据库

l Startup (open 模式)启动实例加载并打开数据库,就是我们上面所用的命令

Nomount模式中oracle仅为实例创建各种内存结构和服务进程,不会打开任何数据库文件,

所以说:

1) 创建新数据库

2) 重建控制文件

这2种操作都必须在这个模式下进行。

Mount模式中oracle只装载数据库但不打开数据库,所以说:

1) 重命名数据文件

2) 添加、删除和重命名重做日子文件

3) 执行数据库完全恢复操作

4) 改变数据库的归档模式

这4种操作都必须在这个模式下进行

Open模式(就是我们上面的startup不带任何参数的)正常启动。

当然这3种模式之间可以转换:

Alter database mount(nomount模式)―〉alter database open(mount 模式)―〉(open模式)

当然还有其它一些情况,在我们open模式下可以将数据库设置为非受限状态和受限状态

在受限状态下,只有DBA才能访问数据库,所以说:

1) 执行数据导入导出

2) 使用sql*loader提取外部数据

3) 需要暂时拒绝普通用户访问数据库

4) 进行数据库移植或者升级操作

这4种操作都必须在这个状态下进行

在打开数据库时使用startup restrict命令即进入受限状态。

使用alter system disable restricted session命令即可以将受限状态改变为非受限状态。

使用alter system enable restricted session命令可以将非受限状态变为受限状态

使用alter database open read only可以使数据库进入只读状态。

使用alter database open read write 可以使数据库进入读写状态。

当然在某些情况下可能是用上述各种启动方式都无法成功启动数据库,这个时候就要使用startup force命令来强行启动数据库。当然谁都不想碰到这种情况:)

c.关闭数据库

1)正常关闭 shutdown

2) 立即关闭 shutdown immediate

3) 关闭事务 shutdown transactional

4) 强行关闭 shutdown abort,当然谁都不想碰到这种情况。

二、OEM为例

Oracle Enterprise Management(OEM),

跟第一小节讲的Sqlplus /nolog ,Connect /as sysdba 这2个命令差不多的操作如图:

按照上面的一步步操作就能够连接到数据库。

下面是如何启动和关闭数据库:





点击我们前几章创建的ORADB01这个数据库树中的配置选项,这个里面的:

1)已启动 对应 Nomount模式

2)已转载 对应 mount模式

3)打开 对应 open模式

当你点击应有按钮之后就会进入如下对话框





1)正常 对应 正常关闭 shutdown

2) 立即 对应 立即关闭 shutdown immediate

3) 事务处理 对应 关闭事务 shutdown transactional

4) 中止 对应 强行关闭 shutdown abort

确定之后出现如下对话框





限制对数据库访问 对应 alter system disable restricted session

alter system enable restricted session

只读模式 对应 alter database open read only

alter database open read write

简单吧,sql*plus的一大堆命令到OEM中变成了几个按钮罢了。

Windows里面oracle相关进程说明::



[b]oracle ************Agent 用于OEM管理结构

oracle************HTTPSERVER oracle Web服务器

oracle ************ManagementServer 用于OEM管理结构

oracle ************ TNSListener oracle网络结构的服务器端进程

oracle ************OEMREP 资料档案库文件

oracle ************ORADB001 用户创建的数据库

我一般都把所有的服务全部选成手动启动,如果全开,内存要用掉700M..............
[/b]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息