精华内容
下载资源
问答
  • io安装 安装我来安装 。 灵感来自 。 安装 npm install -g io-install 用法 Usage: io-install version version can also be "latest" list versions with --list 没有 npm? 没问题。 在 shell 上安装运行以下...
  • 适用于Raspberry Pi 3 B +的Hass.io安装程序 该脚本将安装所有,然后安装 请报告遇到的任何。 要求 有用的提示 确保通过禁用SSH并更改pi用户的密码来保护Raspberry Pi。 如果您打算通过SSH安装,请确保在/boot ...
  • 1.手动安装,先下载安装包,传送门 2.将下载的package control包放在,打开Sublime>preferences>Browse Packages…>(后退一下)>Installed Packages...

    今天拿到一台新笔记本要写代码时,发现Sublime package control装不上。。。,下面附解决办法:
    1.手动安装,先下载安装包,传送门
    2.将下载的package control包放在,打开Sublime>preferences>Browse Packages…>(后退一下)>Installed Packages目录下
    3.重新启动Sublime,ok
    如果安装以后 Install Package 使用出错的话,需要修改一下,这样:
    1.下载channel_v3.json文件,传送门
    2.下载后的文件放在你想放的位置,如我放在了 D:/Sublime Text 3/channel_v3.json下面
    3.打开Sublime>preferences>package setting>Package Control>Settings User
    4.添加如下:

    "channels":
    	[
    		// "https://raw.githubusercontent.com/SuCicada/channel_v3.json/master/channel_v3.json"
    		"D:/Sublime Text 3/channel_v3.json"
    	]
    

    5.或者可以直接取消上面的注释去链接这个文件,如果网速好的话
    这样就可以愉快的使用了~

    展开全文
  • Redhat5.4+Oracle 10g RAC+ASM+RAW安装文档

    千次阅读 2011-08-10 20:49:27
    基于Redhat 5 和redhat 4 的RAC 区别在对raw的处理上。 之前做的是redhat 4.7 的 RAC 实验。 准备做一个Redhat 5.4 的环境。 RAC 的一些理论东西: http://blog.csdn.net/tianlesoftware/a
      
    

    基于Redhat 5 和redhat 4 的RAC 区别在对raw的处理上。 之前做的是redhat 4.7 的 RAC 实验。 准备做一个Redhat 5.4 的环境。

    RAC 的一些理论东西:

    http://blog.csdn.net/tianlesoftware/archive/2010/02/27/5331067.aspx

    RAW+ASM+ REDHAT 4.7 RAC 文档

    http://blog.csdn.net/tianlesoftware/archive/2010/02/27/5332909.aspx

    服务器主机名

    rac1

    rac2

    公共IP地址(eth0)

    10.85.10.1

    10.85.10.2

    虚拟IP地址(eth0)

    10.85.10.3

    10.85.10.4

    私有IP地址(eth1)

    192.168.1.200

    192.168.1.201

    ORACLE RAC SID

    orcl1

    orcl1

    集群实例名称

    orcl

    OCR(oracle集群注册表)

    /dev/raw/raw1 /dev/sdb1 200M

    /dev/raw/raw2 /dev/sdb2 200M

    表决磁盘(voting disk)

    /dev/raw/raw3 /dev/sdc1 200M

    /dev/raw/raw4 /dev/sdc2 200M

    /dev/raw/raw5 /dev/sdc3 200M

    ASM

    /dev/sdd1 10G VOL1 for Oracle Data

    /dev/sdd1 5G VOL2 for flash_recovery_area

    数据库备份

    /dev/sde1 10G (mkfs -t ext3 /dev/sde1)

    实验平台:Oracle 10gR2 RAC + RHEL 5.4 +VMServer 2.0

    安装步骤:

    1.安装前准备及OS安装配置

    2.安装Oracle 10gR2 clusterware

    3.安装Oracle 10gR2 database

    4.配置netca

    5.创建ASM 实例

    6.配置dbca创建数据库

    7.检查RAC状态

    一. 安装前准备及OS安装配置

    Host OS 准备

    1. 从Oracle OTN下载 oracle 10gR2 for x86 linux,下2个zip, 一个是clusterware zip,一个是database zip, comp CD 可选.

    2. 准备的RHEL 5.4 (x86)

    3. 查看Redhat 5.4 内核版本:

    [root@redhat5 ~]# uname -a

    Linux redhat5 2.6.18-164.el5xen #1 SMP Tue Aug 18 16:06:30 EDT 2009 i686 i686 i386 GNU/Linux

    4. 从Oracle OTN下载 ASM, ASMLib, ASMLib support , 这些都是针对你的kernel的,不要下错

    http://www.oracle.com/technology/tech/linux/asmlib/index.html

    该页面有下载地址,注意选择CPU 类型。 里面有asmlib 和 support。 在同一个页面。

    5. VMServer 2.0

    虚拟机 Workstation,GSX Server 和ESX之间的区别

    http://blog.csdn.net/tianlesoftware/archive/2010/02/22/5316767.aspx

    Vmware SERVER 简介

    http://blog.csdn.net/tianlesoftware/archive/2010/05/26/5623642.aspx

    一.OS安装

    1. 在vmware server中创建redhat 5 虚拟机,取名rac1. 内存800M, 硬盘15GB。

    2. 加上一块NIC网卡。RAC 实验需要2块网卡。

    3. 用vdiskmanager 创建Share Disk。 -- 如果用存储的话,就不用这么折腾了。 直接挂上就能分了。

    先创建F:\VM\racshare目录,然后把创建的磁盘文件放到这个目录下。 根据前面的分析,我们要创建4个文件。

    在dos下进入vmware 的安装目录,找到vmware-vdiskmanager.exe 程序,然后执行如下命令:

    vmware-vdiskmanager.exe -c -s 400Mb -a lsilogic -t 2 F:\VM\racshare\ocr.vmdk

    vmware-vdiskmanager.exe -c -s 600Mb -a lsilogic -t 2 F:\VM\racshare\votingdisk.vmdk

    vmware-vdiskmanager.exe -c -s 15000Mb -a lsilogic -t 2 F:\VM\racshare\asm4data.vmdk

    vmware-vdiskmanager.exe -c -s 10000Mb -a lsilogic -t 2 F:\VM\racshare\backup.vmdk

    4. 到 rac1的目录,打开rac1.vmx , 在最后空白处添加这几段内容(一定要最后)

    scsi1.present = "TRUE"

    scsi1.virtualDev = "lsilogic"

    scsi1.sharedBus = "virtual"

    -- 这段是打开 scsi1上的使用,并且设置成virtual, controller设置成lsilogic, 然后依次添加

    scsi1:1.present = "TRUE"

    scsi1:1.mode = "independent-persistent"

    scsi1:1.filename = "F:\VM\racshare\ocr.vmdk"

    scsi1:1.deviceType = "plainDisk"

    scsi1:2.present = "TRUE"

    scsi1:2.mode = "independent-persistent"

    scsi1:2.filename = "F:\VM\racshare\votingdisk.vmdk"

    scsi1:2.deviceType = "plainDisk"

    scsi1:3.present = "TRUE"

    scsi1:3.mode = "independent-persistent"

    scsi1:3.filename = "F:\VM\racshare\asm4data.vmdk"

    scsi1:3.deviceType = "plainDisk"

    scsi1:4.present = "TRUE"

    scsi1:4.mode = "independent-persistent"

    scsi1:4.filename = "F:\VM\racshare\backup.vmdk"

    scsi1:4.deviceType = "plainDisk"

    --最后添加这个,这段是对vmware使用共享硬盘的方式进行定义,必须添加

    disk.locking = "false"

    diskLib.dataCacheMaxSize = "0"

    diskLib.dataCacheMaxReadAheadSize = "0"

    diskLib.DataCacheMinReadAheadSize = "0"

    diskLib.dataCachePageSize = "4096"

    diskLib.maxUnsyncedWrites = "0"

    保存退出之后,启动虚拟机就可以看到刚才添加的硬盘了.

    5. 安装完redhat 5操作系统后,关机,安装的时候把所有包都装上。

    按照1-5的步骤创建节点rac2.

    Redhat 的2个序列号:

    redhat 5.0 : 2515dd4e215225dd

    redhat 5.4 SN:49af89414d147589

    因为是测试环境,在做之前先关闭不需要的系统启动耗时服务
    # chkconfig cups off
    # chkconfig sendmail off
    # chkconfig isdn off
    # chkconfig smartd off
    # chkconfig iptables off

    6. 配置你的2个网卡的固定IP,hostname, DNS, gateway, time server (NTP) ,这一步也可以在安装系统时配置

    根据前面的规划,设置IP地址。可以在redhat 界面上进行修改,也可以修改下面2个文件:

    /etc/sysconfig/network-script/ifcfg-eth0

    /etc/sysconfig/network-script/ifcfg-eth1

    修改机器名,IP和网关 -- 默认网关必须设置,不然 vipca 报错

    [root@raw1 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

    DEVICE=eth0

    ONBOOT=yes

    BOOTPROTO=static

    IPADDR=10.85.10.119

    NETMASK=255.255.255.0

    GATEWAY=10.85.10.253

    修改主机名

    vi /etc/sysconfig/network

    NETWORKING=yes

    HOSTNAME=raw1

    修改完之后重启生效:

    /etc/rc.d/init.d/network restart 重新启动

    查看DNS:

    cat /etc/resolv.conf

    7. 同步时间:

    1) 在rac1上启动time-stream 服务,并设置为自动动

    [root@rac1 ~]# chkconfig time-stream on

    在redhat 4中,是: #chkconfig time on

    2)在rac2 上添加任务,每一分钟和rac1进行一次时间同步。

    [root@rac2 ~]# crontab -l

    */1 * * * * rdate -s 10.85.10.1

    rac 对节点间时间较敏感,RAC不能容忍节点间时钟不同步,否则RAC会Down掉,而且在安装vipca 的时候也会报错。 具体时间同步参考我的blog:

    Linux 时间同步配置

    http://blog.csdn.net/tianlesoftware/archive/2010/02/21/5315587.aspx

    linux 下修改日期和时间

    http://blog.csdn.net/tianlesoftware/archive/2009/11/13/4808096.aspx

    8. 安装结束后,进入 OS, 修改解析文件: /etc/hosts

    如下

    注:机器名和public名要一样

    127.0.0.1 localhost (必须要这样)

    10.85.10.1 rac1

    10.85.10.2 rac2

    192.168.1.200 rac1-priv

    192.168.1.201 rac2-priv

    10.85.10.3 rac1-vip

    10.85.10.4 rac2-vip

    两个node都要一样.

    修改后要确认这个hosts 都正确 (ping)

    9. 建立用户等效性

    建立等效用户之后,2个结点直接Oracle 用户互相访问就不在需要密码了, 这样就为RAC管理提供了可能性,如果等效性没有配好, RAC 肯定是装不起来的。

    1) 在RAC1,RAC2两个节点上添加group add dba oinstall 组, 创建oracle 用户, 主组oinstall, 附加组是dba.

    #groupadd oinstall

    #groupadd dba

    #useradd -g oinstall -G dba oracle

    #passwd oracle

    2) 建立等效用户

    在rac1:

    [oracle@rac1 ~]$ mkdir ~/.ssh

    [oracle@rac1 ~]$ chmod 700 ~/.ssh

    [oracle@rac1 ~]$ ssh-keygen -t rsa

    [oracle@rac1 ~]$ ssh-keygen -t dsa

    在rac2:

    [oracle@rac2 ~]$ mkdir ~/.ssh

    [oracle@rac2 ~]$ chmod 700 ~/.ssh

    [oracle@rac2 ~]$ ssh-keygen -t rsa

    [oracle@rac2 ~]$ ssh-keygen -t dsa

    3) 切换回rac1,接着执行:

    [oracle@raw1 ~]$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

    [oracle@raw1 ~]$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

    提示:下列命令会提示你输入rac2 的oracle 密码,按照提示输入即可,如果失败可重新尝试执行命令。

    Rac1 节点:

    [oracle@rac1 ~]$ scp ~/.ssh/authorized_keys rac2:~/.ssh/authorized_keys

    Rac2节点:

    [oracle@rac2 ~]$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

    [oracle@rac2 ~]$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

    [oracle@rac2 ~]$ scp ~/.ssh/authorized_keys rac1:~/.ssh/authorized_keys

    4) 确保2个node都有相互的结点信息。两机相互执行。

    [oracle@rac1 ~]$ ssh rac1 date

    [oracle@rac1~]$ ssh rac2 date

    [oracle@rac1 ~]$ ssh rac1-priv date

    [oracle@rac1 ~]$ ssh rac2-priv date

    切换至rac2 执行

    [oracle@rac2 ~]$ ssh rac1 date

    [oracle@rac2~]$ ssh rac2 date

    [oracle@rac2 ~]$ ssh rac1-priv date

    [oracle@rac2 ~]$ ssh rac2-priv date

    10. 在2个结点上创建目录

    [root@rac1 ~]# mkdir -p /u01/app/oracle

    [root@rac1 ~]# chown -R oracle:oinstall /u01

    [root@rac1 ~]# chmod -R 777 /u01

    这个目录给oracle和clusterware系统的

    11. 修改/etc/sysctl.conf ,添加这些kernel 参数

    net.core.rmem_default=262144

    net.core.wmem_default=262144

    net.core.rmem_max=262144

    net.core.wmem_max=262144

    kernel.shmall = 131072000

    kernel.shmmax = 524288000

    kernel.shmmni = 4096

    kernel.sem = 250 32000 100 128

    fs.file-max = 65536

    net.ipv4.ip_local_port_range = 1024 65000

    # sysctl -p 立刻生效

    kernel.shmall为物理内存除以pagesize;

    kernel.shmmax为物理内存的一半;

    fs.file-max为512 乘以 processes (如128个process则为 65536);

    net.ipv4.ip_local_port_range/net.core.rmem_default/net.core.rmem_max三个参数设置和官方文档不一样, 这是根据metalink 343431.1 最新要求更改的;

    net.ipv4.tcp_rmem/net.ipv4.tcp_wmem两个参数一般情况下无需设置, 除非是在Dataguard/Streams等需很多网络传输情况下;

    其它参数根据官方文档要求设置即可.

    具体内容参考我的blog:

    Linux 内核参数及Oracle相关参数调整

    http://blog.csdn.net/tianlesoftware/archive/2009/10/15/4668741.aspx

    12. 设置用户资源限制,2个节点都要执行

    因为所有的进程都是以Oracle 身份来运行的,因此需要定义Oracle 用户能够使用的系统资源数量。

    vi /etc/sysconfig/limits.conf

    --使用HugePage 内存技术,添加下面2行

    Oracle soft memlock 5242880

    Oracle hard memlock 524280

    --进程句柄数量

    oracle soft nproc 2047

    oracle hard nproc 16384

    -- 文件句柄

    oracle soft nofile 65536

    oracle hard nofile 65536

    将下面一行添加到/etc/pam.d/login文件中:

    session required /lib/security/pam_limits.so

    13. 配置 hangcheck-timer 模块,2个节点都要执行

    Hangcheck-timer 是Linux 提供的一个内核级的IO-Fencing 模块, 这个模块会监控Linux 内核运行状态, 如果长时间挂起, 这个模块会自动重启系统。 这个模块在Linux 内核空间运行, 不会受系统负载的影响。 这个模块会使用CPU的Time Stamp Counter(TSC) 寄存器,这个寄存器的值会在每个时钟周期自动增加, 因此使用的是硬件时间,所以精度更高。

    配置这个模块需要2个参数: hangcheck_tick 和 hangcheck_margin。

    hangcheck_tick用于定义多长时间检查一次,缺省值是30秒。 有可能内核本身很忙, 导致这个检查被推迟, 该模块还允许定义一个延迟上限,就是hangcheck_margin, 它的缺省值是180秒。

    Hangcheck-timer 模块会根据hangcheck_tick 的设置,定时检查内核。只要2次检查的时间间隔小于 hangcheck_tick + hangchec_margin, 都会认为内核运行正常,否则就意味着运行异常,这个模块会自动重启系统。

    CRS本身还有一个MissCount 参数,可以通过crsctl get css miscount 命令查看。

    当RAC结点间的心跳信息丢失时, Clusterware 必须确保在进行重构时,故障结点确实是Dead 状态,否则结点仅是临时负载过高导致心跳丢失,然后其他结点开始重构,但是结点没有重启,这样会损坏数据库。 因此MissCount 必须大于 hangcheck_tick+hangcheck_margin的和。

    1) 查看模块位置:

    [root@rac1 ~]# find /lib/modules -name "hangcheck-timer.ko"

    /lib/modules/2.6.18-164.el5/kernel/drivers/char/hangcheck-timer.ko

    /lib/modules/2.6.18-164.el5xen/kernel/drivers/char/hangcheck-timer.ko

    2) 配置系统启动时自动加载模块,在/etc/rc.d/rc.local 中添加如下内容

    [root@rac1 ~]# modprobe hangcheck-timer

    [root@rac1 ~]# vi /etc/rc.d/rc.local

    modprobe hangcheck-timer

    3) 配置hangcheck-timer参数, 在/etc/modprobe.conf 中添加如下内容:

    [root@rac1 ~]# vi /etc/modprobe.conf

    options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180

    4) 确认模块加载成功:

    [root@rac1 ~]# grep Hangcheck /var/log/messages | tail -2

    Sep 7 19:53:03 rac1 kernel: Hangcheck: starting hangcheck timer 0.9.0 (tick is 180 seconds, margin is 60 seconds).

    Sep 7 19:53:03 rac1 kernel: Hangcheck: Using monotonic_clock().

    14. 格式化分区

    我们之前添加了4块硬盘,在分区的时候,ocr 我们要划分成2个100M,分别来存放ocr配置文件,votingdisk我们要分成3个100M的。 Asm4data 要分成两个,10G 存放数据文件,5G 用在flashback上。 Backup 我们分成一个区。

    在一个结点执行格式化就可以了,因为他们是共享的。

    [root@rac1 ~]# fdisk –l

    [root@rac1 ~]# fdisk /dev/sdb

    Command (m for help): n

    Command action

    e extended

    p primary partition (1-4)

    p

    Partition number (1-4): 1 -- 分区号1,等格式化技术后对应sdb1

    First cylinder (1-200, default 1):

    Using default value 1 – 分区开始点

    Last cylinder or +size or +sizeM or +sizeK (1-200, default 200): +100M --把sdb1 设置成100m

    Command (m for help): n

    Command action

    e extended

    p primary partition (1-4)

    p

    Partition number (1-4): 2 --设置分区sdb2

    First cylinder (97-200, default 97):

    Using default value 97 --开始点

    Last cylinder or +size or +sizeM or +sizeK (97-200, default 200):

    Using default value 200 --结束点

    Command (m for help): w -- 写数据

    The partition table has been altered!

    Calling ioctl() to re-read partition table.

    WARNING: Re-reading the partition table failed with error 16: Device or resource busy.

    The kernel still uses the old table.

    The new table will be used at the next reboot.

    Syncing disks.

    [root@rac1 ~]# fdisk -l

    Disk /dev/sdb: 209 MB, 209715200 bytes

    64 heads, 32 sectors/track, 200 cylinders

    Units = cylinders of 2048 * 512 = 1048576 bytes

    Device Boot Start End Blocks Id System

    /dev/sdb1 1 96 98288 83 Linux

    /dev/sdb2 97 200 106496 83 Linux

    这里就是分区的效果

    其他的操作类似,最终的格式化的效果是:

    [root@rac1 ~]# fdisk -l

    /dev/sda1 251 1958 13719510 83 Linux

    /dev/sda2 1 250 2008093+ 82 Linux swap / Solaris

    /dev/sdb1 1 101 103408 83 Linux

    /dev/sdb2 102 200 101376 83 Linux

    /dev/sdc1 1 99 101360 83 Linux

    /dev/sdc2 100 198 101376 83 Linux

    /dev/sdc3 199 300 104448 83 Linux

    /dev/sdd1 1 1217 9775521 83 Linux

    /dev/sdd2 1218 1912 5582587+ 83 Linux

    /dev/sde1 1 1274 10233373+ 83 Linux

    注: 格式化时候,在另一个节点要重启一下系统,不然识别不了。

    15. 配置raw 设备

    所谓raw 设备,就是通过字符方式访问的设备,也就是读写设备不需要缓冲区。 在Linux 下,对磁盘值提供了块方式的访问。要想通过字符方式访问,必须配置raw 设备服务,并且Oracle 用户对这些raw 设备必须有访问的权限。

    Redhat 5 和 4在裸设备的配置上不一样。 关于4上raw的配置参考:

    RAW+ASM+ REDHAT 4.7 RAC 文档

    http://blog.csdn.net/tianlesoftware/archive/2010/02/27/5332909.aspx

    redhat 5上raw的配置也可以参考:

    Redhat 5 中裸设备(raw) 的配置

    http://blog.csdn.net/tianlesoftware/archive/2010/08/09/5796962.aspx

    在2个节点上做如下操作:

    1)修改/etc/udev/rules.d/60-raw.rules 文件

    添加如下内容:

    ACTION=="add", KERNEL=="sdb1",RUN+="/bin/raw /dev/raw/raw1 %N"

    ACTION=="add", KERNEL=="sdb2",RUN+="/bin/raw /dev/raw/raw2 %N"

    ACTION=="add", KERNEL=="sdc1",RUN+="/bin/raw /dev/raw/raw3 %N"

    ACTION=="add", KERNEL=="sdc2",RUN+="/bin/raw /dev/raw/raw4 %N"

    ACTION=="add", KERNEL=="sdc3",RUN+="/bin/raw /dev/raw/raw5 %N"

    ACTION=="add",KERNEL=="raw[1-5]", OWNER="oracle", GROUP="oinstall", MODE="660"

    这里有个小插曲,见:

    http://blog.csdn.net/tianlesoftware/archive/2010/09/08/5871972.aspx

    2) 重启服务:

    [root@rac1 ~]# start_udev

    Starting udev: [ OK ]

    3) 查看raw设备:

    [root@rac1 ~]# ls -lrt /dev/raw

    total 0

    crw-rw---- 1 oracle oinstall 162, 5 Sep 8 03:18 raw5

    crw-rw---- 1 oracle oinstall 162, 4 Sep 8 03:18 raw4

    crw-rw---- 1 oracle oinstall 162, 1 Sep 8 03:18 raw1

    crw-rw---- 1 oracle oinstall 162, 3 Sep 8 03:18 raw3

    crw-rw---- 1 oracle oinstall 162, 2 Sep 8 03:18 raw2

    16. 在两个node上都安装 ASMLibs, tools, support 三个rpm文件. 注意内核版本要和linux一致。

    # rpm -ivh *.rpm --nodeps --force

    然后运行 /etc/init.d/oracleasm configure

    回答 oracle , dba, y, y 就可以了

    linux 挂在windows 共享的盘

    1. 启动nfs服务: service nfs start

    2. mount -o username=share,password=share //10.85.10.80/RAC /mnt

    17. 创建ASM 磁盘

    在一个node上:

    通过以 root 用户身份运行以下命令来标记由 ASMLib 使用的磁盘:/etc/init.d/oracleasm createdisk DISK_NAME device_name(提示:DISK_NAME 应由大写字母组成。当前版本有一个错误,即假如使用小写字母,ASM 实例将无法识别磁盘。)

    记住,ASM在linux下面处理的对象是 partition,不是disk, 所以你那些vmdk要linux 下面partition好才能用,所以先fdisk一下在创建.

    /etc/init.d/oracleasm createdisk VOL1 /dev/sdd1

    /etc/init.d/oracleasm createdisk VOL2 /dev/sdd2

    创建好后, 在这个node 上运行 /etc/init.d/oracleasm listdisks 查看。

    18. 在另外一个node 上

    /etc/init.d/oracleasm scandisks

    /etc/init.d/oracleasm listdisks 查看

    19. 在每个node上配置Oracle的profile文件

    Su -oracle

    Cd /home/oracle

    修改 oracle用户家目录下的 .bash_profile 。注意ORACLE_SID, 和后面建库要一致。

    # User specific environment and startup programs

    PATH=$PATH:$HOME/bin

    export ORACLE_BASE=/u01/app/oracle

    export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1

    export ORA_CRS_HOME=$ORACLE_BASE/product/crs

    export ORACLE_SID=rac1

    export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin

    export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin

    export PATH=${PATH}:$ORACLE_BASE/common/oracle/bin

    export ORACLE_TERM=xterm

    export TNS_ADMIN=$ORACLE_HOME/network/admin

    export ORA_NLS10=$ORACLE_HOME/nls/data

    export LD_LIBRARY_PATH=$ORACLE_HOME/lib

    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib

    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib

    export CLASSPATH=$ORACLE_HOME/JRE

    export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib

    export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib

    export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib

    export THREADS_FLAG=native

    export TEMP=/tmp

    export TMPDIR=/tmp

    第二个节点的 ORACLE_SID=rac2 其他都一样。

    二. 安装Oracle 10gR2 clusterware

    1. 用Xmanager 软件连上虚拟机之后运行clusterware 的安装软件, Xmanager 支持图形界面, 所以能省很多事。

    主要要先修改/etc/redhat-release 文件,不然会报错。

    [root@rac2 ~]# more /etc/redhat-release

    redhat-4

    2. 确认你的安装目录是/u01/app/oracle/product/crs

    3. 增加相关结点信息

    rac1 rac1-priv rac1-vip

    rac2 rac2-priv rac2-vip

    4.指定 eth0 的类型时public

    5. 指定OCR 和 Voting Disk

    一般而言,如果采用存储来存放OCR和Voting Disk. 存储本身就提供了redundancy策略,此时我们可以选择External Redundancy 选项, 此时Oracle 就不在考虑软件冗余了。 如果没有使用存储设备或者存储为RAID0,那么就可以使用Oracle 自己提供的软件冗余机制 Normal Redundancy 选项,此时就会激活Mirror Location 选项. 用来指定镜像文件位置, Oracle 的Clusterware在运行时会维护这个Mirror文件的内容同步。

    OCR 最多只有一份冗余:

    /dev/raw/raw1

    /dev/raw/raw2

    Voting Disk 最多可以定义2份冗余:

    /dev/raw/raw3

    /dev/raw/raw4

    /dev/raw/raw5

    6. 开始安装了,结束时会提示用root在每个节点上运行orainstRoot.Sh 和 root.Sh脚本, 在第二个结点上运行root.Sh 后自动调用vipca 这个命令, 在第二个结点运行root.Sh 之前要修改一下vipca命令, 不然可能会报错。

    RAC安装时需要执行4个脚本及意义

    http://blog.csdn.net/tianlesoftware/archive/2010/02/22/5317034.aspx

    注意: VIPCA 命令也是用ROOT 用户来运行的, 只需要在一个结点运行就可以了。

    进入$CRS_HOME/bin/目录, 用vi来修改vipca 和 srvctl 2个命令。

    问题1: vipca报错,是redhat的bug

    Running vipca(silent) for configuring nodeapps

    /home/oracle/crs/oracle/product/10/crs/jdk/jre//bin/java: error while loading

    shared libraries: libpthread.so.0: cannot open shared object file:

    No such file or directory

    解决方法:

    Remember to re-edit these files on all nodes:

    <CRS_HOME>/bin/vipca

    <CRS_HOME>/bin/srvctl

    <RDBMS_HOME>/bin/srvctl

    <ASM_HOME>/bin/srvctl

    after applying the 10.2.0.2 or 10.2.0.3 patchsets, as these patchset will still include those settings unnecessary for OEL5 or RHEL5 or SLES10. This issue was raised with development and is fixed in the 10.2.0.4 patchsets.

    Note that we are explicitly unsetting LD_ASSUME_KERNEL and not merely commenting out its setting to handle a case where the user has it set in their environment (login shell).

    $ vi vipca

    ... ...

    Linux) LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:$ORACLE_HOME/srvm/lib:$LD_LIBRARY_PATH

    export LD_LIBRARY_PATH

    echo $LD_LIBRARY_PATH

    echo $CLASSPATH

    #Remove this workaround when the bug 3937317 is fixed

    arch=`uname -m`

    if [ "$arch" = "i686" -o "$arch" = "ia64" ]

    then

    # LD_ASSUME_KERNEL=2.4.19

    # export LD_ASSUME_KERNEL

    echo -- 这里一定要加上,不然返回会报错

    fi

    #End workaround

    问题2: 如果遇到这个错误:

    # vipca

    Error 0(Native: listNetInterfaces:[3])

    [Error 0(Native: listNetInterfaces:[3])]

    解决方法:

    在CRS_HOME下 运行 oifcfg 命令:

    rac1

    # ./oifcfg setif -global eth0/10.85.10.1:public

    # ./oifcfg setif -global eth1/192.168.1.200:cluster_interconnect

    # ./oifcfg getif

    eth0 10.85.10.1 global public

    eth1 192.168.1.200 global cluster_interconnect

    在rac2:

    /bin # ./oifcfg setif -global eth0/10.85.10.2:public

    /bin # ./oifcfg setif -global eth1/192.168.1.201:cluster_interconnect

    /bin # ./oifcfg getif

    eth0 10.85.10.2 global public

    eth1 192.168.1.201 global cluster_interconnect

    然后在手工运行vipca添加nodeapps resource即可。

    问题3:An unexpected exception has been detected in native code outside the VM.

    Unexpected Signal : 11 occurred at PC=0xB7503E29

    Function=__libc_free+0x49

    Library=/lib/tls/libc.so.6

    修改主机名不正确导致的。

    RHEL

    /etc/sysconfig/network 主机名,如果在/etc/hosts中解析不了。就报这个错误!

    7. clusterware 就安装结束.

    确认一下.

    $ /u01/app/oracle/product/crs/bin/olsnodes -n

    rac1

    rac2

    $ ls -l /etc/init.d/init.*

    -r-xr-xr-x 1 root root 1951 Oct 4 14:21 /etc/init.d/init.crs*

    -r-xr-xr-x 1 root root 4714 Oct 4 14:21 /etc/init.d/init.crsd*

    -r-xr-xr-x 1 root root 35394 Oct 4 14:21 /etc/init.d/init.cssd*

    -r-xr-xr-x 1 root root 3190 Oct 4 14:21 /etc/init.d/init.evmd*

    检查CRS 安装启动情况:用Root用户执行:

    $CRS_HOME/bin/crsctl check crs

    CSS appears healthy

    CRS appears healthy

    EVM appears healthy

    表明CRS 安装完成,并且启动成功

    [root@rac1 bin]# ./crs_stat -t -v

    Name Type R/RA F/FT Target State Host

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

    ora.rac1.gsd application 0/5 0/0 ONLINE ONLINE rac1

    ora.rac1.ons application 0/3 0/0 ONLINE ONLINE rac1

    ora.rac1.vip application 0/0 0/0 ONLINE ONLINE rac1

    ora.rac2.gsd application 0/5 0/0 ONLINE ONLINE rac2

    ora.rac2.ons application 0/3 0/0 ONLINE ONLINE rac2

    ora.rac2.vip application 0/0 0/0 ONLINE ONLINE rac2

    注:如果clusterware 安装失败,再次运行安装程序,里面可以把之前的安装删除掉,删除之后在进行安装。

    三. 安装Oracle 10gR2 database

    1. 检查Oracle 的相关包。Oracle 10g 需要如下包

    binutils-2.15.92.0.2-10.EL4

    compat-db-4.1.25-9

    control-center-2.8.0-12

    gcc-3.4.3-9.EL4

    gcc-c++-3.4.3-9.EL4

    glibc-2.3.4-2

    glibc-common-2.3.4-2

    gnome-libs-1.4.1.2.90-44.1

    libstdc++-3.4.3-9.EL4

    libstdc++-devel-3.4.3-9.EL4

    make-3.80-5

    pdksh-5.2.14-30

    sysstat-5.0.5-1

    xscreensaver-4.18-5.rhel4.2

    libaio-0.3.96

    To see which versions of these packages are installed on your system, run the following command:

    rpm -q binutils compat-db control-center gcc gcc-c++ glibc glibc-common \

    gnome-libs libstdc++ libstdc++-devel make pdksh sysstat xscreensaver libaio openmotif21

    2. 在Xmanager 中用oracle用户,运行database的runInstaller

    3. ORACLE安装目录指定到 /u01/app/oracle/product/10.2.0/db_1

    4. 把2个node选择上

    5. 选择 Install database Software only

    6. 会要求你用完全的root权限运行 root.sh ,分别在2个node上一一运行

    7. 安装完毕

    四. netca 创建监听

    注:创建数据库过程应该遵循这个顺序: 先配置监听, 再配置ASM 实例, 最后创建数据库实例, 这样可以减少出错的概率。

    1. oracle 用户在一个node上运行 netca

    2. 选择所有node

    3. 选择 Listener configuration

    4. 添加一个LISTENER, 1521 port ,然后结束配置

    监听配置成功后, 2个结点上的Listener 都会坐位Application Resource 注册到CRS中, 这样CRS 就可以监控Listener 的运行状态。 我们可以通过 crs_stat -t -v 查看Listener 状态。

    五. 创建ASM 实例

    1. 运行DBCA 命令

    2. 选择 configure Automatic Storage Management, 来创建ASM 实例

    3. 选择所有结点

    4. 输入密码。RAC 的spfile 必须放在共享目录下。 参数文件我们选择第一个initialization parameter。 也可以放在我们建的裸设备上。

    5. 修改asm 参数: asm_diskstring = ORCL:VOL*, 这样能让Oracle自动发现这些硬盘

    6. ASM 实例创建完后,用Create New 来创建ASM 磁盘组。 我们用VOL1来创建一个DATA 组, VOL2 创建FLASH_RECOVERY_AREA组。

    注: Redundancy 一般选external 就是也就是不考虑冗余,假如选normal 则是mirror, 至少要一个FailGroup. 选High 就是triple mirror,3倍镜像,需要三个FailGroup

    7. 创建完成后,能看到组的状态是Mount, ASM 组必须mount之后才能使用。

    ASM 的相关信息参考blog:

    Oracle ASM 详解

    http://blog.csdn.net/tianlesoftware/archive/2010/02/21/5314541.aspx

    在这里,如果asm 服务必须要启动。如果没有启动,就手动启动它。 具体参考:

    Oracle RAC 启动与关闭

    http://blog.csdn.net/tianlesoftware/archive/2010/03/05/5349003.aspx

    [root@rac1 bin]# ./crs_stat -t

    Name Type Target State Host

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

    ora....SM2.asm application ONLINE ONLINE rac1

    ora....C1.lsnr application ONLINE ONLINE rac1

    ora.rac1.gsd application ONLINE ONLINE rac1

    ora.rac1.ons application ONLINE ONLINE rac1

    ora.rac1.vip application ONLINE ONLINE rac1

    ora....SM1.asm application ONLINE ONLINE rac2

    ora....C2.lsnr application ONLINE ONLINE rac2

    ora.rac2.gsd application ONLINE ONLINE rac2

    ora.rac2.ons application ONLINE ONLINE rac2

    ora.rac2.vip application ONLINE ONLINE rac2

    六. 配置dbca创建数据库

    1. 用oracle用户运行 dbca

    2. 选择custom database

    3. 输入数据库的全局名,比如rac

    4. 输入系统的角色建立密码

    5. 选择ASM 来存储, 分别选择我们刚创建的DATA 和FLASH_RECOVERY_AREA 组

    6. Database Services 这里,你选择Add你一个新的service, 随便叫名字,比如oltp。然后选择 TAF Policy,是Basic。 这个服务在RAC 的Failover中会用到,如果在这里没有配置,也可以通过dbca命令, 选择 Services Management 来进行配置。 具体参考blog:

    Oracle RAC Failover 详解

    http://blog.csdn.net/tianlesoftware/archive/2010/03/03/5340788.aspx

    7. 开始创建数据库

    七. 检查RAC 运行状态

    1.

    [root@rac1 bin]# ./srvctl status database -d rac

    Instance rac2 is running on node rac1

    Instance rac1 is running on node rac2

    2.

    [root@rac1 bin]# ./crs_stat -t

    Name Type Target State Host

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

    ora.rac.db application ONLINE ONLINE rac1

    ora....oltp.cs application ONLINE ONLINE rac2

    ora....ac1.srv application ONLINE ONLINE rac2

    ora....ac2.srv application ONLINE ONLINE rac1

    ora....c1.inst application ONLINE ONLINE rac2

    ora....c2.inst application ONLINE ONLINE rac1

    ora....SM2.asm application ONLINE ONLINE rac1

    ora....C1.lsnr application ONLINE ONLINE rac1

    ora.rac1.gsd application ONLINE ONLINE rac1

    ora.rac1.ons application ONLINE ONLINE rac1

    ora.rac1.vip application ONLINE ONLINE rac1

    ora....SM1.asm application ONLINE ONLINE rac2

    ora....C2.lsnr application ONLINE ONLINE rac2

    ora.rac2.gsd application ONLINE ONLINE rac2

    ora.rac2.ons application ONLINE ONLINE rac2

    ora.rac2.vip application ONLINE ONLINE rac2

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

    Blog: http://blog.csdn.net/tianlesoftware

    网上资源: http://tianlesoftware.download.csdn.net

    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx

    DBA1 群:62697716(满); DBA2 群:62697977(满)

    DBA3 群:63306533; 聊天 群:40132017

    展开全文
  • 首先:安装插件管理器: 快捷键ctrl+` ,输入下列命令,按enter键。 import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_...

    首先:安装插件管理器:

    快捷键ctrl+` , 输入下列命令,按enter键。

    import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf), 'wb').write(urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ','%20')).read())

    如果安装失败,依如下步骤执行。

    第一步:在C:\Windows\System32\drivers\etc\hosts 中添加

    50.116.34.243     sublime.wbond.net

    保存后重新打开sublime text3,安装插件管理器。

    如果在Perferences->中看到package control这一项,则安装成功。

    第二步:按下Ctrl+Shift+P调出命令面板,如果输入 install package后很长时间弹出对话框:

    1.点击 Preferences > Package Settings > Package Control > Settings - User

    2.添加配置:

    "channels": ["https://raw.githubusercontent.com/HBLong/channel_v3_daily/master/channel_v3.json"],
    

    文本

    {
    	"bootstrapped": true,
    	"channels": 
    	[
    		"https://raw.githubusercontent.com/HBLong/channel_v3_daily/master/channel_v3.json"
    	],
    	"installed_packages":
    	[
    		"Package Control"
    	]
    }

    不行的话用下面的

    {
    	"bootstrapped": true,
    	"channels": 
    	[
    		"https://packagecontrol.io/channel_v3.json"
    	],
    	"installed_packages":
    	[
    		"Package Control"
    	]
    }

    3.保存后 再次执行 install package,如下图所示即可正常使用:

    展开全文
  • 安装raw文件下的apk文件

    千次阅读 2017-08-02 09:25:14
    有时候我们需要将一些小软件嵌在我们的软件里面,那么我们就可以将这些apk放在我们的raw或者assets文件下进行暂时存储,那么下面我们用放在raw文件下进行展示安装这一过程。  首先我们要把我们需要隐藏我apk文件...

        有时候我们需要将一些小软件嵌在我们的软件里面,那么我们就可以将这些apk放在我们的raw或者assets文件下进行暂时存储,那么下面我们用放在raw文件下进行展示安装这一过程。
        首先我们要把我们需要隐藏我apk文件放在raw文件下,raw是在res下的一个文件夹,如果没有的同学们可以自己新建一个。
    然后第一步我们需要读取到这个apk文件,这里我们的apk文件我取名叫tmp,给出代码:

                    File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/app_tmp.apk");
                    try {
                        FileUtils.copyInputStreamToFile(getResources().openRawResource(R.raw.tmp), file);
                    } catch (Resources.NotFoundException e) {
                    } catch (IOException e) {
                    }
                    install(MainActivity.this, Uri.fromFile(file));

        这里我们获取到了资源,有个FileUtils大家可能没有,这个来自一个jar包,名叫commons_io-2.2.jar,大家可以从网上下载,很容易下载到的,然后install是个方法,就是安装文件的方法,下面给出代码:

        public static void install(Context context, Uri uri) {
            Intent i = new Intent(Intent.ACTION_VIEW);
            i.setDataAndType(uri, "application/vnd.android.package-archive");
            context.startActivity(i);
        }

        到这里就结束了吗?不,我们如果尝试安装的话会报错:解析文件包时出现错误,实际上我们还需要添加权限:

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    展开全文
  • 我们已经安装完成了64位debian stretch,下面要通过docker安装homeassistant及hass.io 1.允许 apt 通过 HTTPS 使用镜像仓库: sudo apt-get install apt-transport-...
  • RAW+ASM 的RAC 安装文档

    2014-03-06 21:32:51
    有关RAC 的一些概念性和原理性的知识, 请参考我的blog: ...这次实验是 RAW+ASM 来实现的,在生产环境中还是raw + ASM 比较多。也可以用OCFS2+ASM 来做,ocfs2的安装方法参考我的Blog:   OCFS2+ASM 的RA
  • perl模块 Compress::Raw::Lzma 的安装 用 cpan 安装任意perl模块总是提示 Couldn't untar Compress-Raw-Lzma-2.070.tar: 'Cannot allocate memory' 可能是内存小,无奈之下 使用 cpanm ,CPANMinus 的安装,默认...
  • 折腾了好久,执行 /usr/bin/ruby -e $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install) ...最后解决办法如下,重装command line tools,再执行安装指令,homebrew安装成功。 remo
  • 关于linux下安装oracle的raw device

    千次阅读 2007-03-27 18:59:00
    以下是关于linux下安装oracle的raw device的,大家看看! FAQ Details Q: 1. What is a raw device? A:Raw device, also known as a raw partition is a disk partition that is not mounted and written
  • RAW+ASM 的RAC 10g 安装文档

    千次阅读 2012-08-30 14:03:48
    RAW+ASM 的RAC 10g 安装文档 http://blog.csdn.net/tianlesoftware/article/details/5332909   有关RAC 的一些概念性和原理性的知识, 请参考我的blog: ...这次实验是
  • Hangcheck-timer 是Linux 提供的一个内核级的IO-Fencing 模块, 这个模块会监控Linux 内核运行状态, 如果长时间挂起, 这个模块会自动重启系统。 这个模块在Linux 内核空间运行, 不会受系统负载的影响。 这个模块...
  • 大致是java.io包,报了一个time out错误,实际上就是因为国外插件源访问超时。 目前我们国内的团队正在积极的为成立jenkins中文组织做努力,我也在其中受益良多,希望大家多为各种国内技术组织贡献力量。 解决...
  • Redhat 5.4 + ASM + RAW+ Oracle 10g RAC 安装文档   基于Redhat 5 和redhat 4 的RAC 区别在对raw的处理上。 之前做的是redhat 4.7 的 RAC 实验。 准备做一个Redhat 5.4 的环境。   RAC 的一些...
  • 安装 RVM 报错:curl: (7)Failed to connect to raw.githubusercontent.com port 443: Operation timed out解决方法 解决方法 更改hosts文件。 1.mac终端中输入: sudo vi /etc/hosts 2.然后加上下面的这些IP地址...
  • 以往安装的时候,报这个错多试几次或者是墙一下就可以了啊,但是现在安装的话死活不可以,哪怕全局也不行,这就有点头大了,直接访问也不行,当 ping raw.githubusercontent.com 的时候意外的发现了一个很严重的问题...
  • \curl -sSL https://get.rvm.io | bash -s stable 安装rvm时提示: curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused
  • 【感慨一下:这个脚本写的真的牛逼!!!!!!】 Homebrew是macOS(或 Linux...即可完成安装。 但由于某些你懂的因素,导致GitHub的raw.githubusercontent.com域名解析被污染了。(即使你翻墙了也不能正常操作...
  • 安装RVM报错 curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused 解决方法:更改hosts文件 1、终端中输入:$ sudo vi /etc/hosts 2、然后加上下面的这些IP地址配置,:wq...
  • 使用kubeadm安装部署k8s

    千次阅读 2018-10-24 22:12:20
    使用kubeadm安装部署k8s规划部署前提配置yum仓库配置docker仓库配置k8s仓库安装相关组件结点的初始化与集群的横向扩展 规划 预计使用三个节点来完成k8s的初次体验工作。结点规划如下表所示。 IP 节点...
  • 原因是目前 GitHub 的 gist 访问不了,所以获取不到安装的脚本文件。 解决方法(大佬自己写了一个脚本): /usr/bin/ruby -e "$(curl -fsSL ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 31,721
精华内容 12,688
关键字:

drawio安装