Category Archives: UNIX/Linux

UNIX-like system

配置SSH用户等价

为方便RAC环境中各节点之间的通讯,往往需要配置SSH用户等价,说的直白点就是一个用户从一台机器连接到另一台机器时不需要输入密码。这可以使各节点的程序可直接访问其他节点,而无需每次人工输入密码。Clusterware和Database的安装过程都是先在一个节点安装,然后安装程序自动把本地安装好的内容复制到远程相同目录,这是一个后台拷贝的过程,安装人员没有机会输入密码进行身份验证,因此必须配置用户等价。

创建用户就不说了,不过这里提醒一点:必须保证每个节点上Oracle用户的UID和DBA用户组的GID相同。这一点可以在创建的时候指定。我们在下面的例子里配置两节点上root用户等价。

下面为用户等级配置:

  1. 首先配置网络设置

    网络设置包括为两个网卡指定地址、网络名称,通过编辑每个节点的/etc/hosts文件,确保每个节点都能识别这些网络名。

    各节点/etc/hosts文件配置如下:

    192.168.0.119 enmou1

    192.168.0.120 enmou3

  1. Oracle允许使用两种用户等价:RSH和SSH。推荐使用SSH

    首先以root身份在各个节点执行下列命令:

    cd $HOME

    mkdir .ssh

    chmod 700 .ssh

    cd .ssh

    ssh-keygen –t rsa

    ssh-keygen –t dsa

    cat *.pub > authorized_keys

    ssh-keygen会生成密钥,通常是一个公有密钥,一个私有密钥。

    cat *.pub > authorized_keys这一步是将拥有密钥内容导入authorized_keys文件

  2. 然后把所有节点的authorized_keys文件合成一个,再用这个文件覆盖各个节点.ssh下的同名文件

    以两个节点为例,我们先将节点1上的authorized_keys文件拷贝至节点2,然后将其中内容插入之节点2上的authorized_keys,这时节点2上的authorized_keys文件包含两个节点上.pub文件的内容。我们将其拷贝回节点1。命令如下:

    在1节点上:

    Scp authorized_keys enem3:/root/.ssh/keys_enmou1

    在2节点上:

    Cat keys_enmou1 >> authorized_keys

    Scp authorized_keys enoug1:/root/.ssh/

  3. 测试:

    从enmou1上进行测试

    Ssh enmou3

    从enmou3上进行测试

    Ssh enmou1

    不用输入密码,都可直接访问其他节点。

 

对于 RSA/DSA 密钥的工作原理,转贴在下一篇文章中。

总结:跟RAC有关的东西第一次接触,小记一下,每一个知识点都是一小步。

参考资料:

《大话Oracle RAC》

SSH用户等价关系配置 http://blog.csdn.net/xqy1522/archive/2010/04/14/5483328.aspx

script记录Linux命令行屏幕输出

问题源于实践,实践解决问题——
为客户做检查的过程中,经常会遇到这么一个问题:客户希望你能够把所有输入的命令保留下来,如果可能,最好连输出都保留下来。我就曾经盯着专家的操作过程,把他在某客户RAC中各个节点上输入的命令一条一条记下来,好处是这确实很锻炼,记一遍能帮助理清很多思路。 当然也有不好的一点,实在是太累眼。
我们知道,客户的需求在SQLPLUS中比较好实现,SPOOL TEST.TXT一下便可,等命令都搞完了,SPOOL OFF,然后退出SQLPLUS,把spool指定的文件导出。如果客户需要你把LINUX下的命令和输出也记录下来,怎么搞?
Script
script命令可以实现类似spool的功能,不过记录的是linux prompt后面的命令和输出,从man page中获取关于script的功能描述
DESCRIPTION
     Script makes a typescript of everything printed on your terminal. It is useful for students who need a hardcopy record of an interactive session as proof of an assignment, as the typescript file can be printed out later with lpr(1).
     If the argument file is given, script saves all dialogue in file. If no file name is given, the typescript is saved in the file typescript.
相信大家英文都比我好,不详解,只要读明白两点就行:script命令可以帮你做“笔记”;如果不指定文件名,系统默认文件名为typescript。
至于typescript的格式,我们可以通过file进行查看
[[email protected] ~]$ file typescript 
typescript: ASCII English text, with CRLF, LF line terminators, with escape sequences
 
用法:
script -a
    在之前的typescript文件后继续添加本次的输出。你想到了什么?对,是>>
script -c COMMAND
    只对后面运行的命令进行记录。你又想到了什么?对,是>
    例:script -c cal 此命令与cal > typescript效果大致一致,记录的主要内容相同,前一个命令既在屏幕上输出了命令执行的结果,又将结果记录到了typescript中。而后一个命令不在屏幕上显示输出,只在文件中进行记录。
 
要记录的输出记录完毕后,输入exit,结束script程序。
 
至于-t 和-q两个options,请明白人指点。
-f options貌似非常有用,尚未实践成功,记录在此,择日深究。
 
原创文章,转载请注明,欢迎留言交流!

在Linux虚拟机中安装Oracle Database 10g

 

 Oracle Database 一般运行在Linux操作系统下,我们需要安装在Linux操作系统下安装和使用Oracle DB来熟悉这种环境,为将来打下基础。为了避免安装双系统带来的一些麻烦,我们可以在虚拟机里安装使用Linux。以下介绍了在Linux虚拟机中安装Oracle DB的方法

准备:(1) Red Hat Enterprise Linux 5 安装镜像

(2) Oracle Database 10g for Linux32 安装程序

(3)VMware Workstation 7.0 安装程序

 

1. 安装虚拟机

安装VMware Workstation 7.0

然后我们要启动VMware,在虚拟机里安装一个操作系统

选择File-New-Virtual Machine 在弹出的窗口中选择Typical,然后Next>

 

然后如图所示进行配置,完毕后Next>

 

填写个人姓名,设置用户名和密码,注意这里设置的密码也是root密码

给虚拟机起名字并选择存放的位置

下一步根据需要选择分配给虚拟机的磁盘空间,

再下一步选择Customize Hardware

选择分配给虚拟机的内存空间,如果你的内存够大,建议这里设置的内存大一些,否则运行起来会很卡,

如果你的CPU是多核的,也可以进行如下配置

最后点击Finish结束配置并耐心等待安装

Tips:
按快捷键Ctrl+Alt可以使鼠标指针返回,按Ctrl+G或双击虚拟机界面可以控制虚拟机,按Ctrl+Alt+Enter可以进入全屏模式。

2. 安装VMware Tools

安装VMware Tools是为了以后能直接把Windows下的一些文本直接复制到虚拟机中里,这样可以很方便的把一些命令直接复制到Shell中执行。VMware 7.0会自动在你安装虚拟机的时候装上VMware Tools,如果没有的话可以执行以下步骤安装。

如何检查是否安装了VMware Tools
->
选择菜单栏的VM,看里面是否有Reinstall VMware Tools,如果有,则说明你已经安装了。

操作方法如下,

(1).以管理员身份登录图形界面,

在菜单栏选择VM,再选择Install VMware Tools

此时Red Hat会自动挂载VMware Tools的虚拟光驱,同时屏幕下方会有提示:照做即可,以下为详细步骤:

选择Applications-Accessories-Terminal以进入终端界面,

输入命令(输入命令的时候你可以通过按Tab键来自动补全命令)

cp /media/VMware\ Tools/VMwareTools-8.1.3-203739.tar.gz /tmp

/*将安装文件复制到/tmp目录下*/

cd /tmp

tar xfzv VMwareTools-8.1.3-203739.tar.gz

/*解包安装文件*/

cd vmware-tools-distrib

./vmware-install.pl

即可开始安装

期间如果系统询问一些确认信息或路径时,输入中括号中推荐的字符。

 

完成安装之后,你可以在虚拟机和Windows之间复制文本。

3. 配置开机启动命令行

选择Applications-Accessories-Terminal进入终端界面

输入命令

vi /etc/inittab

把红圈处的5改成3

然后输入 :wq

重新启动之后就进入命令行界面,在命令行界面输入startx可以进入图形界面。

 

4. 针对Oracle配置你的Linux

启动虚拟机,以root账户登录。建议登录之后输入startx进入图形界面,然后打开Terminal执行以下操作,这样可以直接把本教程里的命令复制到虚拟机中运行,以免除输入的麻烦。

(1) 验证系统要求

A)Oracle10.2
针对
RH
Linux
操作系统版本要求:

Red Hat Enterprise Linux AS/ES 3.0 (Update 4 or later) Red
Hat Linux 4.0

Oracle10.2 针对 RH Linux3 内核版本要求:

Red Hat Enterprise Linux 3.0

2.4.21-27.EL

Oracle10.2 针对 RH Linux4 内核版本要求:

Red Hat Enterprise Linux 4.0 and Asianux 2.0:

2.6.9-5.EL

检验操作系统版本:使用命令 cat /etc/issue

检验内核版本:使用命令 uname –r

 

实际安装时系统会提示

说明该示例的系统版本不能正常安装

所以需要作出如下修改

输入命令

dd 将里面的内容删除,然后按i,输入 redhat-4

Esc键,输入 :wq 保存并退出。

B)安装Oracle
Database 10g需要最小512MB的RAM,最小1GB的Swap空间, 软件需要2.5GB的可用磁盘空间,数据库另需1.2GB的可用磁盘空间,/tmp目录需要至少400MB可用空间。

用以下命令分别查看内存空间,Swap空间,磁盘空间。

grep MemTotal /proc/meminfo

grep SwapTotal /proc/meminfo

df –h

检查其他所需的软件包版本,以下为最低要求

  • gcc-2.96-124
  • make-3.79
  • binutils-2.11
  • openmotif-2.1.30-11
  • glibc-2.2.4-31

使用命令 rpm –q gcc make binutils openmotif glibc
查看

安装缺少的和版本过低的软件包

安装以后再检查一下:

(2)创建Oracle组和用户帐户

执行以下命令

cd /usr/sbin

groupadd oinstall

groupadd dba

useradd –m –g
oinstall –G dba oracle

id oracle

为帐号oracle设置密码

passwd oracle

(3)创建存储Oracle软件和数据库文件的目录

执行以下命令创建目录并更改权限:

mkdir -p /u01/app/oracle

mkdir -p /u02/oradata

chown -R oracle:oinstall
/u01/app/oracle /u02/oradata

chmod -R 775 /u01/app/oracle
/u02/oradata

(4)配置Linux内核参数

Oracle 数据库 10g 需要以下所示的内核参数设置。其中给出的是最小值,因此如果您的系统使用的值较大,则不要更改它。

kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000

运行以下命令来检验你的参数

/sbin/sysctl -a | grep shm

/sbin/sysctl -a | grep sem

 /sbin/sysctl -a | grep file-max

 /sbin/sysctl -a | grep ip_local_port_range

如果你的参数小于以上的最小值,需要使用vi编辑/etc/sysctl.conf文件

 

修改完成后,使用以下命令激活更改

/sbin/sysctl –p

(5)oracle用户设置Shell限制

执行以下命令

cat >>
/etc/security/limits.conf <<EOF

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

EOF

 

cat >>
/etc/pam.d/login <<EOF

session required
/lib/security/pam_limits.so

EOF

使用命令

vi /etc/profile

i键,在done之前添加以下内容

if [ \$USER = “oracle” ]; then

if [ \$SHELL = “/bin/ksh” ]; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

umask 022

fi

然后按Esc键,输入:wq保存并退出

(6)设置环境变量

先用命令 su oracle 切换为oracle用户

提示符变为

输入如图命令

添加

ORACLE_BASE=/u01/app/oracle

export ORACLE_BASE

ORACLE_SID=demo1
(此处是定义数据库名称,通常不超过5个字符,本示例使用demo1作为名称)

export
ORACLE_SID
到文件尾

5. 安装Oracle Database 10g

Windows下共享装有Oracle安装程序的文件夹

重新启动,以oracle帐号登录

输入startx进入图形界面

打开终端,输入命令 mkdir ~/10g_db 建立的目录

选择Places-Network Services-Windows Network-Workgroup-【你的电脑】-【你共享的文件夹】

从那里把安装程序复制到10g_db目录

直接使用图形界面操作解压安装包

打开终端界面,输入命令

cd ~/10g_db

./runInstaller

选择

如果前面的操作正确,后面的路径都使用默认值即可

安装类型选择

接受默认配置

接受默认配置

 

 

为全局数据库命名,字符集选择Unicode,勾选

下一步接受默认项

再下一步按下图配置

下一步接受默认配置

下一步建议配置统一的密码(如图)

然后选择进行安装

下面你将遇到一个弹出窗口,需要以root的身份执行一个shell script

打开一个新的Terminal,输入如下命令

su

【输入root密码】

cd /u01/app/oracle/oraInventory

./orainstRoot.sh

操作结束之后点击 OK,安装结束

点击Exit退出即可。

 

至此在Linux虚拟机上的Oracle
Database 10g安装结束,欢迎走进Oracle
Database 10g的精彩世界!

作者:纪晓文

Page 5 of 512345
普人特福的博客cnzz&51la for wordpress,cnzz for wordpress,51la for wordpress