2011年4月16日星期六

Linux Chrome 的下载助手插件:Download Assistant | jKey' Blog

Linux Chrome 的下载助手插件:Download Assistant | jKey' Blog: "#!/bin/sh
xterm -hold -e aria2c -d ~/Desktop $1
# 注意这里我是用 aria2 作为下载工具
# 如果你没有这个命令,请自行下载
# sudo apt-get install aria2"

2011年4月14日星期四

vCenter hardware Warning(Yellow)-Bettery on Controller 0 Charging ..."

Symptoms:

I'm receiving this warning  immediately from my ESX server which is recently  installing   on Eell PowerEdge R910:
Status: Warning
sensor  info: Battery on Controller 0 Charging ... (learn Cycle complete)

 

Resolution:

Just wait a day or less for the battery to complete  Charging, and the warning will disappear  normally .

2011年4月13日星期三

vCenter Hardware Status Error-An error occurred, please try again in another vSphere session.

Symptoms:

When Adding  a host to the vCenter and click " Hardware Status "tabs immediacy, i received
an 'An error occurred, please try again in another vSphere session.' error - or dispaly '发生错误,请在另一个 vSphere 会话中重新尝试。' in chinese.

vCenterError

 

Resolution:

Just wait 5 or more minute for vCenter to updating the hardware info.

 

Other Resolution:

http://www.vmwareinfo.com/2009/12/vcenter-hardware-status-error-you-do.html

2011年4月11日星期一

ine 69: ./runInstaller: 权限不够

详情:

在Linux下安装Oracle, 执行 ./runInstaller 的时候报错:

line 69: ./runInstaller: 权限不够

 

原因:

权限问题。(从Windows系统中拷贝过来的文件权限不足)

 

解决办法:

chmod -R /u01/* 755

解决 XMANAGER下SQLPLUS不能使用上下左右和BACKSPACE键问题

一. 解决输入 BACKSPACE 键变成 ^h 的问题

#su - oracle 

$stty erase ^h.

要永久生效,可以加入到用户环境配置文件 .bash_profile   加入如下一行 

stty erase ^h

 

二. 解决上下左右键问题


1.  安装 readline 组件包

 ftp://ftp.gnu.org 的 gun/readline目录下,下载最新版本的 read.*.tar.gz 文件,

如:   ftp://ftp.gnu.org/gnu/readline/readline-6.1.tar.gz


然后上传到服务器进行编译安装, 相关指令:


tar zxvf 文件名

./configure   或者  perl Makefile

make

make install

2. 安装 rlwrap 组件包

到如下网页搜索下载相应操作系统版本的 rlwrap  rpm 包,这里以RHEL4为例:

http://rpm.pbone.net/index.php3/stat/4/idpl/5810350/com/rlwrap-0.30-1.el4.i386.rpm.html

如:  ftp://ftp.univie.ac.at/systems/linux/fedora/epel/4/i386/rlwrap-0.30-1.el4.i386.rpm


注意:

对于 x86_64 系统, 也安装上述 i386版的rpm包即可。

然后上传到服务器后使用类似如下指令进行安装:

#rpm -Uvh rlwrap-0.30-1.el4.i386.rpm


也可以到其官方下载源文件进行手工编译:

http://utopia.knoware.nl/~hlub/uck/rlwrap/

但是, 我在编译的时候遇到了如下错误, 所以还是推荐使用 RPM 包进行安装

=======================================================

......
readline.o(.text+0xf5c): In function `prompt_is_single_line':
/home/rlwrap-0.36/src/readline.c:686: undefined reference to `rl_variable_value'
collect2: ld returned 1 exit status
make[1]: *** [rlwrap] 错误 1
make[1]: Leaving directory `/home/rlwrap-0.36/src'
make: *** [install-recursive] 错误 1
......

=======================================================

3. 使用方法
可以手动输入如下指令使用:
# rlwrap sqlplus "/as sysdba"


为了方便,也可以在Oracle用户环境配置文件
.bash_profile中加入如下语句:

stty erase ^h   

alias sqlplus='rlwrap sqlplus'


最后,再次进入sqlplus,上下左右和Backspace键都可以用了

Oracle Online redo logfile 配置

更多相关信息,参见Oracle官方文档:

Managing the Online Redo Log

 

忠告:

  • 在下述操作前进行数据库完全备份
  • 在下述操作后进行控制文件(control file)的备份

 

查询logfile相关信息:

 

  • 查询日志文件位置和状态

SQL> select * from v$logfile;

 

    GROUP# STATUS  TYPE    MEMBER

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

 3           ONLINE  /u01/app/oracle/oradata/knitter/redo03.log

 2           ONLINE  /u01/app/oracle/oradata/knitter/redo02.log

 1           ONLINE  /u01/app/oracle/oradata/knitter/redo01.log

 4           ONLINE  /u01/app/oracle/oradata/knitter/redo04.rdo

 4 INVALID ONLINE  /u01/app/oracle/oradata/knitter/redo04_02.rdo

 

  • 查询日志组序号和状态

 

SQL> SELECT GROUP#, ARCHIVED, STATUS FROM V$LOG;

 

    GROUP# ARC STATUS

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

 1 NO  CURRENT

 2 YES INACTIVE

 3 YES INACTIVE

 4 YES INACTIVE

 

  • 查询日志历史

SQL> select * from V$LOG_HISTORY;

 

     RECID        STAMP         THREAD#  SEQUENCE# FIRST_CHANGE# FIRST_TIM NEXT_CHANGE#

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

 1  716304893               1          1           158900 01-APR-10          260498

 2  716317218               1          2           260498 14-APR-10          296893

 3  716317260               1          3           296893 14-APR-10          296990

 4  716319163               1          4           296990 14-APR-10          303247

 5  716319176               1          5           303247 14-APR-10          303252

 6  716384800               1          6           303252 14-APR-10          332583

 7  716384854               1          7           332583 15-APR-10          332775

 8  716384882               1          8           332775 15-APR-10          332881

 9  716384892               1          9           332881 15-APR-10          332889

 

 

============================================================================================

 

  1. 增加组(同时指定logfile):
  • 不指定组号(将自动使用组号: 当前最大组号+1

ALTER DATABASE
  ADD LOGFILE ('/oracle/dbs/log1c.rdo', '/oracle/dbs/log2c.rdo') SIZE 500K;

  • 指定组号

ALTER DATABASE 
  ADD LOGFILE GROUP 10 ('/oracle/dbs/log1c.rdo', '/oracle/dbs/log2c.rdo')
      SIZE 500K;

  1. 增加组成员
  • 指定组号

ALTER DATABASE ADD LOGFILE MEMBER

'/oracle/dbs/log2b.rdo'

TO GROUP 2;

 

ALTER DATABASE ADD LOGFILE MEMBER

'/u01/app/oracle/oradata/knitter/redo05_3.rdo',

'/u01/app/oracle/oradata/knitter/redo05_4.rdo' TO GROUP 5;

 

  • 不指定组号,指定所有组成员

ALTER DATABASE ADD LOGFILE MEMBER '/oracle/dbs/log2c.rdo'
    TO ('/oracle/dbs/log2a.rdo', '/oracle/dbs/log2b.rdo');

 

说明: 在增加组成员的时候, 不能指定logfile文件大小,因为同一组(logGroup)中所有member文件是完全一样的(大小、内容),Oracle将自动根据已有组员确定其大小。如果指定了大小,将会出错,如:

SQL> alter database add logfile member '/oracle/dbs/log1f.rdo' size 100k to group 5;

alter database add logfile member '/oracle/dbs/log1f.rdo' size 100k to group 5

                                                          *

ERROR at line 1:

ORA-00946: missing TO keyword

 

 

  1. 删除组成员

 

前提条件: 

  • 无法删除组中的最后一个成员
  • 所在组状态不能为 active  current 否则必须先进行日志切换(log switch
  • 如果数据库处于归档模式,必须(通过强制日志切换)先确保待删除组成员中的信息已经被归档

 

  • 强制切换日志

ALTER SYSTEM SWITCH LOGFILE;

然后通过如下语句查询,确保待操作组不为activecurrent状态:

SELECT GROUP#, ARCHIVED, STATUS FROM V$LOG;

 

  • 删除组成员

ALTER DATABASE DROP LOGFILE MEMBER '/oracle/dbs/log3c.rdo';

 

说明:

  • 上述操作完成后,只是删除了Oracle中的相关记录信息,

还应该使用操作系统删除指令,删除硬盘上相应的日志文件

 

 

  1. 删除组

 

前提条件: 

  • 最起码要有两个组
  • 所在组状态不能为 active  current 否则必须先进行日志切换(log switch
  • 如果数据库处于归档模式,必须(通过强制日志切换)先确保待删除组成员中的信息已经被归档

 

  • 强制切换日志

ALTER SYSTEM SWITCH LOGFILE;

然后通过如下语句查询,确保待操作组不为activecurrent状态:

SELECT GROUP#, ARCHIVED, STATUS FROM V$LOG;

 

  • 删除组

ALTER DATABASE DROP LOGFILE GROUP 3;

 

说明:

  • 上述操作完成后,只是删除了Oracle中的相关记录信息,

还应该使用操作系统删除指令,删除硬盘上相应的日志文件

 

 

 

说明:

  • 上述操作完成后,只是删除了Oracle中的相关记录信息,

还应该使用操作系统删除指令,删除硬盘上相应的日志文件

 

 

  1. 移动与重命名

 

  • 方法一

增加一个新的日志组成员,删除原有组成员, 以达到移动和重命名的效果

 

  • 方法二

 

  1. 关闭数据库:

SQL> shutdown;

  1. 使用操作系统指令,移动待处理的日志文件到目标位置
  2. 启动数据库到 MOUNT 状态

SQL> startup mount;

  1. 执行如下指令重命名日志文件:

ALTER DATABASE 
  RENAME FILE '/diska/logs/log1a.rdo', '/diska/logs/log2a.rdo' 
           TO '/diskc/logs/log1c.rdo', '/diskc/logs/log2c.rdo';

 

  1. 开启数据库:

SQL> alter database open;

 

  1. 清空日志文件

 

忠告: 在清空未归档日志文件前,进行数据库完全备份

 

使用场景:

日志文件无法Drop 常见有如下情况

  • 只有两组日志文件(不允许Drop
  • 待处理日志文件处于current状态组

 

指令:

  • 清空前自动归档:

ALTER DATABASE CLEAR LOGFILE GROUP 3;

  • 如果待清空日志文件数据已经损坏,同时数据库处于归档模式。此时,为了避免该损坏日志文件被归档,可使用如下指令:

ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP 3;


Oracle netca 出错

错误信息:

[oracle@VM_Center5_wusy u01]$ netca

Oracle Net Services 配置:

#

# An unexpected error has been detected by HotSpot Virtual Machine:

#

#  SIGSEGV (0xb) at pc=0xa43ea4d4, pid=4341, tid=3086784720

#

# Java VM: Java HotSpot(TM) Client VM (1.5.0_17-b02 mixed mode)

# Problematic frame:

# C  [libnnz11.so+0x3c4d4]

#

# An error report file with more information is saved as hs_err_pid4341.log

#

# If you would like to submit a bug report, please visit:

# http://java.sun.com/webapps/bugreport/crash.jsp

#

/u01/oracle/bin/netca: line 178:  4341 已放弃               $JRE $JRE_OPTIONS -classpath $CLASSPATH oracle.net.ca.NetCA $*

 

解决办法:

在hosts文件中的127.0.0.1 后面添加对应的主机名,如:

vi /etc/hosts

127.0.0.1 localhost.localdomain localhost VMRHEL5