随笔-49  评论-67  文章-27  trackbacks-0
  2006年12月20日
 

    在脚注分割线下方出现一个多余空行,无法删除。

    这时,可以将“视图”转成“普通视图”,双击正文中脚注索引,在普通视图下方会自动出现脚注窗口。或者在“引用”选项板“脚注”中选择“显示备注”,可以达到同样的效果。

    在下拉列表中选择“脚注分隔符”,此时可以对分隔符进行编辑

    此时删除多余回车就可以了。点击“默认设置”可以对脚注分隔符的默认格式进行修改。

posted @ 2010-01-10 01:09 思考 阅读(19862) | 评论 (10)编辑 收藏

这个方法也是在网上看到的,自己总结了一下,方面以后查询。

netsh interface dump > cssl.txt

这样可以在本地目录下生成一个cssl.txt文件。该文件记录了当前网络的配置情况。通过执行如下命令可以应用cssl.txt文件中的网络配置。

netsh exec cssl.txt

这样,可以写一个批处理文件完成网络配置的切换。

posted @ 2008-07-04 13:51 思考 阅读(597) | 评论 (0)编辑 收藏

1、进入命令提示符环境
2、进入DISKPART程序
3、输入AUTOMOUNT ENABLE指令
4、ok,下次USB硬盘放入后就可以像XP一样自动装载了。

posted @ 2008-06-27 16:07 思考 阅读(465) | 评论 (0)编辑 收藏

Windows 2003 server远程桌面连接数限制已经困扰很久了,给平时的维护带来麻烦。既然微软不会从根本上解决这个问题,那只有通过其他方式来减少问题的发生几率。

一、在服务器端的处理办法如下
1. 设定已经断开的会话结束时间限制,这样避免会话已经断开,但仍然占用一个Session

开始-运行-gpedit.msc-计算机配置-管理模板-windows组件-终端服务-会话,右边窗口选择"为断开的会话设置时间限制"-选择"已启用",选择一个时间;

开始-运行-gpedit.msc-计算机配置-管理模板-windows组件-终端服务-会话,右边窗口选择"到达时间限制时终止会话"-选择"已启用"。

2. 无限时保持连接会话,便于远程控制共享任意时候连接会话的数据,也就是共享任意时候连接的远程桌面的当时状态:

开始-管理工具-终端服务配置-服务器配置-限制每个用户使用一个会话

3. 养成良好习惯,退出连接时不要直接关闭,而是使用注销。

二、如果已经有多个连接存在
1 可以通过命令的方式将连接断开,这个方法在2000系统同样可用;如果在任务管理器的用户里注销的方法:

1.1 在Command Line模式下,输入命令query user:

C:\>query user

USERNAME SESSIONNAME ID STATE IDLE TIME LOGON TIME

>dfsadmin 0 Disc . 7/23/2007 7:53 PM

mrsadmin rdp-tcp#10 1 Active . 7/24/2007 9:31 AM

ID 0的用户是本地登陆的,ID 1是3389登陆的用户,正在运行中,但是仍然占用系统资源和通道,我们要把它踢掉。

1.2 可通过logoff x命令来注销id为x的登录用户。输入命令:logoff 1,再用query user查询状态

C:\>logoff 1

C:\>query user

USERNAME SESSIONNAME ID STATE IDLE TIME LOGON TIME

>dfsadmin 0 Disc none 7/23/2007 7:53 PM

三、如果连接已经受限制
此时通过远程登录,可以用一个"3389DOS版"软件来进行牵制登录。这个软件只能解决windows2003系统的限制,2000系统也没办法。

四、超过最大连接时连接
在超过最大连接数时,通过运行mstsc /v:IP /console命令就可以连接到远程系统的会话。

MSTSC [<Connection File>] [/v:<sever[:port]>] [/console] [/f[ullscreen]]

[/w:<width>/h:<height>] | /Edit"ConnectionFile" | /Migrate | /?

<Connection File>-- 指定连接的.rdp 文件的名称。

/v:<sever[:port]>-- 指定要连接到的终端服务器。

/console -- 连接到服务器的控制台会话。

/f -- 以全屏模式启动客户端。

/w: <width>-- 指定远程桌面屏幕的宽度。

/h:<height>-- 指定远程桌面屏幕的亮度。

/edit -- 打开指定的.rdp 文件来编辑。

/migrate -- 将客户端连接管理器创建的旧版连接文件迁移到新的.rdp 连接文件。

/? -- 生成这个用法消息。

posted @ 2008-06-27 16:07 思考 阅读(16676) | 评论 (0)编辑 收藏

tracert命令

C:\Documents and Settings\Administrator>tracert /?

Usage: tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout]
[-R] [-S srcaddr] [-4] [-6] target_name

Options:
-d Do not resolve addresses to hostnames.
-h maximum_hops Maximum number of hops to search for target.
-j host-list Loose source route along host-list (IPv4-only).
-w timeout Wait timeout milliseconds for each reply.
-R Trace round-trip path (IPv6-only).
-S srcaddr Source address to use (IPv6-only).
-4 Force using IPv4.
-6 Force using IPv6.

说明

tracert(跟踪路由)是路由跟踪公用程序,用于确定 IP 数据包访问目标所采取的路径。Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP错误消息来确定从一个主机到网路上其它主机的路由。

Tracert 工作原理

透过向目标发送不同 IP 生存时间 (TTL) 值的"Internet 控制消息协议 (ICMP)"回
应数据包,Tracert 诊断程序确定到目标所采取的路由。要求路径上的每个路由器在转
发数据包之前至少将数据包上的 TTL 递减 1。数据包上的 TTL 减为 0 时,路由器应
该将"ICMP已超时"的消息发回源系统。

Tracert 先发送 TTL 为 1 的响应数据包,并在随后的每次发送过程将 TTL 递增1,直
到目标响应或 TTL 达到最大值,从而确定路由。透过检查中间路由器发回的"ICMP已
超时"的消息确定路由。某些路由器不经询问直接丢弃 TTL 过期的数据包,这在Trac
ert 公用程序中看不到。

posted @ 2008-06-27 16:07 思考 阅读(390) | 评论 (0)编辑 收藏

id命令

显示用户信息

oracle:~ # id

uid=0(root) gid=0(root) groups=0(root)

oracle:~ # id esecadm

uid=1000(esecadm) gid=1000(esec) groups=1000(esec),16(dialout),33(video)

groups命令

显示组信息

oracle:~ # groups

root

oracle:~ # groups esecadm

esecadm : esec dialout video

finger命令

显示用户信息

oracle:~ # finger

Login Name Tty Idle Login Time Where

root root pts/0 - Sat 22:16 192.168.100.1

oracle:~ # finger esecadm

Login: esecadm Name:

Directory: /export/home/esecadm Shell: /bin/bash

Never logged in.

No Mail.

No Plan.

oracle:~ # finger root

Login: root Name: root

Directory: /root Shell: /bin/bash

On since Sat Jun 21 22:16 (CST) on pts/0 from 192.168.100.1

New mail received Sat Jun 21 22:09 2008 (CST)

Unread since Fri Jun 20 09:21 2008 (CST)

No Plan.

/etc/paswd

所有用户的信息都存放在该文件中。该文件中每行都代表以该用户,每行的格式如下图所示。因为该文件是所有用户都可以读的,为了系统安全,将用户的口令信息放置在另一文件中。

/etc/shadow

该文件中存放有加密的用户口令信息,并且该文件只有root可读的。

如果用户口令字段是空、*或者!,说明用户不能登录系统。需要通过passwd给用户提供密码,这时用户才能登录系统。

ssh登录

默认情况下,只有root用户可以通过ssh远程登录系统。为了使其它用户登录,需要修改/etc/ssh/sshd_config文件。在文件中加入下面一行:

AllowUsers root esecadm

后面可以跟若干用户,其间用空格分开。

posted @ 2008-06-22 01:52 思考 阅读(2688) | 评论 (0)编辑 收藏

Sentinel 6安装

Sentinel有两种安装方式,一种是通过命令行的方式,一种是通过GUI的方式。本文主要介绍以命令行方式安装Sentinel 6的方法。

首先,在命令行中输入setup.sh -console,则打开安装程序。

oracle:/media/cdrom # ./setup.sh -console

Installing Sentinel Suite in console mode ...

安装程序首先启动JVM装载安装程序。这里需要等待一段时间。

Initializing Wizard........

Launching InstallShield Wizard........

紧接着是选择安装语言,默认是英文。

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

Select a language to be used for this wizard.

[X] 1 - English

[ ] 2 - French

[ ] 3 - German

[ ] 4 - Italian

[ ] 5 - Portuguese (Brazil)

[ ] 6 - Spanish

[ ] 7 - Simplified Chinese

[ ] 8 - Traditional Chinese

[ ] 9 - Japanese

To select an item enter its number, or 0 when you are finished: [0]

下面英文界面的安装向导将出现,回车继续安装。

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

Sentinel 6 - InstallShield Wizard

Welcome to the InstallShield Wizard for Sentinel 6

The InstallShield Wizard will install Sentinel 6 on your computer.

To continue, choose Next.

Sentinel 6

Novell, Inc.

www.Novell.com

Press 1 for Next, 3 to Cancel or 5 to Redisplay [1]

接下来是安装向导提示的Sentinel 6的许可证信息,选择q退出阅读即可。

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

Sentinel 6 - InstallShield Wizard

Please read the following license agreement carefully.

Novell Sentinel 6

Novell Sentinel 6.0

Novell Software License Agreement

PLEASE READ THIS AGREEMENT CAREFULLY. BY INSTALLING, DOWNLOADING OR OTHERWISE

USING THE SOFTWARE, YOU AGREE TO THE TERMS OF THIS AGREEMENT. IF YOU DO NOT

AGREE WITH THESE TERMS, DO NOT DOWNLOAD, INSTALL OR USE THE SOFTWARE. THE

SOFTWARE MAY NOT BE SOLD, TRANSFERRED, OR FURTHER DISTRIBUTED EXCEPT AS

AUTHORIZED BY NOVELL.

This Novell Software License Agreement (Agreement) is a legal agreement between

You (an entity or a person) and Novell, Inc. (Novell). The software product

Press ENTER to read the text [Type q to quit] q

接下来,选择1,回车,同意该许可信息。再按回车继续。

Please choose from the following options:

[ ] 1 - I accept the terms of the license agreement.

[X] 2 - I do not accept the terms of the license agreement.

To select an item enter its number, or 0 when you are finished: [0] 1

[X] 1 - I accept the terms of the license agreement.

[ ] 2 - I do not accept the terms of the license agreement.

To select an item enter its number, or 0 when you are finished: [0]

Press 1 for Next, 2 for Previous, 3 to Cancel or 5 to Redisplay [1]

紧接着安装向导提示选择Sentinel 6的安装位置。

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

Sentinel 6 - InstallShield Wizard

Sentinel 6 Install Location

Please specify a directory or press Enter to accept the default directory.

Destination Directory [/opt/novell/sentinel6]

Press 1 for Next, 2 for Previous, 3 to Cancel or 5 to Redisplay [1]

接下来选择Sentinel的安装方式。因为这里我们只是用作测试,并安装在虚拟机上,因此选择简单方式。这时,Sentinel的所有组件将被安装在同一台电脑上。

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

Sentinel 6 - InstallShield Wizard

Choose the installation type that best suits your needs.

[ ] 1 - Simple

All-In-One easy installation.

[X] 2 - Custom

Allows the user to configure a custom installation.

Select the number corresponding to the type of install you would like. Enter 0

to continue: [0]1

[X] 1 - Simple

All-In-One easy installation.

[ ] 2 - Custom

Allows the user to configure a custom installation.

Select the number corresponding to the type of install you would like. Enter 0

to continue: [0]

Press 1 for Next, 2 for Previous, 3 to Cancel or 5 to Redisplay [1]

输入Sentinel 6的安装序列号:12345678和许可证:19c3d24adc1df104。输入后,系统会提示这是一个临时许可证,将在2009年5月31日过期。

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

Sentinel 6 - InstallShield Wizard

Serial Number: [] 12345678

License Key: [] 19c3d24adc1df104

You have entered a temporary license key. If a new license key is not provided,

this software will automatically disable itself after the expiration date :

'5/31/09'

[OK]

紧接着系统会询问SMTP服务器和发送邮件的邮件地址信息,默认是本地的SMTP服务器和esecadm。

SMTP Server: [localhost]

E-mail: [esecadm]

下面将询问是否安装Advisor,这里我们不进行安装。

Do you wish to install 'Advisor'?

1. Yes

2. No

Enter one of the options above: [2]

之后,系统会提示输入全局系统口令。其中包括Sentinel管理员用户和数据库用户的口令。并制定数据库用户的用户名,默认是oracle。

Global System Password (used for all Sentinel users)

Password:

Confirm Password:

Press 1 for Next, 2 for Previous, 3 to Cancel or 5 to Redisplay [1]

Specify the Oracle username [oracle]

Specify the Oracle username

[OK]

选择已经安装的Oracle版本,选择2并继续。

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

Sentinel 6 - InstallShield Wizard

Select the target database server platform:

1. Oracle 9i

2. Oracle 10g

Enter one of the options above: [1] 2

Oracle JDBC Driver File: [] /opt/oracle/product/10gR2/db/jdbc/lib/ojdbc14.jar

Database Name: [ESEC]

Press 1 for Next, 2 for Previous, 3 to Cancel or 5 to Redisplay [1]

接下来将显示前面配置的Oracle安装信息。

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

Sentinel 6 - InstallShield Wizard

Oracle Configuration

SUMMARY

An Oracle database will be created with the following parameters

A new instance will be created named: ESEC.

This database will have a total size of: 10000 MB.

Data file locations are as follows

Data Files: /opt/novell/sentinel6/database

Index Files: /opt/novell/sentinel6/database

Summary Data Files: /opt/novell/sentinel6/database

Summary Index Files: /opt/novell/sentinel6/database

Temporary Files: /opt/novell/sentinel6/database

Redo Logs A: /opt/novell/sentinel6/database

Redo Logs B: /opt/novell/sentinel6/database

The database will listen on port: 1521

The database will use 256 MB of system memory.

The schema will be owned by: esecdba

The application user will be: esecapp

The Sentinel Administrator will be: esecadm

Press 1 for Next, 2 for Previous, 3 to Cancel or 5 to Redisplay [1]

接下来,将显示Sentinel 6的安装信息,回车继续。

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

Sentinel 6 - InstallShield Wizard

Sentinel 6 will be installed in the following location:

/opt/novell/sentinel6

with the following features:

Database

Sentinel Services

Communication Server

Correlation Engine

Data Access Server

Sentinel Collector Service

Applications

Sentinel Control Center

Sentinel Data Manager

for a total size:

460.2 MB

Press 1 for Next, 2 for Previous, 3 to Cancel or 5 to Redisplay [1]

系统收集完上述信息之后将进行安装,下面是安装时的显示信息。安装时间比较长,跟机器的性能有关。在我的电脑上安装大概进行了40分钟,包括数据库、分区和Sentinel产品各组件的安装。

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

Sentinel 6 - InstallShield Wizard

Installing Sentinel Database. Please wait...

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

Sentinel 6 - InstallShield Wizard

Adding enough partitions for '10' days. Please wait...

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

Sentinel 6 - InstallShield Wizard

Installing Sentinel 6. Please wait...

|-----------|-----------|-----------|------------|

0% 25% 50% 75% 100%

||||||||||||||||||||||||||||||||||||||||||||||||||

Creating uninstaller...

Finalizing the Vital Product Data Registry. Please wait...

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

Sentinel 6 - InstallShield Wizard

Setting JVM permissions...

|-----------|-----------|-----------|------------|

0% 25% 50% 75% 100%

||||||||||||||||||||||||||||||||||||||||||||||||||

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

Sentinel 6 - InstallShield Wizard

Installing Sentinel Communication Server. Please wait...

|-----------|-----------|-----------|------------|

0% 25% 50% 75% 100%

||||||||||||||||||||||||||||||||||||||||||||||||||

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

Sentinel 6 - InstallShield Wizard

Installing Sentinel Communication Server. Please wait...

|-----------|-----------|-----------|------------|

0% 25% 50% 75% 100%

||||||||||||||||||||||||||||||||||||||||||||||||||

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

Sentinel 6 - InstallShield Wizard

Setting permissions on installed files...

|-----------|-----------|-----------|------------|

0% 25% 50% 75% 100%

||||||||||||||||||||||||||||||||||||||||||||||||||

Updating container configuration file. Please wait...

Updating container configuration file. Please wait...

Updating container configuration file. Please wait...

Updating container configuration file. Please wait...

Updating container configuration file. Please wait...

Updating container configuration file. Please wait...

Updating container configuration file. Please wait...

Updating container configuration file. Please wait...

Updating container configuration file. Please wait...

Updating container configuration file. Please wait...

Updating container configuration file. Please wait...

Updating container configuration file. Please wait...

Updating container configuration file. Please wait...

Updating container configuration file. Please wait...

Updating container configuration file. Please wait...

Updating container configuration file. Please wait...

Updating container configuration file. Please wait...

Updating container configuration file. Please wait...

Updating container configuration file. Please wait...

Updating container configuration file. Please wait...

Updating container configuration file. Please wait...

Updating container configuration file. Please wait...

Updating container configuration file. Please wait...

Updating container configuration file. Please wait...

Updating container configuration file. Please wait...

Updating container configuration file. Please wait...

Updating container configuration file. Please wait...

Updating container configuration file. Please wait...

Updating container configuration file. Please wait...

Updating container configuration file. Please wait...

Updating container configuration file. Please wait...

Updating container configuration file. Please wait...

Updating container configuration file. Please wait...

Updating container configuration file. Please wait...

Updating container configuration file. Please wait...

Updating container configuration file. Please wait...

Updating container configuration file. Please wait...

Updating container configuration file. Please wait...

Updating container configuration file. Please wait...

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

Sentinel 6 - InstallShield Wizard

Setting permissions on installed files...

|-----------|-----------|-----------|------------|

0% 25% 50% 75% 100%

||||||||||||||||||||||||||||||||||||||||||||||||||

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

Sentinel 6 - InstallShield Wizard

Setting permissions on installed files...

|-----------|-----------|-----------|------------|

0% 25% 50% 75% 100%

||||||||||||||||||||||||||||||||||||||||||||||||||

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

Sentinel 6 - InstallShield Wizard

The InstallShield Wizard has successfully installed Sentinel 6. Choose Finish

to exit the wizard.

Press 3 to Finish or 5 to Redisplay [3]

最后,系统提示需要重新启动系统才能完成安装。

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

Sentinel 6 - InstallShield Wizard

The wizard requires that you logout and log back in. To start Sentinel 6

processes, reboot the machine or log back in and start them manually.

Press 3 to Finish or 5 to Redisplay [3]

Sentinel数据库安装好了之后,会在系统中创建如下用户:

esecdba:数据库Schema所有者,出于安全考虑,该用户并未授予数据库DBA的特权

esecapp:数据库应用程序用户,该用户用来连接数据库

esecadm:Sentinel管理员的数据库用户,该用户不同于Sentinel管理员的操作系统用户

esecrpt:数据库报告用户

posted @ 2008-06-21 20:24 思考 阅读(501) | 评论 (0)编辑 收藏

安装SLES 10 x86_64

分区时使用Ext3文件系统;

选择软件包时,选择"Oracle Server Base"和"C/C++ Compiler and Tools",同时保证选择了"32Bit Runtime Environment";下面是软件包选择的一个截图。

安装SLES 10的Server Pack

使用SPident或者"cat /etc/SuSE-release"来校验

oracle:~ # cat /etc/SuSE-release

SUSE Linux Enterprise Server 10 (x86_64)

VERSION = 10

PATCHLEVEL = 2

oracle:~ # SPident -v

Summary (using 890 packages)

Product/ServicePack conflict match update (shipped)

SLE-10-x86_64 0 0% 325 36.5% 0 (2754 11.8%)

SLE-10-x86_64-SP1 0 0% 470 52.8% 0 (2938 16.0%)

SLE-10-x86_64-SP2 0 0% 889 99.9% 0 (2337 38.0%)

Unknown 1 0.1%

CONCLUSION: System is up-to-date!

found SLE-10-x86_64-SP2

Oracle安装先决条件

SuSE提供了orarun来自动完成很多Oracle预安装的任务。为了下面安装Oracle,需要进行如下配置。

激活oracle用户

在安装了Oracle Server Base之后,系统就自动创建了oracle用户。但是,默认的该用户是被禁用了的。

oracle:~ # vim /etc/passwd

oracle:x:103:106:Oracle user:/opt/oracle:/bin/false

为此,我们需要激活该用户。手工编辑/etc/passwd文件:

oracle:x:103:106:Oracle user:/opt/oracle:/bin/bash

修改oracle用户口令

oracle:~ # passwd oracle

Changing password for oracle.

New Password:

Bad password: too simple

Reenter New Password:

Password changed.

修改Oracle环境变量

编辑/etc/profile.d/oracle.sh文件中Oracle的环境变量如下:

oracle:~ # vim /etc/profile.d/oracle.sh

# ORACLE_HOME=$ORACLE_BASE/product/10.2/db_1

ORACLE_HOME=$ORACLE_BASE/product/10gR2/db

ORACLE_SID=ESEC

修改ORACLE_HOME和ORACLE_SID环境变量。

设置内核参数

运行rcoracle start命令设置内核参数。因为还没有安装Oracle数据库,忽略期间报的错误。

oracle:~ # rcoracle start

#############################################################################

# Begin of O R A C L E startup section #

#############################################################################

Oracle Database Software not yet installed!

SETTINGS start from /etc/sysconfig/oracle

- Set Kernel Parameters for Oracle: yes

- Start Oracle Listener: no

- Start Oracle Database: no

- Start Oracle Webserver: no

- Start Oracle EManager: no

- Start Oracle iSQLPLUS Manager: no

- Start Oracle Agent: no

- Start Oracle Internet Filesystem: no

- Start Oracle Directory Manager: no

Oracle Agent undefinied or not properly set. Please check.

Setting kernel parameters for Oracle, see file

/etc/sysconfig/oracle for explanations.

Shared memory: SHMMAX=3294967296 SHMMNI=4096 SHMALL=2097152

Semaphore values: SEMMSL=1250 SEMMNS=32000 SEMOPM=100 SEMMNI=256

Other values: FILE_MAX_KERNEL=131072 IP_LOCAL_PORT_RANGE=1024 65000

RMEM_DEFAULT=4194304 WMEM_DEFAULT=262144 RMEM_MAX=4194304 WMEM_MAX=262144

Huge Pages: SHM_GROUP=dba NR_HUGE_PAGES=0

ULIMIT values: MAX_CORE_FILE_SIZE_SHELL=unlimited

FILE_MAX_SHELL=65536 PROCESSES_MAX_SHELL=16384

Kernel parameters set for Oracle: done

- Starting Listener... unused

+ Starting Database(s)...

unused

- Starting Apache... unused

- Starting Application Server... unused

- Starting Application Server Console... unused

- Starting Agent... unused

- Starting Enterprise Manager... unused

- Starting iSQLPLUS Manager... unused

- Starting Oracle Internet Filesystem... unused

- Starting Oracle Internet Directory... unused

#############################################################################

# End of O R A C L E section #

#############################################################################

检验oracle用户

oracle:~ # su oracle

oracle@oracle:/root> id

uid=103(oracle) gid=106(oinstall) groups=106(oinstall),107(dba)

安装Oracle 10g

解压Oracle软件

#gunzip 10201_database_linux_x86_64.cpio.gz

#cpio -idmv < 10201_database_linux_x86_64.cpio

安装Oracle 10g SP2

确保使用oracle用户登录系统,必须使用图形界面进行安装。为了在SuSE 10上安装Oracle 10g,必须手工修改安装配置文件,以确保Oracle支持SuSE 10系统。在Oracle安装文件路径下编辑文件:

vim install/oraparam.ini

[Certified Versions]

Linux=redhat-3,SuSE-9,SuSE-10,redhat-4,UnitedLinux-1.0,asianux-1,asianux-2

选择高级安装

选择默认的Inventory目录

选择安装企业版

在安装之前,Oracle会检查系统设置灯信息是否符合要求。我们将检查未成功的选择为"User Verified"。

选择"Install database Software only"

查看安装概要并选择安装

下面是安装进程。

在安装结束之前,系统会提示使用root用户登录,执行下面脚本。

使用另一个窗口登录,执行脚本。

选择"Exit"完成安装。

安装补丁

在Novell官方的文档中,Sentinel需要Oracle安装补丁10.2.0.3。从metalink网站上下载Oracle的补丁p5337014_10203_Linux-x86-64.zip。该补丁有1G多,而且下载时需要metalink的帐号才能下载。

下载后解压,并确保使用oracle用户运行Disk1中的runInstaller进行安装。跟安装Oracle 10g时一样,安装程序首先要检查系统兼容性,为了在SLES 10上安装,需要修改配置文件,使之支持在SuSE 10上的安装。修改方法与Oracle 10g安装时的一样。

下图是安装时的欢迎界面。

首先现在Oracle 10g的安装目录。

接下来,是安装的信息。确认后执行安装。

下图是安装进度。

安装结束前,提示需要用户以root身份手工执行root.sh脚本。

打开另一个窗口,执行ORACLE_HOME目录下的root.sh脚本。

执行完脚本后,点击"OK",系统提示完成补丁安装,点击"Exit"退出系统安装。

应用关键补丁

下面,需要通过opatch工具安装Oracle的关键补丁。同样,首先从metalink网站上下载补丁:p5881721_10203_Linux-x86-64.zip并解压。请确保使用oralce用户进行下面的操作。

进入5881721目录,运行$ORACLE_HOME/OPatch/opatch apply -local。下图是安装过程。

输入y之后继续安装。

y

User Responded with: Y

Backing up files and inventory (not for auto-rollback) for the Oracle Home

Backing up files affected by the patch '5881721' for restore. This might take a while...

Backing up files affected by the patch '5881721' for rollback. This might take a while...

Execution of 'sh /mnt/hgfs/oracle/Oracle10g/Linux/patch/p5881721_10203_Linux-x86-64/5881721/custom/scripts/pre -apply 5881721 ':

Return Code = 0

Patching component oracle.sysman.repository.core, 10.2.0.3.0a...

Updating jar file "/opt/oracle/product/10gR2/db/sysman/jlib/emDB.jar" with "/sysman/jlib/emDB.jar/oracle/sysman/emo/util/DBVerify.class"

Updating jar file "/opt/oracle/product/10gR2/db/sysman/jlib/emDB.jar" with "/sysman/jlib/emDB.jar/oracle/sysman/emo/util/dbclone/DBCloneObject.class"

Updating jar file "/opt/oracle/product/10gR2/db/sysman/jlib/emDB.jar" with "/sysman/jlib/emDB.jar/oracle/sysman/emo/util/dbclone/DBCloneVerify.class"

Patching component oracle.sysman.bsln, 10.2.0.3.0...

Updating jar file "/opt/oracle/product/10gR2/db/sysman/jlib/emCORE.jar" with "/sysman/jlib/emCORE.jar/oracle/sysman/emSDK/chart/EmChartBean.class"

Updating jar file "/opt/oracle/product/10gR2/db/sysman/jlib/emCORE.jar" with "/sysman/jlib/emCORE.jar/oracle/sysman/emSDK/svlt/RedirectServlet.class"

Patching component oracle.sysman.agent.core, 10.2.0.3.0a...

Updating archive file "/opt/oracle/product/10gR2/db/sysman/lib32/libnmem.a" with "sysman/lib32/libnmem.a/nmemdisp.o"

Updating archive file "/opt/oracle/product/10gR2/db/sysman/lib32/libnmexml.a" with "sysman/lib32/libnmexml.a/nmex.o"

Updating archive file "/opt/oracle/product/10gR2/db/sysman/lib32/libnmehl.a" with "sysman/lib32/libnmehl.a/nmehl.o"

Patching component oracle.rdbms, 10.2.0.3.0...

Updating archive file "/opt/oracle/product/10gR2/db/lib/libserver10.a" with "lib/libserver10.a/qmurd.o"

Copying file to "/opt/oracle/product/10gR2/db/cpu/CPUJan2007/catcpu.sql"

Copying file to "/opt/oracle/product/10gR2/db/cpu/CPUJan2007/catcpu_rollback.sql"

ApplySession adding interim patch '5881721' to inventory

Verifying the update...

Inventory check OK: Patch ID 5881721 is registered in Oracle Home inventory with proper meta-data.

Files check OK: Files from Patch ID 5881721 are present in Oracle Home.

--------------------------------------------------------------------------------****************************************************************************************************************************************************************** ATTENTION **** **** Please note that the Security Patch Installation (Patch Deinstallation) is **** not complete until all the Post Installation (Post Deinstallation) **** instructions noted in the Readme accompanying this patch, have been **** successfully completed. **** ******************************************************************************************************************************************************************

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

Execution of 'sh /mnt/hgfs/oracle/Oracle10g/Linux/patch/p5881721_10203_Linux-x86-64/5881721/custom/scripts/post -apply 5881721 ':

Return Code = 0

Running make for target libnmemso

Running make for target ioracle

The local system has been patched and can be restarted.

OPatch succeeded.

最后,通过$ORACLE_HOME/OPatch/opatch lsinventory命令进行补丁状态检查。

oracle@oracle:/mnt/hgfs/oracle/Oracle10g/Linux/patch/p5881721_10203_Linux-x86-64/5881721> /opt/oracle/product/10gR2/db/OPatch/opatch lsinventory

Invoking OPatch 10.2.0.3.0

Oracle interim Patch Installer version 10.2.0.3.0

Copyright (c) 2005, Oracle Corporation. All rights reserved..

Oracle Home : /opt/oracle/product/10gR2/db

Central Inventory : /opt/oracle/oraInventory

from : /etc/oraInst.loc

OPatch version : 10.2.0.3.0

OUI version : 10.2.0.3.0

OUI location : /opt/oracle/product/10gR2/db/oui

Log file location : /opt/oracle/product/10gR2/db/cfgtoollogs/opatch/opatch2008-06-20_14-33-53PM.log

Lsinventory Output file location : /opt/oracle/product/10gR2/db/cfgtoollogs/opatch/lsinv/lsinventory2008-06-20_14-33-53PM.txt

--------------------------------------------------------------------------------Installed Top-level Products (2):

Oracle Database 10g 10.2.0.1.0

Oracle Database 10g Release 2 Patch Set 2 10.2.0.3.0

There are 2 products installed in this Oracle Home.

Interim patches (3) :

Patch 5881721 : applied on Fri Jun 20 14:26:08 GMT+08:00 2008

Created on 19 Feb 2007, 02:16:34 hrs US/Pacific

Bugs fixed:

5885186, 5881721

Patch 5556081 : applied on Fri Jun 20 11:51:55 GMT+08:00 2008

Created on 9 Nov 2006, 22:20:50 hrs PST8PDT

Bugs fixed:

5556081

Patch 5557962 : applied on Fri Jun 20 11:51:46 GMT+08:00 2008

Created on 9 Nov 2006, 23:23:06 hrs PST8PDT

Bugs fixed:

4269423, 5557962, 5528974

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

OPatch succeeded.

如果成功,将出现"OPatch succeeded."字样。

至此,针对Sentinel 6的Oracle安装已经完成。接下来就是进行Sentinel产品的安装。

安装SLES 10的Server Pack

使用SPident或者"cat /etc/SuSE-release"来校验

oracle:~ # cat /etc/SuSE-release

SUSE Linux Enterprise Server 10 (x86_64)

VERSION = 10

PATCHLEVEL = 2

oracle:~ # SPident -v

Summary (using 890 packages)

Product/ServicePack conflict match update (shipped)

SLE-10-x86_64 0 0% 325 36.5% 0 (2754 11.8%)

SLE-10-x86_64-SP1 0 0% 470 52.8% 0 (2938 16.0%)

SLE-10-x86_64-SP2 0 0% 889 99.9% 0 (2337 38.0%)

Unknown 1 0.1%

CONCLUSION: System is up-to-date!

found SLE-10-x86_64-SP2

Oracle安装先决条件

SuSE提供了orarun来自动完成很多Oracle预安装的任务。为了下面安装Oracle,需要进行如下配置。

激活oracle用户

在安装了Oracle Server Base之后,系统就自动创建了oracle用户。但是,默认的该用户是被禁用了的。

oracle:~ # vim /etc/passwd

oracle:x:103:106:Oracle user:/opt/oracle:/bin/false

为此,我们需要激活该用户。手工编辑/etc/passwd文件:

oracle:x:103:106:Oracle user:/opt/oracle:/bin/bash

修改oracle用户口令

oracle:~ # passwd oracle

Changing password for oracle.

New Password:

Bad password: too simple

Reenter New Password:

Password changed.

修改Oracle环境变量

编辑/etc/profile.d/oracle.sh文件中Oracle的环境变量如下:

oracle:~ # vim /etc/profile.d/oracle.sh

# ORACLE_HOME=$ORACLE_BASE/product/10.2/db_1

ORACLE_HOME=$ORACLE_BASE/product/10gR2/db

ORACLE_SID=ESEC

修改ORACLE_HOME和ORACLE_SID环境变量。

设置内核参数

运行rcoracle start命令设置内核参数。因为还没有安装Oracle数据库,忽略期间报的错误。

oracle:~ # rcoracle start

#############################################################################

# Begin of O R A C L E startup section #

#############################################################################

Oracle Database Software not yet installed!

SETTINGS start from /etc/sysconfig/oracle

- Set Kernel Parameters for Oracle: yes

- Start Oracle Listener: no

- Start Oracle Database: no

- Start Oracle Webserver: no

- Start Oracle EManager: no

- Start Oracle iSQLPLUS Manager: no

- Start Oracle Agent: no

- Start Oracle Internet Filesystem: no

- Start Oracle Directory Manager: no

Oracle Agent undefinied or not properly set. Please check.

Setting kernel parameters for Oracle, see file

/etc/sysconfig/oracle for explanations.

Shared memory: SHMMAX=3294967296 SHMMNI=4096 SHMALL=2097152

Semaphore values: SEMMSL=1250 SEMMNS=32000 SEMOPM=100 SEMMNI=256

Other values: FILE_MAX_KERNEL=131072 IP_LOCAL_PORT_RANGE=1024 65000

RMEM_DEFAULT=4194304 WMEM_DEFAULT=262144 RMEM_MAX=4194304 WMEM_MAX=262144

Huge Pages: SHM_GROUP=dba NR_HUGE_PAGES=0

ULIMIT values: MAX_CORE_FILE_SIZE_SHELL=unlimited

FILE_MAX_SHELL=65536 PROCESSES_MAX_SHELL=16384

Kernel parameters set for Oracle: done

- Starting Listener... unused

+ Starting Database(s)...

unused

- Starting Apache... unused

- Starting Application Server... unused

- Starting Application Server Console... unused

- Starting Agent... unused

- Starting Enterprise Manager... unused

- Starting iSQLPLUS Manager... unused

- Starting Oracle Internet Filesystem... unused

- Starting Oracle Internet Directory... unused

#############################################################################

# End of O R A C L E section #

#############################################################################

检验oracle用户

oracle:~ # su oracle

oracle@oracle:/root> id

uid=103(oracle) gid=106(oinstall) groups=106(oinstall),107(dba)

安装Oracle 10g

解压Oracle软件

#gunzip 10201_database_linux_x86_64.cpio.gz

#cpio -idmv < 10201_database_linux_x86_64.cpio

安装Oracle 10g SP2

确保使用oracle用户登录系统,必须使用图形界面进行安装。为了在SuSE 10上安装Oracle 10g,必须手工修改安装配置文件,以确保Oracle支持SuSE 10系统。在Oracle安装文件路径下编辑文件:

vim install/oraparam.ini

[Certified Versions]

Linux=redhat-3,SuSE-9,SuSE-10,redhat-4,UnitedLinux-1.0,asianux-1,asianux-2

选择高级安装

选择默认的Inventory目录

选择安装企业版

在安装之前,Oracle会检查系统设置灯信息是否符合要求。我们将检查未成功的选择为"User Verified"。

选择"Install database Software only"

查看安装概要并选择安装

下面是安装进程。

在安装结束之前,系统会提示使用root用户登录,执行下面脚本。

使用另一个窗口登录,执行脚本。

选择"Exit"完成安装。

安装补丁

在Novell官方的文档中,Sentinel需要Oracle安装补丁10.2.0.3。从metalink网站上下载Oracle的补丁p5337014_10203_Linux-x86-64.zip。该补丁有1G多,而且下载时需要metalink的帐号才能下载。

下载后解压,并确保使用oracle用户运行Disk1中的runInstaller进行安装。跟安装Oracle 10g时一样,安装程序首先要检查系统兼容性,为了在SLES 10上安装,需要修改配置文件,使之支持在SuSE 10上的安装。修改方法与Oracle 10g安装时的一样。

下图是安装时的欢迎界面。

首先现在Oracle 10g的安装目录。

接下来,是安装的信息。确认后执行安装。

下图是安装进度。

安装结束前,提示需要用户以root身份手工执行root.sh脚本。

打开另一个窗口,执行ORACLE_HOME目录下的root.sh脚本。

执行完脚本后,点击"OK",系统提示完成补丁安装,点击"Exit"退出系统安装。

应用关键补丁

下面,需要通过opatch工具安装Oracle的关键补丁。同样,首先从metalink网站上下载补丁:p5881721_10203_Linux-x86-64.zip并解压。请确保使用oralce用户进行下面的操作。

进入5881721目录,运行$ORACLE_HOME/OPatch/opatch apply -local。下图是安装过程。

输入y之后继续安装。

y

User Responded with: Y

Backing up files and inventory (not for auto-rollback) for the Oracle Home

Backing up files affected by the patch '5881721' for restore. This might take a while...

Backing up files affected by the patch '5881721' for rollback. This might take a while...

Execution of 'sh /mnt/hgfs/oracle/Oracle10g/Linux/patch/p5881721_10203_Linux-x86-64/5881721/custom/scripts/pre -apply 5881721 ':

Return Code = 0

Patching component oracle.sysman.repository.core, 10.2.0.3.0a...

Updating jar file "/opt/oracle/product/10gR2/db/sysman/jlib/emDB.jar" with "/sysman/jlib/emDB.jar/oracle/sysman/emo/util/DBVerify.class"

Updating jar file "/opt/oracle/product/10gR2/db/sysman/jlib/emDB.jar" with "/sysman/jlib/emDB.jar/oracle/sysman/emo/util/dbclone/DBCloneObject.class"

Updating jar file "/opt/oracle/product/10gR2/db/sysman/jlib/emDB.jar" with "/sysman/jlib/emDB.jar/oracle/sysman/emo/util/dbclone/DBCloneVerify.class"

Patching component oracle.sysman.bsln, 10.2.0.3.0...

Updating jar file "/opt/oracle/product/10gR2/db/sysman/jlib/emCORE.jar" with "/sysman/jlib/emCORE.jar/oracle/sysman/emSDK/chart/EmChartBean.class"

Updating jar file "/opt/oracle/product/10gR2/db/sysman/jlib/emCORE.jar" with "/sysman/jlib/emCORE.jar/oracle/sysman/emSDK/svlt/RedirectServlet.class"

Patching component oracle.sysman.agent.core, 10.2.0.3.0a...

Updating archive file "/opt/oracle/product/10gR2/db/sysman/lib32/libnmem.a" with "sysman/lib32/libnmem.a/nmemdisp.o"

Updating archive file "/opt/oracle/product/10gR2/db/sysman/lib32/libnmexml.a" with "sysman/lib32/libnmexml.a/nmex.o"

Updating archive file "/opt/oracle/product/10gR2/db/sysman/lib32/libnmehl.a" with "sysman/lib32/libnmehl.a/nmehl.o"

Patching component oracle.rdbms, 10.2.0.3.0...

Updating archive file "/opt/oracle/product/10gR2/db/lib/libserver10.a" with "lib/libserver10.a/qmurd.o"

Copying file to "/opt/oracle/product/10gR2/db/cpu/CPUJan2007/catcpu.sql"

Copying file to "/opt/oracle/product/10gR2/db/cpu/CPUJan2007/catcpu_rollback.sql"

ApplySession adding interim patch '5881721' to inventory

Verifying the update...

Inventory check OK: Patch ID 5881721 is registered in Oracle Home inventory with proper meta-data.

Files check OK: Files from Patch ID 5881721 are present in Oracle Home.

--------------------------------------------------------------------------------****************************************************************************************************************************************************************** ATTENTION **** **** Please note that the Security Patch Installation (Patch Deinstallation) is **** not complete until all the Post Installation (Post Deinstallation) **** instructions noted in the Readme accompanying this patch, have been **** successfully completed. **** ******************************************************************************************************************************************************************

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

Execution of 'sh /mnt/hgfs/oracle/Oracle10g/Linux/patch/p5881721_10203_Linux-x86-64/5881721/custom/scripts/post -apply 5881721 ':

Return Code = 0

Running make for target libnmemso

Running make for target ioracle

The local system has been patched and can be restarted.

OPatch succeeded.

最后,通过$ORACLE_HOME/OPatch/opatch lsinventory命令进行补丁状态检查。

oracle@oracle:/mnt/hgfs/oracle/Oracle10g/Linux/patch/p5881721_10203_Linux-x86-64/5881721> /opt/oracle/product/10gR2/db/OPatch/opatch lsinventory

Invoking OPatch 10.2.0.3.0

Oracle interim Patch Installer version 10.2.0.3.0

Copyright (c) 2005, Oracle Corporation. All rights reserved..

Oracle Home : /opt/oracle/product/10gR2/db

Central Inventory : /opt/oracle/oraInventory

from : /etc/oraInst.loc

OPatch version : 10.2.0.3.0

OUI version : 10.2.0.3.0

OUI location : /opt/oracle/product/10gR2/db/oui

Log file location : /opt/oracle/product/10gR2/db/cfgtoollogs/opatch/opatch2008-06-20_14-33-53PM.log

Lsinventory Output file location : /opt/oracle/product/10gR2/db/cfgtoollogs/opatch/lsinv/lsinventory2008-06-20_14-33-53PM.txt

--------------------------------------------------------------------------------Installed Top-level Products (2):

Oracle Database 10g 10.2.0.1.0

Oracle Database 10g Release 2 Patch Set 2 10.2.0.3.0

There are 2 products installed in this Oracle Home.

Interim patches (3) :

Patch 5881721 : applied on Fri Jun 20 14:26:08 GMT+08:00 2008

Created on 19 Feb 2007, 02:16:34 hrs US/Pacific

Bugs fixed:

5885186, 5881721

Patch 5556081 : applied on Fri Jun 20 11:51:55 GMT+08:00 2008

Created on 9 Nov 2006, 22:20:50 hrs PST8PDT

Bugs fixed:

5556081

Patch 5557962 : applied on Fri Jun 20 11:51:46 GMT+08:00 2008

Created on 9 Nov 2006, 23:23:06 hrs PST8PDT

Bugs fixed:

4269423, 5557962, 5528974

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

OPatch succeeded.

如果成功,将出现"OPatch succeeded."字样。

至此,针对Sentinel 6的Oracle安装已经完成。接下来就是进行Sentinel产品的安装。

posted @ 2008-06-21 20:14 思考 阅读(2250) | 评论 (0)编辑 收藏

在suse中设置用字符界面启动,第一个终端下面有特效。今天无意中看到在哪里可以改。记下来。
/etc/sysconfig/bootsplash

## Path:        System/Boot
## Description: selects bootsplash graphics theme
## Type:        string
## Default:     SuSE-SLES
# Choose the bootsplash theme. It should be based in
# /etc/bootsplash/themes/
THEME="SuSE-SLES"
## Path:        System/Boot
## Description: enables/disables bootup graphics
## Type:        yesno
## Default:     yes
#
# SPLASH can be set to "no" to turn off the splash-screen on console 1
# at boot time (after kernel load).
#
# SPLASH=no to disable the splash screen
#
# SPLASH=yes to show the splash screen
#
SPLASH="yes"

posted @ 2007-09-15 18:58 思考 阅读(532) | 评论 (1)编辑 收藏
     摘要: 网上有很多源代码可以实现Base64编码的转换,但是主要是对中文转换的时候有问题。 后来在网上找了很多资料,发现原来在Java默认的实现机制中,内部使用UTF-16编码,而所有算法是针对英文UTF-8的。因此,在对中文字符串转换的过程中会出现截取错误。后来在源代码的基础上进行了小的调整,最好可以实现Base64编码。 下面贴出一个实现代码:   1package ...  阅读全文
posted @ 2007-09-15 18:40 思考 阅读(7708) | 评论 (5)编辑 收藏
suse:~ # help test
test: test [expr]
    Exits with a status of 0 (true) or 1 (false) depending on
    the evaluation of EXPR.  Expressions may be unary or binary.  Unary
    expressions are often used to examine the status of a file.  There
    are string operators as well, and numeric comparison operators.
   
    File operators:
   
        -a FILE        True if file exists.
        -b FILE        True if file is block special.
        -c FILE        True if file is character special.
        -d FILE        True if file is a directory.
        -e FILE        True if file exists.
        -f FILE        True if file exists and is a regular file.
        -g FILE        True if file is set-group-id.
        -h FILE        True if file is a symbolic link.
        -L FILE        True if file is a symbolic link.
        -k FILE        True if file has its `sticky' bit set.
        -p FILE        True if file is a named pipe.
        -r FILE        True if file is readable by you.
        -s FILE        True if file exists and is not empty.
        -S FILE        True if file is a socket.
        -t FD          True if FD is opened on a terminal.
        -u FILE        True if the file is set-user-id.
        -w FILE        True if the file is writable by you.
        -x FILE        True if the file is executable by you.
        -O FILE        True if the file is effectively owned by you.
        -G FILE        True if the file is effectively owned by your group.
        -N FILE        True if the file has been modified since it was last read.
   
      FILE1 -nt FILE2  True if file1 is newer than file2 (according to
                       modification date).
   
      FILE1 -ot FILE2  True if file1 is older than file2.
   
      FILE1 -ef FILE2  True if file1 is a hard link to file2.
   
    String operators:
   
        -z STRING      True if string is empty.
   
        -n STRING
        STRING         True if string is not empty.
   
        STRING1 = STRING2
                       True if the strings are equal.
        STRING1 != STRING2
                       True if the strings are not equal.
        STRING1 < STRING2
                       True if STRING1 sorts before STRING2 lexicographically.
        STRING1 > STRING2
                       True if STRING1 sorts after STRING2 lexicographically.
   
    Other operators:
   
        -o OPTION      True if the shell option OPTION is enabled.
        ! EXPR         True if expr is false.
        EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.
        EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.
   
        arg1 OP arg2   Arithmetic tests.  OP is one of -eq, -ne,
                       -lt, -le, -gt, or -ge.
   
    Arithmetic binary operators return true if ARG1 is equal, not-equal,
    less-than, less-than-or-equal, greater-than, or greater-than-or-equal
    than ARG2.
posted @ 2007-08-12 10:38 思考 阅读(247) | 评论 (0)编辑 收藏
在SuSE Linux Enterprise Server 9上安装Oracle9i后,及时使用了安装了orarun-1.8-109.15.i586.rpm包,也无法正常启动。

后来跟踪了启动的Shell脚本,最后发现是需要更改$ORACLE_HOME/bin/dbstart文件。在该文件中,定义变量PFILE:
PFILE=${ORACLE_HOME}/dbs/init${ORACLE_SID}.ora
其中,在Oracle9i中已经通过spfile${ORACLE_SID}.ora。因此,将PFILE变量修改为:
PFILE=${ORACLE_HOME}/dbs/spfile${ORACLE_SID}.ora
同时,为了可以在关机的时候关闭数据库,同时在$ORACLE_HOME/bin/dbshut文件中对应的位置也需要修改PFILE文件的定义。

另外,还有一种方法,就是生成pfile。用sqlplus连接数据库,
conn / as sysdba
create pfile from spfile;
这样,就会参考${ORACLE_HOME}/dbs/spfileora9i.ora生成initora9i.ora这个pfile。这样就不用改启动脚本文件了。

以上两种方法已经证明都可以正常工作。
posted @ 2007-07-15 18:26 思考 阅读(893) | 评论 (0)编辑 收藏
在SuSE下,由于SuSE特有的脚本管理方法,Should-Stop和Default-Stop选项被忽略了。同时,在脚本开始处执行/etc/rc.status脚本,可以通过调用rc_status -v检查启动命令的执行结果并彩色显示出来。

#!/bin/bash
#
# /etc/init.d/oracle
#
### BEGIN INIT INFO
# Provides:
# Required-Start: $network $syslog
# Should-Start:
# Required-Stop:
# Should-Stop:
# Default-Start: 3 5
# Default-Stop: 0 1 2 4 6
# Description: Startup/shutdown script for oracle listener and instance;
### END
. /etc/rc.status
rc_reset
       
start()
{
       
        #when system stop redhat  check /var/lock/subsys/oracle
        #to make sure oracle is running.
        touch /var/lock/subsys/oracle
        # start tsnlisnter    
        echo -n "Start tsnlisnter:"
                su - oracle -c "lsnrctl start" >/dev/null 2>/dev/null
        rc_status -v
        # start database
        echo -n "Start Oracle database instance:"
        su - oracle -c "echo \"
                        CONN / AS SYSDBA
                        STARTUP
                        exit \"|sqlplus /NOLOG" >/dev/null 2>/dev/null
        rc_status -v
        # start enterprise manager
        echo -n "Start Enterprise Manager:"
        su - oracle -c "emctl start dbconsole" >/dev/null 2>/dev/null
        rc_status -v
        #start isqlplus
        echo -n "Start isqlplus"
        su - oracle -c "isqlplusctl start">/dev/null 2>/dev/null
        rc_status -v
}
stop()
{
        #when system stop redhat  check /var/lock/subsys/oracle
        #to make sure oracle is running.
        rm -rf /var/lock/subsys/oracle
        # shutdown database
        echo -n "Shutdown Oracle database instance:"
        su - oracle -c "echo \"
                        CONN / AS SYSDBA
                        SHUTDOWN immediate
                        exit \"|sqlplus /NOLOG">/dev/null 2>/dev/null
        rc_status -v
        # stop tsnlisnter
        echo -n "Stop tsnlisnter:"
                su - oracle -c "lsnrctl stop">/dev/null 2>/dev/null
        rc_status -v
        # stop enterprise manager
        echo -n "Stop Enterprise Manager:"
        su - oracle -c "emctl stop dbconsole"
        rc_status -v
        # stop isqlplus
        echo -n "Stop isqlplus:"
        su - oracle -c "isqlplusctl stop"
        rc_status -v
}
case "$1" in
start)
        start
        echo "Oracle Start at:" `date` >>/var/log/oracle.log
        ;;
stop)
        stop
        echo "Oracle Stop at:" `date` >>/var/log/oracle.log
        ;;
restart)
        echo "Oracle Restart at:" `date` >>/var/log/oracle.log
        stop
        start
        ;;
*)
        echo "Usage: $0 { start | stop| restart }"
        exit 1
 
       ;;
esac
rc_exit
posted @ 2007-06-05 09:50 思考 阅读(1491) | 评论 (0)编辑 收藏

在用Struts开发项目的时候遇到了一个问题,当上传文件时,中文文件名会出现乱码问题。
于是,在Google和Baidu上面进行了搜索。结果发现有无数人遇到了相同的问题,大家也都在迫切的询问此类问题。但是回帖的结果却让人特别生气!

回帖的内容大致可分为两类:
第一类,都是把别人的帖子转来转去,也不著名出处。更是有几个人都在自己的博客上写的内容完全一样,还说是自己写的!
另一类相对要好一些,对问题进行了解答。但是,按照他们所说的进行了更改,根本就不能解决问题。真是不知道他们是这么解决这个问题的。

后来在玉米田http://www.yumt.com/showlog.jspe?log_id=56#71的博客上有一篇文章说道了此事,才能彻底解决这个问题。看了之后才知道,原来Struts的upload功能是对jakarta apache的commons-fileUpload进行了封装实现的。但是在实现时,没有考虑到文件编码的问题。所以,需要对struts.jar中的文件进行修改并重新编译打包。事实证明,这样作问题解决了。

但是回过头来,那些通过在JSP页面中设置编码方式为UTF-8或者在得到文件名进行编码转译的人是如何解决这个问题的,难道我的系统跟他们的不一样吗?

由此,可以看出很多网友不能够踏踏实实的做人,人云亦云。抱着一种极其不负责任的态度,这样作不但是自己不能真正理解问题的本质,得不到提高和进步,更加影响了对此类问题不甚了解并渴望解答的人所误解。

同时,一旦这种风气发展下去,下次提问者作为解答者的时候这种现象又会出现。如果此类现象愈演愈烈,势必会对我们中国整个软件业甚至这个中华民族带来及其深刻的影响!

希望跟我有同感的IT同仁可以从自己做起,认真回答网友的提问。我们从自己做起,从现在做起!

posted @ 2006-12-20 20:33 思考 阅读(265) | 评论 (0)编辑 收藏