2009年5月3日星期日

一、ORACLE的启动和关闭
1、在单机环境下要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下
su - oracle

a、启动ORACLE系统
oracle>svrmgrl
SVRMGR>connect internal
SVRMGR>startup
SVRMGR>quit

b、关闭ORACLE系统
oracle>svrmgrl
SVRMGR>connect internal
SVRMGR>shutdown
SVRMGR>quit

启动oracle9i数据库命令:
sqlplus /nolog

SQL*Plus: Release 9.2.0.1.0 - Production on Fri Oct 31 13:53:53 2003

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

SQL> connect / as sysdba
Connected to an idle instance.
SQL> startup^C

SQL> startup
ORACLE instance started.


2、在双机环境下要想启动或关闭ORACLE系统必须首先切换到root用户,如下
su - root

a、启动ORACLE系统
hareg -y oracle

b、关闭ORACLE系统
hareg -n oracle 54ne.com

Oracle数据库有哪几种启动方式


说明:

有以下几种启动方式:
1、startup nomount
非安装启动,这种方式启动下可执行:重建控制文件、重建数据库

读取init.ora文件,启动instance,即启动SGA和后台进程,这种启动只需要init.ora文件。

2、startup mount dbname
安装启动,这种方式启动下可执行:
数据库日志归档、
数据库介质恢复、
使数据文件联机或脱机,
重新定位数据文件、重做日志文件。

执行“nomount”,然后打开控制文件,确认数据文件和联机日志文件的位置,
但此时不对数据文件和日志文件进行校验检查。

3、startup open dbname
先执行“nomount”,然后执行“mount”,再打开包括Redo log文件在内的所有数据库文件,
这种方式下可访问数据库中的数据。

4、startup,等于以下三个命令
startup nomount
alter database mount
alter database open

5、startup restrict
约束方式启动
这种方式能够启动数据库,但只允许具有一定特权的用户访问
非特权用户访问时,会出现以下提示:
ERROR:
ORA-01035: ORACLE 只允许具有 RESTRICTED SESSION 权限的用户使用 中国网管联盟www、bitsCN、com

6、startup force
强制启动方式
当不能关闭数据库时,可以用startup force来完成数据库的关闭
先关闭数据库,再执行正常启动数据库命令

7、startup pfile=参数文件名
带初始化参数文件的启动方式
先读取参数文件,再按参数文件中的设置启动数据库
例:startup pfile=E:Oracleadminoradbpfileinit.ora

8、startup EXCLUSIVE
二、用户如何有效地利用数据字典

 ORACLE的数据字典是数据库的重要组成部分之一,它随着数据库的产生而产生, 随着数据库的变化而变化,

体现为sys用户下的一些表和视图。数据字典名称是大写的英文字符。

数据字典里存有用户信息、用户的权限信息、所有数据对象信息、表的约束条件、统计分析数据库的视图等。

我们不能手工修改数据字典里的信息。

  很多时候,一般的ORACLE用户不知道如何有效地利用它。

 dictionary   全部数据字典表的名称和解释,它有一个同义词dict
dict_column   全部数据字典表里字段名称和解释

如果我们想查询跟索引有关的数据字典时,可以用下面这条SQL语句:

SQL>select * from dictionary where instr(comments,'index')>0;

如果我们想知道user_indexes表各字段名称的详细含义,可以用下面这条SQL语句:

SQL>select column_name,comments from dict_columns where table_name='USER_INDEXES';
中国网管联盟www_bitscn_com


依此类推,就可以轻松知道数据字典的详细名称和解释,不用查看ORACLE的其它文档资料了。

下面按类别列出一些ORACLE用户常用数据字典的查询使用方法。

1、用户

查看当前用户的缺省表空间
SQL>select username,default_tablespace from user_users;

查看当前用户的角色
SQL>select * from user_role_privs;

查看当前用户的系统权限和表级权限
SQL>select * from user_sys_privs;
SQL>select * from user_tab_privs;

2、表

查看用户下所有的表
SQL>select * from user_tables;

查看名称包含log字符的表
SQL>select object_name,object_id from user_objects
中国网管联盟www.bitscn.com


where instr(object_name,'LOG')>0;

查看某表的创建时间
SQL>select object_name,created from user_objects where object_name=upper('&table_name');

查看某表的大小
SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments
where segment_name=upper('&table_name');

查看放在ORACLE的内存区里的表
SQL>select table_name,cache from user_tables where instr(cache,'Y')>0;

3、索引

查看索引个数和类别
SQL>select index_name,index_type,table_name from user_indexes order by table_name; 中国网管论坛bbs.bitsCN.com

查看索引被索引的字段
SQL>select * from user_ind_columns where index_name=upper('&index_name');

查看索引的大小
SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments
where segment_name=upper('&index_name');

4、序列号

查看序列号,last_number是当前值
SQL>select * from user_sequences;

5、视图

查看视图的名称
SQL>select view_name from user_views;

查看创建视图的select语句
SQL>set view_name,text_length from user_views;
54ne.com


SQL>set long 2000; 说明:可以根据视图的text_length值设定set long 的大小
SQL>select text from user_views where view_name=upper('&view_name');

6、同义词

查看同义词的名称
SQL>select * from user_synonyms;

7、约束条件

查看某表的约束条件
SQL>select constraint_name, constraint_type,search_condition, r_constraint_name
from user_constraints where table_name = upper('&table_name');

SQL>select c.constraint_name,c.constraint_type,cc.column_name
from user_constraints c,user_cons_columns cc
网管网bitsCN.com


where c.owner = upper('&table_owner') and c.table_name = upper('&table_name')
and c.owner = cc.owner and c.constraint_name = cc.constraint_name
order by cc.position;

8、存储函数和过程

查看函数和过程的状态
SQL>select object_name,status from user_objects where object_type='FUNCTION';
SQL>select object_name,status from user_objects where object_type='PROCEDURE';

查看函数和过程的源代码
SQL>select text from all_source where owner=user and name=upper('&plsql_name');
三、查看数据库的SQL

1、查看表空间的名称及大小

select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size
from dba_tablespaces t, dba_data_files d
where t.tablespace_name = d.tablespace_name
group by t.tablespace_name;

2、查看表空间物理文件的名称及大小

select tablespace_name, file_id, file_name,
round(bytes/(1024*1024),0) total_space
from dba_data_files
order by tablespace_name;

3、查看回滚段名称及大小

select segment_name, tablespace_name, r.status,
(initial_extent/1024) InitialExtent,(next_extent/1024) NextExtent,
max_extents, v.curext CurExtent
From dba_rollback_segs r, v$rollstat v
Where r.segment_id = v.usn(+)
order by segment_name ;

4、查看控制文件

select name from v$controlfile; 54ne.com

5、查看日志文件

select member from v$logfile;

6、查看表空间的使用情况

select sum(bytes)/(1024*1024) as free_space,tablespace_name
from dba_free_space
group by tablespace_name;

SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,
(B.BYTES*100)/A.BYTES "% USED",(C.BYTES*100)/A.BYTES "% FREE"
FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C
WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME;

7、查看数据库库对象

select owner, object_type, status, count(*) count# from all_objects group by owner, object_type, status;

8、查看数据库的版本

Select version FROM Product_component_version
Where SUBSTR(PRODUCT,1,6)='Oracle';

9、查看数据库的创建日期和归档方式

Select Created, Log_Mode, Log_Mode From V$Database;
四、ORACLE用户连接的管理 网管网bitsCN.com

用系统管理员,查看当前数据库有几个用户连接:

SQL> select username,sid,serial# from v$session;

如果要停某个连接用

SQL> alter system kill session 'sid,serial#';

如果这命令不行,找它UNIX的进程数

SQL> select pro.spid from v$session ses,v$process pro where ses.sid=21 and ses.paddr=pro.addr;

说明:21是某个连接的sid数

然后用 kill 命令杀此进程号。


五、SQL*PLUS使用
a、近入SQL*Plus
$sqlplus 用户名/密码

退出SQL*Plus
SQL>exit

b、在sqlplus下得到帮助信息
列出全部SQL命令和SQL*Plus命令
SQL>help
列出某个特定的命令的信息
SQL>help 命令名

c、显示表结构命令DESCRIBE
SQL>DESC 表名

d、SQL*Plus中的编辑命令
显示SQL缓冲区命令
SQL>L

修改SQL命令
首先要将待改正行变为当前行
SQL>n
用CHANGE命令修改内容
SQL>c/旧/新
重新确认是否已正确
SQL>L

使用INPUT命令可以在SQL缓冲区中增加一行或多行
SQL>i
SQL>输入内容

e、调用外部系统编辑器
网管网bitsCN.com

SQL>edit 文件名
可以使用DEFINE命令设置系统变量EDITOR来改变文本编辑器的类型,在login.sql文件中定义如下一行
DEFINE_EDITOR=vi

f、运行命令文件
SQL>START test
SQL>@test

常用SQL*Plus语句
a、表的创建、修改、删除
创建表的命令格式如下:
create table 表名 (列说明列表);

为基表增加新列命令如下:
ALTER TABLE 表名 ADD (列说明列表)
例:为test表增加一列Age,用来存放年龄
sql>alter table test
add (Age number(3));

修改基表列定义命令如下:
ALTER TABLE 表名
MODIFY (列名 数据类型)
例:将test表中的Count列宽度加长为10个字符
sql>alter atble test
modify (County char(10));

b、将一张表删除语句的格式如下:
DORP TABLE 表名;
例:表删除将同时删除表的数据和表的定义
sql>drop table test

c、表空间的创建、删除
六、ORACLE逻辑备份的SH文件

完全备份的SH文件:exp_comp.sh

rq=` date +"%m%d" `

su - oracle -c "exp system/manager full=y inctype=complete file=/oracle/export/db_comp$rq.dmp"

累计备份的SH文件:exp_cumu.sh

rq=` date +"%m%d" `

su - oracle -c "exp system/manager full=y inctype=cumulative file=/oracle/export/db_cumu$rq.dmp"

增量备份的SH文件: exp_incr.sh

rq=` date +"%m%d" `

su - oracle -c "exp system/manager full=y inctype=incremental file=/oracle/export/db_incr$rq.dmp"

root用户crontab文件
/var/spool/cron/crontabs/root增加以下内容

0 2 1 * * /oracle/exp_comp.sh

30 2 * * 0-5 /oracle/exp_incr.sh

45 2 * * 6 /oracle/exp_cumu.sh

当然这个时间表可以根据不同的需求来改变的,这只是一个例子。


七、ORACLE 常用的SQL语法和数据对象

一.数据控制语句 (DML) 部分

1.INSERT (往数据表里插入记录的语句)

INSERT INTO 表名(字段名1, 字段名2, ……) VALUES ( 值1, 值2, ……); 中国网管联盟www_bitscn_com
INSERT INTO 表名(字段名1, 字段名2, ……) SELECT (字段名1, 字段名2, ……) FROM 另外的表名;

字符串类型的字段值必须用单引号括起来, 例如: ’GOOD DAY’
如果字段值里包含单引号’ 需要进行字符串转换, 我们把它替换成两个单引号''.
字符串类型的字段值超过定义的长度会出错, 最好在插入前进行长度校验.

日期字段的字段值可以用当前数据库的系统时间SYSDATE, 精确到秒
或者用字符串转换成日期型函数TO_DATE(‘2001-08-01’,’YYYY-MM-DD’)
TO_DATE()还有很多种日期格式, 可以参看ORACLE DOC.
年-月-日 小时:分钟:秒 的格式YYYY-MM-DD HH24:MI:SS

INSERT时最大可操作的字符串长度小于等于4000个单字节, 如果要插入更长的字符串, 请考虑字段用CLOB类型,
方法借用ORACLE里自带的DBMS_LOB程序包.

INSERT时如果要用到从1开始自动增长的序列号, 应该先建立一个序列号
CREATE SEQUENCE 序列号的名称 (最好是表名+序列号标记) INCREMENT BY 1 START WITH 1
MAXVALUE 99999 CYCLE NOCACHE;
其中最大的值按字段的长度来定, 如果定义的自动增长的序列号 NUMBER(6) , 最大值为999999
中国网管联盟www_bitscn_com


INSERT 语句插入这个字段值为: 序列号的名称.NEXTVAL

2.DELETE (删除数据表里记录的语句)

DELETE FROM表名 WHERE 条件;

注意:删除记录并不能释放ORACLE里被占用的数据块表空间. 它只把那些被删除的数据块标成unused.

如果确实要删除一个大表里的全部记录, 可以用 TRUNCATE 命令, 它可以释放占用的数据块表空间
TRUNCATE TABLE 表名;
此操作不可回退.

3.UPDATE (修改数据表里记录的语句)

UPDATE表名 SET 字段名1=值1, 字段名2=值2, …… WHERE 条件;

如果修改的值N没有赋值或定义时, 将把原来的记录内容清为NULL, 最好在修改前进行非空校验;
值N超过定义的长度会出错, 最好在插入前进行长度校验..

注意事项:
A. 以上SQL语句对表都加上了行级锁,
确认完成后, 必须加上事物处理结束的命令 COMMIT 才能正式生效,
否则改变不一定写入数据库里.
如果想撤回这些操作, 可以用命令 ROLLBACK 复原.

B. 在运行INSERT, DELETE 和 UPDATE 语句前最好估算一下可能操作的记录范围,
中国网管论坛bbs.bitsCN.com

应该把它限定在较小 (一万条记录) 范围内,. 否则ORACLE处理这个事物用到很大的回退段.
程序响应慢甚至失去响应. 如果记录数上十万以上这些操作, 可以把这些SQL语句分段分次完成,
其间加上COMMIT 确认事物处理.
二.数据定义 (DDL) 部分

1.CREATE (创建表, 索引, 视图, 同义词, 过程, 函数, 数据库链接等)

ORACLE常用的字段类型有
CHAR 固定长度的字符串
VARCHAR2 可变长度的字符串
NUMBER(M,N) 数字型M是位数总长度, N是小数的长度
DATE 日期类型

创建表时要把较小的不为空的字段放在前面, 可能为空的字段放在后面

创建表时可以用中文的字段名, 但最好还是用英文的字段名

创建表时可以给字段加上默认值, 例如 DEFAULT SYSDATE feedom.net
这样每次插入和修改时, 不用程序操作这个字段都能得到动作的时间

创建表时可以给字段加上约束条件
例如 不允许重复 UNIQUE, 关键字 PRIMARY KEY

2.ALTER (改变表, 索引, 视图等)

改变表的名称
ALTER TABLE 表名1 TO 表名2;

在表的后面增加一个字段
ALTER TABLE表名 ADD 字段名 字段名描述;

修改表里字段的定义描述
ALTER TABLE表名 MODIFY字段名 字段名描述;

给表里的字段加上约束条件
ALTER TABLE 表名 ADD CONSTRAINT 约束名 PRIMARY KEY (字段名);
ALTER TABLE 表名 ADD CONSTRAINT 约束名 UNIQUE (字段名);

把表放在或取出数据库的内存区
ALTER TABLE 表名 CACHE;
ALTER TABLE 表名 NOCACHE;

3.DROP (删除表, 索引, 视图, 同义词, 过程, 函数, 数据库链接等)

删除表和它所有的约束条件
DROP TABLE 表名 CASCADE CONSTRAINTS;

4.TRUNCATE (清空表里的所有记录, 保留表的结构)

TRUNCATE 表名;
三.查询语句 (SELECT) 部分

SELECT字段名1, 字段名2, …… FROM 表名1, [表名2, ……] WHERE 条件;

字段名可以带入函数
例如: COUNT(*), MIN(字段名), MAX(字段名), AVG(字段名), DISTINCT(字段名),
TO_CHAR(DATE字段名,'YYYY-MM-DD HH24:MI:SS')

NVL(EXPR1, EXPR2)函数
解释:
IF EXPR1=NULL
RETURN EXPR2
ELSE
RETURN EXPR1

DECODE(AA﹐V1﹐R1﹐V2﹐R2....)函数
解释:
IF AA=V1 THEN RETURN R1
IF AA=V2 THEN RETURN R2
..…
ELSE
RETURN NULL

LPAD(char1,n,char2)函数
解释:
字符char1按制定的位数n显示,不足的位数用char2字符串替换左边的空位

字段名之间可以进行算术运算
例如: (字段名1*字段名1)/3

查询语句可以嵌套
例如: SELECT …… FROM
(SELECT …… FROM表名1, [表名2, ……] WHERE 条件) WHERE 条件2;
网管联盟www.bitsCN.com


两个查询语句的结果可以做集合操作
例如: 并集UNION(去掉重复记录), 并集UNION ALL(不去掉重复记录), 差集MINUS, 交集INTERSECT

分组查询
SELECT字段名1, 字段名2, …… FROM 表名1, [表名2, ……] GROUP BY字段名1
[HAVING 条件] ;

两个以上表之间的连接查询

SELECT字段名1, 字段名2, …… FROM 表名1, [表名2, ……] WHERE
表名1.字段名 = 表名2. 字段名 [ AND ……] ;

SELECT字段名1, 字段名2, …… FROM 表名1, [表名2, ……] WHERE
表名1.字段名 = 表名2. 字段名(+) [ AND ……] ;

有(+)号的字段位置自动补空值

查询结果集的排序操作, 默认的排序是升序ASC, 降序是DESC

SELECT字段名1, 字段名2, …… FROM 表名1, [表名2, ……]
ORDER BY字段名1, 字段名2 DESC;

字符串模糊比较的方法

INSTR(字段名, ‘字符串’)>0
字段名 LIKE ‘字符串%’ [‘%字符串%’]

每个表都有一个隐含的字段ROWID, 它标记着记录的唯一性.

四.ORACLE里常用的数据对象 (SCHEMA)
中国网管联盟www_bitscn_com


1.索引 (INDEX)

CREATE INDEX 索引名ON 表名 ( 字段1, [字段2, ……] );
ALTER INDEX 索引名 REBUILD;

一个表的索引最好不要超过三个 (特殊的大表除外), 最好用单字段索引, 结合SQL语句的分析执行情况,
也可以建立多字段的组合索引和基于函数的索引

ORACLE8.1.7字符串可以索引的最大长度为1578 单字节
ORACLE8.0.6字符串可以索引的最大长度为758 单字节

2.视图 (VIEW)

CREATE VIEW 视图名AS SELECT …. FROM …..;
ALTER VIEW视图名 COMPILE;

视图仅是一个SQL查询语句, 它可以把表之间复杂的关系简洁化.

3.同义词 (SYNONMY)
CREATE SYNONYM同义词名FOR 表名;
CREATE SYNONYM同义词名FOR 表名@数据库链接名;

4.数据库链接 (DATABASE LINK)
CREATE DATABASE LINK数据库链接名CONNECT TO 用户名 IDENTIFIED BY 密码 USING ‘数据库连接字符串’;

数据库连接字符串可以用NET8 EASY CONFIG或者直接修改TNSNAMES.ORA里定义.

数据库参数global_name=true时要求数据库链接名称跟远端数据库名称一样

数据库全局名称可以用以下命令查出
SELECT * FROM GLOBAL_NAME;

查询远端数据库里的表
SELECT …… FROM 表名@数据库链接名; 54ne.com

五.权限管理 (DCL) 语句

1.GRANT 赋于权限
常用的系统权限集合有以下三个:
CONNECT(基本的连接), RESOURCE(程序开发), DBA(数据库管理)
常用的数据对象权限有以下五个:
ALL ON 数据对象名, SELECT ON 数据对象名, UPDATE ON 数据对象名,
DELETE ON 数据对象名, INSERT ON 数据对象名, ALTER ON 数据对象名

GRANT CONNECT, RESOURCE TO 用户名;
GRANT SELECT ON 表名 TO 用户名;
GRANT SELECT, INSERT, DELETE ON表名 TO 用户名1, 用户名2;

2.REVOKE 回收权限

REVOKE CONNECT, RESOURCE FROM 用户名;
REVOKE SELECT ON 表名 FROM 用户名;
REVOKE SELECT, INSERT, DELETE ON表名 FROM 用户名1, 用户名2;


查询数据库中第63号错误:
select orgaddr,destaddr from sm_histable0116 where error_code='63';

查询数据库中开户用户最大提交和最大下发数: select MSISDN,TCOS,OCOS from ms_usertable;


查询数据库中各种错误代码的总和: 网管网bitsCN.com
select error_code,count(*) from sm_histable0513 group by error_code order
by error_code;

查询报表数据库中话单统计种类查询。
select sum(Successcount) from tbl_MiddleMt0411 where ServiceType2=111
select sum(successcount),servicetype from tbl_middlemt0411 group by servicetype

How to run sql scripts on sqlplus

Question: How do I execute an SQL script file in SQLPlus?

Answer: To execute a script file in SQLPlus, type @ and then the file name.

SQL > @{file}

For example, if your file was called script.sql, you'd type the following command at the SQL prompt:

SQL > @script.sql

The above command assumes that the file is in the current directory. (ie: the current directory is usually the directory that you were located in before you launched SQLPlus.)

If you need to execute a script file that is not in the current directory, you would type:

SQL > @{path}{file}

For example:

SQL > @/oracle/scripts/script.sql

This command would run a script file called script.sql that was located in the /oracle/scripts directory.

2009年3月30日星期一

Solution for REP-0004: Unable to open user preference file

Report Builder:Warning: REP-0004: Unable to open user preference file.
Oracle E-Business Suite R12 Report Builder:Release 10.1.2.2.0 Warning: REP-0004: Unable to open user preference file.

Error:

REP-0004: Warning: Unable to open user preference file.

Report Builder: Release 10.1.2.2.0 - Production on Mon Nov 17 14:43:42 2008


Solution

Copy prefs.ora from $ORACLE_HOME/tools/admin to $HOME

cp $ORACLE_HOME/tools/admin/prefs.ora $HOME/prefs.ora

2009年3月27日星期五

xp 开启共享权限(可以通过\\ip\c$访问)

1.检查guest账户是否开启

XP默认情况下不开启guest账户,因此些为了其他人能浏览你的计算机,请启用guest账户。同时,为了安全请为guest设置密码或相应的权限。当然,也可以为每一台机器设置一个用户名和密码以便计算机之间的互相访问。

2.检查是否拒绝Guest用户从网络访问本机

当你开启了guest账户却还是根本不能访问时,请检查设置是否为拒绝guest从网络访问计算机,因为XP默认是不允许guest从网络登录的,所以即使开了guest也一样不能访问。在开启了系统Guest用户的情况下解除对Guest账号的限制,点击“开始→运行”,在“运行”对话框中输入 “GPEDIT.MSC”,打开组策略编辑器,依次选择“计算机配置→Windows设置→安全设置→本地策略→用户权利指派”,双击“拒绝从网络访问这台计算机”策略,删除里面的“GUEST”账号。这样其他用户就能够用Guest账号通过网络访问使用Windows XP系统的计算机了。

3.改网络访问模式

XP默认是把从网络登录的所有用户都按来宾账户处理的,因此即使管理员从网络登录也只具有来宾的权限,若遇到不能访问的情况,请尝试更改网络的访问模式。打开组策略编辑器,依次选择“计算机配置→Windows设置→安全设置→本地策略→安全选项”,双击“网络访问:本地账号的共享和安全模式”策略,将默认设置“仅来宾—本地用户以来宾身份验证”,更改为“经典:本地用户以自己的身份验证”。

这样即使不开启guest,你也可以通过输入本地的账户和密码来登录你要访问的计算机,本地的账户和密码为你要访问的计算机内已经的账户和密码。若访问网络时需要账户和密码,可以通过输入你要访问的计算机内已经的账户和密码来登录。

若不对访问模式进行更改,也许你连输入用户名和密码都办不到,\\computername\guest为灰色不可用。即使密码为空,在不开启guest 的情况下,你也不可能点确定登录。改成经典模式,最低限度可以达到像2000里没有开启guest账户情况时一样,可以输入用户名和密码来登录你要进入的计算机。也许你还会遇到一种特殊的情况,请看接下来的。

我们可能还会遇到另外一个问题,即当用户的口令为空时,即使你做了上述的所有的更改还是不能进行登录,访问还是会被拒绝。这是因为,在系统“安全选项”中有“账户:使用空白密码的本地账户只允许进行控制台登录”策略默认是启用的,根据Windows XP安全策略中拒绝优先的原则,密码为空的用户通过网络访问使用Windows XP的计算机时便会被禁止。我们只要将这个策略停用即可解决问题。在安全选项中,找到“使用空白密码的本地账户只允许进行控制台登录”项,停用就可以,否则即使开了guest并改成经典模式还是不能登录。经过以上的更改基本就可以访问了,你可以尝试选择一种适合你的方法。

2009年3月22日星期日

Lotus graph install on ubuntu 8.04

安装过程很简单,直接sudo ./setup.sh就可以了
需要切换到英文环境,否则会有乱码。
需关闭桌面特效,否则会出现弹出的安装向导画面是空的
检查一下有没有安装libstdc++5

如显示用 - concole或者-silent
我以前也遇到在安装的时候提示-console或者-silent的情况,安装了libstdc++5之后,再安装就ok了

2009年3月16日星期一

计算当前日期位第几周公式

REM {求出 InputDay 是在当年的第几周};
InputDay:=@Today;
YD:=@TextToTime(@Text(@Year(InputDay))+"/01/01");

YS:=@Text(@Year(InputDay))+@Text((@Adjust(InputDay; 0; 0; - ( @Weekday( InputDay) - 2 ); 0; 0; 0 )-@Adjust( YD; 0; 0; - ( @Weekday(YD ) - 2 ); 0; 0; 0 ))/7/86400+1);

REM {设置格式为yyww};
@right (YS;4);

Format用法详解 转自 (月影无限)

[分享]Format用法详解

以前一直自已为能写了一个中文日期的CLASS很了不起,也在论坛中发表了,可。。。
前几天在查Format函数时,发现format竞可以很轻松的达到这个目的,倒~~~~
Format$(Now,"EEOA")
只要这么一句~~~~~就可以得到“ 二○○六年五月二十六日”
亏我还得写得那么多。。。
所以对FORMAT函数进行研究,参照HELP文件,把一些用法写了下来。
现拿给大家共享。。。

---------------------------------
Format[$] ( expr [ , fmt ] )
format 返回变体型
format$ 强制返回为文本
--------------------------------
数字类型的格式化
--------------------------------

固定格式参数:
General Number 普通数字,如可以用来去掉千位分隔号
format$("100,123.12","General Number") 返回值 100123.12

Currency 货币类型,可添加千位分隔号和货币符号
format$("100123.12","Currency") 返回值 ¥100,123.12

Fixed 格式为带两位小数的数字
format$("100123","Currency") 返回值 100123.00

Standard 标准,即带千位分隔号和两位小数
format$("100123","Currency") 返回值 100,123.00

Percent 百分数
format$("100123","Percent") 返回值 10012300.00%

Scientific 科学记数法
format$("100123","Scientific") 返回值 1.00E+05

Yes/No 当值为0时返回 NO,否则返回 YES
format$("100123","Yes/No") 返回值 Yes

True/False 当值为0时返回 False,否则返回 True
format$("100123","True/False") 返回值 True

On/Off 当值为0时返回 Off,否则返回 On
format$("100123","Yes/No") 返回值 On
自定义格式参数

"" 不进行格式化 返回值 原值

0 占位格式化,不足补0
format$("100123","0000000") 返回值 0100123

# 占位格式化,不足时不补0
format$("100123","#######") 返回值 100123

. 强制显示小数点
format$("100123.12",".000") 返回值 100123.120

% 转化为百分数,一个%代表乘以100
format$("10.23","0.00%") 返回值 1023.00%
format$("10.23","0.00%%") 返回值 102300.00%%

, 以千为单位格化
format$("10.23",",") 返回值 0
format$("10010.23",",") 返回值 10
format$("10010.23",",0.00") 返回值 10.01

E- E+ e- e+ 显示为科学记数(要注意格式语句,否则会和E的其它含义相混)
Format$(12.5,"0.00E+00") 返回值 1.25E+01

$ 强制显示货币符号
format$("10.23","$0.00") 返回值 ¥10.23

- + ( ) space 按位置显示本样
Format$("1234.56","-(0.00)") 返回值 -(1234.56)

\ 转义符,显示出特殊符号
Format$("1234.56","\#.00") 返回值 #1234.56

"ABC" 显示双引号 (" ") 之内的字符串。如在代码中想在 format 中包含一个字符串,必须用 Chr(34) 将文本括起来(34 为双引号 ("))
Format$(123.45,"TTT") 返回值 TTT
注:当双引号中的文本包含特殊的参数符号如e,要使用转义符"\",否则会按e的作用显示

; 类似多目运算符的作用。

当共有 四 部分时,
当大于0时,按第一部分进行格式化,
当小于0时按第二部分进行格式化,
当等于0时按第三部分进行格式化,
当为null值时,按第四部分进行格式化。如:
Format$(0,"0.00;负数;零;空") 返回值 零

当共有 三 部分时,
当大于0时,按第一部分进行格式化,
当小于0时按第二部分进行格式化,
当等于0时按第三部分进行格式化,如:
Format$(-10,"0.00;ttt;零") 返回值 ttt

当共有 两 部分时,
当大于或等于0时,按第一部分进行格式化,
当小于0时按第二部分进行格式化,
Format$(-123,"0.00;abc") 返回值 abc
Format$(123,"0.00;abc") 返回值 123.00

当共有 一 部分时,按分号左边进行格式化

---------------------------------
日期类型的格式化
---------------------------------
注意:在中文操作系统中,系统自动将月份输为如:五月,而非 May

固定格式参数
General Date 基本类型
Format$(Now,"General Date") 返回值 2006-5-25 14:56:15

Long Date 操作系统定义的长日期
Format$(Now,"Long Date") 返回值 2006年5月25日

Medium Date 中日期(yy/mmm/dd)
Format$(Now,"Medium Date") 返回值 06-5月-25

Short Date 操作系统定义的短日期
Format$(Now,"Short Date") 返回值 2006-5-25

Long Time 操作系统定义的长时间
Format$(Now,"Long Time") 返回值 15:06:36

Medium Time 带AM/PM的12小时制,不带秒
Format$(Now,"Medium Time") 返回值 03:08 PM

Short Time 24时制的时间,不带秒
Format$(Now,"Short Time") 返回值 15:08

自定义格式参数
: 用来标识时间字符的间隔
Format$(Time(),"hh:nn") 返回值 15:25

/ 用来标识日期字符的间隔
Format$(now,"yyyy/mm/dd") 返回值 2006-05-25

c 格式化为国标的日期和时间
Format$(Now,"c") 返回值 2006-5-25 14:56:15

y 一年中的第几天
Format$(Now,"y") 返回值 145

d 一个月中的第几天(1-366)
Format$(Now,"d") 返回值 25

dd 当小于10时前面带0的天数(01-31)
Format$("2006-1-7","dd") 返回值 07

ddd 周几
Format$(Now,"ddd") 返回值 周四

dddd 星期几
Format$(Now,"dddd") 返回值 星期四

ddddd 显示标准日期
Format$(Now,"ddddd") 返回值 2006-05-25

dddddd 长日期
Format$(Now,"dddddd") 返回值 2006年5月25日

w 一个星期中的第几天
Format$(Now,"w") 返回值 5

ww 一年中的第几周
Format$(Now,"ww") 返回值 21

m 月数(注:当用于时间时,也可以表时为分钟)
Format$(Now,"m") 返回值 5
Format$(Now,"h:m") 返回值 16:11

mm 当小于10时前面带0的月数(注:当用于时间时,也可以表时为带0的分钟)
Format$(Now,"m") 返回值 05
Format$(Now,"hh:mm") 返回值 16:09

mmm 月份
Format$(Now,"mmm") 返回值 五月

q 一年中的第几季(1-4)
Format$(Now,"q") 返回值 2

yy 两位数的年份(00-99)
Format$(Now,"yy") 返回值 06

yyyy 四位数的年份(0100-9999)
Format$(Now,"yyyy") 返回值 2006

h 一天中的第N小时(0-23)
Format$(Now,"h") 返回值 16

hh 当小于10时带0的小时数(00-23)
Format$("7:30:28","hh") 返回值 07

n 一小时的分钟数(0-59)
Format$("7:30:28","n") 返回值 30

nn 当小于10时带0的分钟数(00-59)
Format$("7:3:28","n") 返回值 03

s 一分钟中的秒数(0-59)
Format$("7:30:8","s") 返回值 8

ss 当小于10时带0的分钟数(00-59)
Format$("7:3:8","ss") 返回值 08

ttttt 标准时间,小时数当小于10时不带0,与h:mm:ss相同
Format$("7:3:28","ttttt") 返回值 7:03:28

AM/PM 显示当前为AM或为PM
Format$(Now,"AM/PM") 返回值 PM

A/P 显示当前为A或为P
Format$(Now,"A/P") 返回值 P

AMPM 对0至2359的数值进行判断是AM还是PM,可以看作是同等于对00:00至23:59的数字进行判断,如1000可以看作是10:00。
Format$(1000,"AMPM") 返回值 AM

联合格式化

m/d/yy Format$(Now,"m/d/yy") 返回值 5-25-06

d-mmm-yy Format$(Now,"d-mmm-yy") 返回值 25-5月-06

d-mmmm Format$(Now,"d-mmmm") 返回值 25-五月

mmmm-yy Format$(Now,"mmmm-yy") 返回值 五月-06

hh:mm AM/PM Format$(Now,"hh:mm AM/PM") 返回值 04:50 PM

h:mm:ss a/p Format$(Now,"h:mm:ss a/p") 返回值 4:51:38 p

h:mm Format$(Now,"h:mm") 返回值 16:51

h:mm:ss Format$(Now,"h:mm:ss") 返回值 16:51:38

m/d/yy h:mm Format$(Now,"m/d/yy h:mm") 返回值 5-25-06 16:54

----------------------------------
文本类型的格式化
----------------------------------
; 当两部分时,则第一部分为非空格式化,第二部分为null值或空值的格式化表达式
@ 匹配位置插入格式化文本,占位位置不存在时,显示空白(空字符串)

只有一个@符号时,是在最后面加上格式化文本
Format$("CHIN","@a") 返回值 CHINa

有多个@占位符,是按从右至左匹配,并在相应的位置上显示格式化文本
Format$("CHIN","@a@@") 返回值 CHaIN

当与 ! 配合时,则变为从左至右匹配
Format$("CHIN","!@a@@") 返回值 CaHIN

当占位符比原文本字符串多时,刚在相应位置上添加空格
Format$("C","@@a@") 返回值 空白空白aC

& 字符占位符。除在当占位位置不存在时,不显示外,其余均与@相同

当占位符比原文本字符串多时,刚在相应位置上添加空格
Format$("C","&&a&") 返回值 aC

< 强制小写。将所有字符以小写格式显示。
Format$("I love you","<") 返回值 i love you

> 强制大写。将所有字符以大写格式显示。
Format$("I love you",">") 返回值 I LOVE YOU

! 强制由左而右填充字符占位符。缺省值是由右而左填充字符占位符。
Format$("CHIN","!@a@@") 返回值 CaHIN

----------------------------------------
强制使用中文格式的日期时间
----------------------------------------
aaaa 星期
Format$(Now,"aaaa") 返回值 星期五

O 中文月份
Format$(Now,"O") 返回值 五月

o 单字节月份
Format$(Now,"o") 返回值 5月

A 中文日期
Format$(Now,"A") 返回值 二十六日

a 单字节日期
Format$(Now,"a") 返回值 26日

E 短中文年份
Format$(Now,"E") 返回值 六年

e 单单字节年份
Format$(Now,"e") 返回值 6年

EE 中文年份
Format$(Now,"EE") 返回值 二○○六年

ee 单字节年份
Format$(Now,"ee") 返回值 2006年

想不到中文日期的问题就这么容易解决:
Format$(Now,"EEOA") 返回值 二○○六年五月二十六日

2009年3月13日星期五

EBS concurrent manager management

You must start internal Manager by ./adcmctl.sh on system

2009年3月10日星期二

EBS R12 功能与菜单对照表

Form Menu Web Function
Security User Menu - System Administrator GUI Security->User ORACLE Usernames

.bash_profile修改后报syntax error: unexpected end of file原因与修正

profile 内容
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
unset USERNAME
PATH=$PATH:$HOME/bin:/usr/java/jdk1.5.0_15/bin:/usr/java/jdk1.5.0_15/jre/bin
export PATH
. /d01/oracle/PROD/apps/apps_st/appl/APPSPROD_ebsap.env
错误提示
login as: appl
appl@hostname's password:
Last login: Tue Mar 10 09:16:42 2009 from 10.20.25.16
: command not found
-bash: /home/appl/.bash_profile: line 17: syntax error: unexpected end of file
-bash-3.00$ : command not found

造成错误的原因:
profile的最后一行位回车。
删除回车后问题解决。

EBSr12 安装时RW-50004 错误的解决办法

注意一般产生这个错误有两个原因
1
java 环境变量设置的问题
如下
建立LINKln -s jdk /usr/java/jdk1.5.0_10
/etc/profile增加以下变量:
export JAVA_HOME="/usr/jdk"
export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib:.
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
在用户applvis/oravis目录下的.bash_profile中添加如下变量说明
PATH=$PATH:$HOME/bin:/usr/java/jdk1.5.0_10/bin:/usr/java/jdk1.5.0_10/jre/bin
export PATH
我的错误造成的原因是安装了jdk1.5.0_15但是按上述设置操作。(上面的1.5.0_10改为1.5.0_15就可以解决这个问题了)
造成了RW-50004错误
2
是对安装目录是否具有完全控制的权限。
如果没有也会产生这个错误。
附件儿为metalink的解决办法,不过是针对64位版本的

Metalink解决办法

Subject:

Getting RW-50010 and RW-50004 Errors When Installing Oracle Applications Release 12.0 on Linux 64-bit

Doc ID:

468695.1

Type:

PROBLEM

Modified Date:

13-JUN-2008

Status:

MODERATED

In this Document
Symptoms
Cause
Solution
References


This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) process, and therefore has not been subject to an independent technical review.

Applies to:

Application Install - Version: 12.0
Linux x86-64

Symptoms

Getting the following error when trying to install Oracle Applications Release 12.0 on a 64-bit Linux platform:

RW-50010: Error: - script has returned an error: 127
RW-50004: Error code received when running external process. Check log file for details.

Cause

The install script uses JRE from the /tmp/RapidInstall/jre/Linux/ location

This issue only occurs if running rapidwiz from a startCD outside the stage area or if installing directly from the install DVDs. This has been raised with Oracle Development in Bug 7169043

Solution

Make sure all setup steps were completed based on the following note:

Note 416305.1 - Oracle Applications Installation and Upgrade Notes Release 12 (12.0) for Linux (64-bit)

Until Bug 7169043 is resolved, use the following workaround.

Workaround

- Create the following directory if not present:

mkdir /tmp/RapidInstall/jre/Linux

- Copy the contents of /tmp/RapidInstall/jre/Linux_x64 to this directory:

cp -r /tmp/RapidInstall/jre/Linux_x64 /tmp/RapidInstall/jre/Linux



Alternatively, stage the entire DVD media using adautostg.pl, and install from the startCD within the stage area

References

Note 416305.1 - Oracle Applications Installation and Upgrade Notes Release 12 (12.0.4) for Linux (64-bit)
Bug 7169043 - NON-STAGED R12 INSTALL FAILS FOR LINUX_X64 ON ADRUN10G.SH, ADRUNIAS.SH ETC



Help us improve our service. Please email us your comments for this document. .

***************************************************************************

Applies to:

Application Install - Version: 12.0.4
This problem can occur on any platform.

Symptoms

On R12 in Test env :
When attempting to Fresh install the R12 using the lastest Rapidwiz version 12.0.4.7, the
following error occurs.

ERROR

Statusstring Registering Applications Technology Stack

Executing command: /u050/stage/ebus/StageR12/startCD/D
isk1/rapidwiz/jre/Solaris/1.5.0//bin/java -DCONTEXT_VALIDATED=true -mx512M -cla
sspath /u050/stage/ebus/StageR12/startCD/Disk1/rapidwiz/jlib/java:/u050/stage/eb
us/StageR12/startCD/Disk1/rapidwiz/jlib/xmlparserv2.jar:/u050/stage/ebus/StageR1
2/startCD/Disk1/rapidwiz/jlib/ojdbc14.jar:/u050/stage/ebus/StageR12/startCD/Disk
1/rapidwiz/jlib/oui/OraInstaller.jar:/u050/stage/ebus/StageR12/startCD/Disk1/rap
idwiz/jlib/oui/ewt3.jar:/u050/stage/ebus/StageR12/startCD/Disk1/rapidwiz/jlib/ou
i/share.jar:/u050/stage/ebus/StageR12/startCD/Disk1/rapidwiz/jlib/oui/srvm.jar o
racle.apps.ad.clone.ApplyAppsTechStack -e /u036/oracle/UATE/inst/apps/UATE_dev1z
one5/appl/admin/UATE_dev1zone5.xml -stage /u050/stage/ebus/StageR12/startCD/Disk
1/rapidwiz -showProgress -phase reg

RW-50010: Error: - script has returned an error: 1
RW-50004: Error code received when running external process. Check log file
for details.
Running APPL_TOP Install Driver for UATE instance
Please refer to the remaining logs on applications node at -
/u036/oracle/UATE/inst/apps/UATE_dev1zone5/logs/06170857.log

Processing DriverFile = /u050/stage/ebus/St

Cause

The newer Rapidwiz version 12.0.4.7 or 12.0.4.8 looks corrupted.

This cause is outlined in the following bug :

Bug 7138936 10.2.0.3 INSTALL 12.0.4
Abstract: RAPID INSTALL 12.0.4.7 FAILING WITH RW-50004

PROBLEM STATEMENT:
------------------
Attempting to install eBiz R12.0.4 using the latest Rapid Install wizard
12.0.4.7(supplied by The Patch 6796703) but it is failing with the error:
.
RW-50004: Error code received when running external process.

Solution

To implement the solution, please execute the following steps:

1) Make sure that the user who is executing Rapidwiz has write permission on the OraInventory.

Check if you are not in the scenario for this Bug 7138936 , NOT A BUG.

Please find the extract of the bug :

a- The owner of the installation is "ora1" user.

more /var/opt/oracle/oraInst.loc

shows :
inventory_loc=/test/oracle/ora3/home/oraInventory
install_group=dba

The owner of that inventory location is "ora3", but "ora1" user cannot write on that directory...

$ id
uid=100417(ora1) gid=101(dba)
$ pwd
/test/oracle/ora3/home/oraInventory/logs

$ touch test
touch: test cannot create

Fix:

a- As "ora3" user, do : chmod 777 /test/oracle/ora3/home/oraInventory

b- As "ora1", cd /test/oracle/ora3/home/oraInventory/logs, touch test

Dev's explanation :

===========

When there is a failure on the OH registration, the rest of actions don't
take place (ex relink, sym link recreation, library generation, etc).
This issue was caused by an incorrect registration.

2) If this bug 7138936 above is not relevant to your situation, to fix, please use the workaround below :


1. Rename this startCD(rapidwiz12.0.4.7) direcrtory to startCD12047


and download, unzip the working "startCD Rapidwiz version 12.0.4.6"

Nb: At the time of this note was written, this Rapidwiz version 12.0.4.6 Patch 6502109 was available

on Metalink.

2. Clean up the previous failed installation :

Use Note 110372.1 - 11i: How to Clean up the UNIX Environment After Install Fails


3 Restat the R12.0.4 installtion using startCD Rapidwiz version 12.0.4.6.

2009年1月21日星期三

Error: An error has occurred in a Lotus Notes application. Data about the error is being collected for your company's helpdesk for use in error analys

Problem:
Error: "An error has occurred in a Lotus Notes application. Data about the error is being collected for your company's helpdesk for use in error analysis.The Lotus Notes application will close when data collection is complete ". This error occurs during what seems to be normal processing.

Resolution: To resolve this problem, follow the steps below:

1. Close Notes and delete the log.nsf and cache.ndk files from the C:\notes\data directory.
2. Rename names.nsf bookmark.nsf
4. Reconfigure Notes

2009年1月18日星期日

EBS R12 在 FF3.05上运行 windows 环境

如果想要做Firefox3上运行EBS Form。
必须安装Java Runtime Environment 5.0 Update 13
(JRE5 Update13 下载地址
http://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/VerifyItem-Start/jre-1_5_0_13-windows-i586-p.exe?BundledLineItemUUID=3aNIBe.oWBkAAAEew.5E4ejh&OrderID=Eu1IBe.op.wAAAEep.5E4ejh&ProductID=I4LACUFBa1cAAAEYhS05AXuY&FileName=/jre-1_5_0_13-windows-i586-p.exe
否则Form无法在firefox上运行
(注意,千万不要在升级了,否则form还是无法运行)

2009年1月14日星期三

EBS R12 无法以sysdba 登陆问题的解决办法

sqlplus / as sysdba

无法登陆

如果你的application和db时装在同一台机器上的,就无法用dba权限登陆.
即使你重新创建密码文件。修改sys密码。。

原因:

如果默认的安装在同一台机器上。
默认使用的是ORACLE_HOME是8.0.6,在这个版本的客户端无法使用dba权限登陆
9.2.0.3的数据库。

解决办法:

可以临时指定到9.2.03的ORACLE_HOME,然后用这个/bin下的sqlplus,即可
正常登陆database.

2009年1月13日星期二

VMware 与主机时间同步 (转)

vmware时间同步问题是一个难题,根据本人使用vmware经验,vmware的时间同步可以有如下几个方法:

一、用VMWARE TOOLS同步时间
注意:如果是用复制文件的方法创建虚拟系统,最好是在复制完文件之后分别安装VMWARE TOOLS。
1) 安装vmware tools
在 VMware 控制台上,以 root 用户身份登录。
1. 单击 VM,然后选择 Install VMware Tools。
2. rac1 — 虚拟机:单击 Install。
3. 双击桌面上的 VMware Tools 图标。
4. cdrom:双击 VMwareTools-1.0.1-29996.i386.rpm。
5. 完成系统准备:单击 Continue。
6. 打开一个终端并执行 vmware-config-tools.pl。(此功能用来调节分辨率)
输入所需的显示大小:2 800*600
2) 与主机同步时间
要确保成功安装 Oracle RAC,虚拟机上的时间必须与主机上的时间同步。执行下面的步骤,以 root 用户身份同步时间。
1. 执行“vmware-toolbox”以显示 VMware Tools Properties 窗口。在 Options 选项卡下,选择 Time synchronization between the virtual machine and the host operating system。您应该发现 tools.syncTime = "TRUE" 参数已经追加到虚拟机配置文件 G:\vm\rac\rac1\rac1.vmx 中。
2. 编辑 /boot/grub/grub.conf,并将选项“clock=pit nosmp noapic nolapic”添加到读取内核 /boot/ 的那一行。修改后的文件内容如下所示:
[root@rac1 ~]# more /boot/grub/grub.conf
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux AS (2.6.9-42.ELsmp)
root (hd0,0)
kernel /vmlinuz-2.6.9-42.ELsmp ro root=LABEL=/ rhgb quiet clock=pit nosmp noapic nolapic
initrd /initrd-2.6.9-42.ELsmp.img
title Red Hat Enterprise Linux AS-up (2.6.9-42.EL)
root (hd0,0)
kernel /vmlinuz-2.6.9-42.EL ro root=LABEL=/ rhgb quiet clock=pit nosmp noapic nolapic
initrd /initrd-2.6.9-42.EL.img


二、修改配置文件的方式
如果这样做还不行,则修改文件:C:\Documents and Settings\All Users\Application Data\VMware\VMware Server\config.ini
添加如下三行:
host.cpukHz = "1700000"
host.noTSC = "TRUE"
ptsc.noTSC = "TRUE"

其中:host.cpukHz要根据你的cpu的实际主频修改,例子中表示CPU主频是1.7G。
这个方法适用于windows系统,VMWARE SERVER系列软件。


三、RAC间同步
如果要用vmware安装RAC,则各个几点间时间必须一致,可以以一个节点作为标准,其他节点与该节点进行时间同步。
假如有两个节点:
A: 200.200.200.1
B: 200.200.200.2

以A作为时间标准,B节点用A节点时间进行同步。
1、在A节点开放37端口
最简单,但也最不安全的方法是关闭防火墙:iptables -F

2、在A节点启动时间服务
chkconfig time on
如果不启动该服务,则其他节点与该节点同步时间时会报错:Connect Refused

3、在B节点与A节点同步时间
rdate -s 200.200.200.1

可以做一个定时任务,每分钟同步一次。

修改C:\Documents and Settings\All Users\Application Data\VMware\VMware Workstation\config.ini 并且编辑:

  1. host.cpukHz = "2212495"
  2. host.noTSC = "TRUE"
  3. ptsc.noTSC = "TRUE"
  4. processor0.use = "FALSE"
  5. processor1.use = "TRUE"

2008年12月22日星期一

IE无法正常登陆邮箱?部分网页无法正常浏览?无法缩略图查看文件?

IE无法正常登陆邮箱?部分网页无法正常浏览?无法缩略图查看文件?



有遇到过E-mail,输入帐号密码后,页面空白,但状态栏显示完毕;有遇到过部分网页打开后空白,无法正常浏览;以下文字可能会对你有所帮助。在说解决方法前,先介绍一下与修复紧密相关的Regsvr32命令。(如果不想了解,请直接跳过,看文章最后的“解决实例”部分)

Regsvr32命令
在windows的system32文件夹下有一个regsvr32.exe的程序,它就是windows自带的activex注册和反注册工具。

regsvr32的用法为:
"regsvr32 [/s] [/n] [/i(:cmdline)] dllname”。其中dllname为activex控件文件名,建议在运行前将第三方activex控件文件拷贝到system32文件夹下。
参数有如下意义:
/u——反注册控件
/s——不管注册成功与否,均不显示提示框
/c——控制台输出
/i——跳过控件的选项进行安装(与注册不同)
/n——不注册控件,此选项必须与/i选项一起使用

执行该命令的方法:
1、可以在“开始”--“运行”,调出运行的对话框,也可以使用Win+R热键,然后直接在输入栏输入即可
2、在开始--运行 输入cmd,调出‘命令提示符’窗口,然后再执行regsvr32命令。


解决实例:(修复IE浏览器方法在此不作实例介绍了,有需要可点击相关文字查看链接)

一、运行下两条 (本实例即可解决email,输入帐号密码后,页面空白问题)
regsvr32 jscript.dll,
regsvr32 vbscript.dll,
作用:
1、跟以前讲的修复IE浏览器方法配合使用(可以不配),可以很好的解决浏览某些网页无法正常显示和功能不正常,如:
a.不显示某些验证码
b.不显示某些动态图片
c.不显示某些论坛的帖子列表
d.论坛快速跳转功能无用
e.论坛发贴时按Ctrl+Enter提交无反应
f.email,输入帐号密码后,页面空白,但状态栏显示完毕
2、修复个别窗口空白,如XP的‘搜索’功能的搜索助理操作面板空白、系统还原页面空白和用户帐户页面空白等。(可修复把握度100%)
3、解决windows media player 9或以上版本打开时提示‘出现内部应用程序错误’。(可修复把握度100%)
4、可以修复win 2000的‘添加/删除程序’打开后一片空白。(可修复把握度99%)

二、修复无法缩略图查看文件问题
2000: 开始→运行,输入regsvr32 thumbvw.dll
XP: 开始→运行,输入regsvr32 shimgvw.dll

三、解决打开系统功能时无反应
regsvr32 shdocvw.dll
作用:
有时从开始菜单里点击XP系统的搜索功能、帮助和支持或管理工具等,但就是无任何反应,这是它们的打开方式缺少关联,所以我们只要用regsvr32注册它们需要调用的动态连接库文件就行了。

四、修复添加/删除程序打不开 (部分与修复IE的注册项重复)
regsvr32 appwiz.cpl
regsvr32 mshtml.dll
regsvr32 jscript.dll
regsvr32 msi.dll
regsvr32 "c:\program files\common files\system\ole db\oledb32.dll"
regsvr32 "c:\program files\common files\system\ado\msado15.dll"
regsvr32 mshtmled.dll
regsvr32 /i shdocvw.dll
regsvr32 /i shell32.dll
作用:
当打开控制面板中的添加/删除程序时,双击它的图标后无反应,或者打开后自动关闭了,尝试使用以上命令可以解决。

2008年12月15日星期一

EBS R12 多节点安装

开启vncserver服务,然后作以下设置(默认VNC服务不启动)
5.1 设置/etc/sysconfig/vncservers
去掉以下两行注释符
VNCSERVERS="1:myusername"
VNCSERVERARGS[1]="-geometry 800x600"
5.2 启动vncserver,修改vnc口令
#vncserver (如出现口令界面)
#vncpasswd
5.3 打开/root/.vnc/xstartup
去掉以下两行注释
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
以下可选:
修改tvm 为 startkde(KDE环境)
修改tvm 为 gnome-session(KDE环境)
5.4 错误可能:error opening security policy file /usr/X11R6/lib/X11/xserver/SecurityPolicy
ln -s /usr/X11R6/lib/X11/xserver /etc/X11/xserver
可能是软件本身的错误,所以需要修正目录,字体问题也可参照该逻辑修改。
5.5 关闭/启用
vncsever -kill [:num] / vncserver : [num]

hosts文件
以root用户登录系统。
在目录/etc/下找到hosts文件,按照如下方式加入主机名等信息。
127.0.0.1 localhost.localdomain localhost
192.168.0.7 ebsdb.domain.com ebsdb

其中需要注意的是:192.168.0.7是你定的系统的IP地址、ebsdb是主机名、domain.com是域名。在同一行中,主机名写在主机名.域名的后边。比如ebs12写在ebs12.koki.com的后边。
network文件
以root用户登录系统。
检查/etc/sysconfig/network文件中是否包含如下这行,如果没有,则追加这一行。
HOSTNAME=ebsdb.domain.com
检查/etc/sysconfig/networking/profiles/default/network这个文件是否存在。如果存在则删除或者重命名。
网络连通确认
执行ping命令,确保以下命令通过。



以root用户登录系统。编辑/etc/sysctl.conf文件,追加如下内容。

kernel.sem = 256 32000 100 142
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.msgmax = 8192
kernel.msgmnb = 65535
kernel.msgmni = 2878
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144

修改完毕后保存文件,执行 sysctl –p 命令把这些修改反映到当前系统中。
编辑/etc/security/limits.conf文件。在文件的最后追加如下内容:

hard nofile 65535
soft nofile 4096
hard nproc 16384
soft nproc 2047

创建安装目录
以root用户登录系统,执行如下命令

# mkdir /d01 ##用来存放数据库层,应用层和数据库文件等
# chmod -R 777 /d01
# mkdir /stage12 ##用来存放安装文件
# chmod -R 777 /stage12

创建用户
按照标准要创建两个用户分别用来管理数据库层和应用层。但也可以创建一个用户,通过实行不同的环境变量来区分。
以root用户登录系统,执行如下命令:
# /usr/sbin/groupadd dba ##增加一个用户组
# /usr/sbin/useradd –g dba –d /d01 oracledb ##增加一个用户,主目录是/d01
# /usr/sbin/passwd oracledb ##给oracledb添加密码

检验安装的软件包

检验是否存在如下软件包:

rpm -q glibc-2.3.4-2.25
rpm -q glibc-common-2.3.4-2.25
rpm -q binutils-2.15.92.0.2-21
rpm -q compat-libstdc++-296-2.96-132.7.2
rpm -q gcc-3.4.6-3.1
rpm -q gcc-c++-3.4.6-3.1
rpm -q libgcc-3.4.6-3
rpm -q libstdc++-3.4.6-3.1
rpm -q libstdc++-devel-3.4.6-3
rpm –q libaio_0.3.105-2
rpm –q libaio_devel_0.3.105-2 #这个包在第3张光盘上
rpm -q openmotif21-2.1.30-11.RHEL4.6
rpm -q pdksh-5.2.14-30.3
rpm -q setarch-1.6-1
rpm -q make-3.80-6.EL4
rpm -q gnome-libs-1.4.1.2.90-44.1
rpm -q sysstat-5.0.5-11.rhel4 #这个包在第4张光盘上
rpm -q compat-db-4.1.25-9
rpm -q control-center-2.8.0-12.rhel4.5
rpm -q xscreensaver-4.18-5.rhel4.11

注意
这一步千万不能忽视,不要以为在安装Linux的时候已经默认安装了全部开发软件包就万事大吉了。事实上,上边的sysstat-5.0.5-11.rhel4和libaio_devel_0.3.105-2的软件包并没有被默认安装。而这2个文件的漏缺,会分别导致在安装过程中安装数据库出错和安装完毕后连接Forms的时候出现错误FRM-92101。
在检验以上软件包是否已经被安装的时候,可以通过以下的命令进行模糊查询:
#rpm –qa | grep 软件包的前边几个字符
如果没有发现以上的软件包被安装,或者安装的版本比列出的低的话,在Linux安装盘上去寻找然后安装。安装的方法,如果是在图形环境里的话双击运行就可以了。和Windows没有什么两样。但最好通过rpm来安装。确认并安装完所有的包后,运行 ldconfig –v
修改以上建立的oracle用户的系统登录文件
以oracle用户登录系统,修改oracle用户的登录文件.bash_profile,追加如下两行:
LD_ASSUME_KERNEL=2.6.9-78 #这个可以通过在Linux运行uname –r来获得
export LD_ASSUME_KERNEL
放置Oracle产品信息的Global Inventory的创建
以Oracle用户登录系统,执行如下命令:
$ mkdir /d01/oraInventory
以root用户登录系统,创建如下文件:/etc/ oraInst.loc
文件内容:
inventory_loc=/d01/oraInventory

以上DB和AP服务器都要进行如上设置
……………………………………………………………………………………………………………………
DB 节点
添加用户
Groupadd dba
Useradd –g dba –d /d01 oracledb
Passwd oracledb
安装jdk1.50
Chmod 777 jdk-1_5_0_15-linux-i586-rpm.bin
./ jdk-1_5_0_15-linux-i586-rpm.bin
建立LINK:
ln -s jdk /usr/java/jdk1.5.0_10
在/etc/profile增加以下变量:
export JAVA_HOME="/usr/jdk"
export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib:.
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
在用户oracledb/d01目录下的.bash_profile中添加如下变量说明
PATH=$PATH:$HOME/bin:/usr/java/jdk1.5.0_10/bin:/usr/java/jdk1.5.0_10/jre/bin
export PATH
运行./rapidwiz
进行安装
在Database Node configuration 输入你的DB节点的信息
我的是
Databse type: Fresh Database
Database SID: PROD
Host Name: ebsdb
Domain name. Domain.com
Operating system linuxt (32bit)
Database OS user: oracledb
Database OS Group: dba
Base directory: /d01/oracle/PROD
在Selcet Country - specific Functionalities
添加 China-CN
在Select Internationalization settings
添加Simplified_Chinese - ZHS
Default territory: CHINA
其他都设为 UTF8 (注意此项不添加无法进行语言激活与安装)
在Primary application node configuration输入你的AP节点信息
我的是
Host Name: ebsap
Domain name. Domain.com
Operating system linuxt (32bit)
Database OS user: oracleap
Database OS Group: dba
Base directory: /d01/oracle/PROD
Instance directory: /d01/oracle/PROD/inst
点击下一步,下一步开始安装
安装完毕后
用户profile设置
在oracledb/.bash_profile 添加:
. /d01/oracle/PROD/db/tech_st/10.2.0/PROD_ebsdb.env 注意.和/之间有一个空格
$source .bash_profile
注:根据APPL所在文件夹去添加路径
保存退出后,执行如下命令,使修改后的生效。
注销oracledb 重新登陆oracledb

确认Oracle home目录
echo $ORACLE_HOME
启动oracle DB
./addbctl.sh start prod ($ORACLE_HOME/appsutil/scripts/PRODebsdb)
启动Oracle db listener
./addlnctl.sh start prod ($ORACLE_HOME/appsutil/scripts/PRODebsdb)


停止数据库服务器和数据库侦听器:(使用oracle用户登录系统)
./addlnctl.sh stop PROD ($ORACLE_HOME/appsutil/scripts/PRODebsdb)
./addbctl.sh stop ($ORACLE_HOME/appsutil/scripts/PRODebsdb)

登录到prod数据库
sqlplus apps/apps@prod
匿名登陆
sqlplus /nolog
以DBA登陆到数据库
connect /as sysdba
以apps登陆到数据库
connect apps/apps

AP 节点
添加用户
Groupadd dba
Useradd –g dba –d /d01 oracleap
Passwd oracleap
安装jdk1.50
Chmod 777 jdk-1_5_0_15-linux-i586-rpm.bin
./ jdk-1_5_0_15-linux-i586-rpm.bin
建立LINK:
ln -s jdk /usr/java/jdk1.5.0_10
在/etc/profile增加以下变量:
export JAVA_HOME="/usr/jdk"
export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib:.
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
在用户oracleap/d01目录下的.bash_profile中添加如下变量说明
PATH=$PATH:$HOME/bin:/usr/java/jdk1.5.0_10/bin:/usr/java/jdk1.5.0_10/jre/bin
export PATH
从ebsdb(/d01/oracle/PROD/db/tech_st/10.2.0/appsutil)复制conf_PROD.txt到ebsap
在安装 AP 到
Install Oracle Applications - configuration choice
选择 Load the following saved configuration
选择 Browse
选择 conf_PROD.txt
其余的都按下一步。就可以了。

安装完毕后
用户profile设置
在oracleap/.bash_profile 添加:
. /d01/oracle/PROD/apps/apps_st/appl/APPSPROD_ebsap.env 注意.和/之间有一个空格
$source .bash_profile
注:根据APPL所在文件夹去添加路径
保存退出后,执行如下命令,使修改后的生效。
注销oracleap 重新登陆oracleap


启动APPL,用applprod用户登录,打开命令终端
#cd /d01/oracle/PROD/inst/apps/PROD_ebsdb/admin/scripts/
#./adstrtal.sh apps/apps
注:这里一定要先启动数据库然后再启动apps,不然会报错。
关闭系统
停止应用服务器:(使用oracle用户登录系统)
cd /d01/oracle/PROD/inst/apps/PROD_ebsdb/admin/scripts/
./adstpall.sh apps/apps

分别检查进程ps -ef|grep oracleap/oracledb
ps -ef|grep oradb
ps -ef|grep oraprod
ps -ef|grep applprod
kill -9 -1 杀掉所有进程

调整数据库SGA区的大小
默认安装完毕后,数据库的SGA的大小是1G。而我的内存一共才1G。所以就会非常非常的累,我把SGA减小为512M。如果你的内存1.5G以上的话就完全没有必要调整了。
修改Oracle数据库的初始化文件
/d01/oracle/VIS/db/tech_st/10.2.0/dbs/initVIS.ora
修改如下内容
sga_target = 500M ###默认值 1G
pga_aggregate_target = 500M ###默认值 1G

启动应用服务器的时候,上边使用了adstatall.sh这条Shell命令。其实它启动了应用服务器的所有服务。也可以分别启动或停止服务。adstatall.sh中包括的服务和说明如下:

adopmnctl.sh OPMN ./adopmnctl.sh start或stop
adapcctl.sh APACHE ./adapcctl.sh start或stop
adoacorectl.sh OACORE ./adoacorectl.sh start或stop
adformsctl.sh FORMS ./adformsctl.sh start或stop
adoafmctl.sh OAFM ./adoafmctl.sh start或stop
adanctl.sh Report Engin ./adanctl.sh start apps/apps或stop
adcmctl.sh concurrent manager ./adcmctl.sh start或stop
jttfmctl.sh Fulfillment ./jttfmctl.sh或stop

添加中文 登陆到ebs系统 打开system administration->License Manager->Languages-
>选择中文 选择一个基本语言。这里选择中文。下一步->submit 在AP节点 注销重新登录
打开terminal 输入unset LANG 输入adadmin 要求输入SYSTEM口令 输入 manager
要求输入APPS口令 输入 apps 选择 5. Change Maintenance Mode 选择 1. Enable
Maintenance Mode 选择 4. Maintain Applications Database Entities menu 选择 3.
Maintain Muti-Lingual Tables 结束后,一路回车,退出ADADMIN命令。 check language
等待的时间会比较长。我的就等了2个多小时
第一次关闭数据库将会花费比较长的时间。请不要误以为出现了问题而进行强制关闭。如果
确实等了很长时间都没有回应的话,请执行如下命令: (首先按下CTRL+C
(中止正在进行的数据库关闭操作) 再者以sys用户登录。在命令行下输入:sqlplus / as
sysdba 再强制终止。在sql提示符下输入:shutdown immediate
最后在sql提示符下输入:exit 来退出。) 数据库关闭后进入中文补丁所在目录 运行
unset LANG 运行 adpatch 按要求输入system 密码 manager 按要求输入APPS 密码 apps
按要求输入patch文件时:输入 u6394500.drv
再输入APPS密码后与输入,patch文件之间会等待很长时间,我大概等待了2个小时
接下来便是adpatch 过程。 这个过程非常漫长。。。。。。。。9-
20小时之间(由DB服务器的配置决定) UTF8的设定
如果再上述的EBS安装中使用了UTF8字符集的话,那么要对以下的文件进行设定:
/d01/oracle/PROD/apps/tech_st/10.1.2/guicommon/tk/admin/ Tk2Motif.rgb
如果你安装了英文以外其它语言包的话,还要对相应语言包名称下的该文件进行设定,比如
简体中文语言包的话:
/d01/oracle/PROD/apps/tech_st/10.1.2/guicommon/tk/admin/ZHS/ Tk2Motif.rgb 修改前
!Tk2Motif*fontMapCs: iso8859-2=EE8ISO8859P2 修改后 Tk2Motif*fontMapCs: iso8859-
1=UTF8 快照(Snap)更新
所谓快照更新,就是维护文件最近版本的view。一般在进行Patch后,都建议更新一下。进?
型耆煺战峄ǚ驯冉铣さ氖奔洌饫锏幕?个小时。
启动adadmin。(启动方法参考上述章节) 按照如下路径进入快照: [2.Maintain
Applications Files menu] → [4.Maintain snapshot information] → [2.Update
current view snapshot] → [ 1.Update Complete APPL_TOP] 完了后退出adadmin。
关闭维护模式(必需)
这一步非常重要,如果不做的话将不能进入EBS。
启动adadmin。(启动方法参考上述章节)
按照如下路径关闭维护模式
[5. Change Maintenance Mode] → [2. Disable Maintenance Mode]
完了后退出adadmin。
启动应用服务器,登录EBS

EBSr12 多节点安装

开启vncserver服务,然后作以下设置(默认VNC服务不启动)
5.1 设置/etc/sysconfig/vncservers
去掉以下两行注释符
VNCSERVERS="1:myusername"
VNCSERVERARGS[1]="-geometry 800x600"
5.2 启动vncserver,修改vnc口令
#vncserver (如出现口令界面)
#vncpasswd
5.3 打开/root/.vnc/xstartup
去掉以下两行注释
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
以下可选:
修改tvm 为 startkde(KDE环境)
修改tvm 为 gnome-session(KDE环境)
5.4 错误可能:error opening security policy file /usr/X11R6/lib/X11/xserver/SecurityPolicy
ln -s /usr/X11R6/lib/X11/xserver /etc/X11/xserver
可能是软件本身的错误,所以需要修正目录,字体问题也可参照该逻辑修改。
5.5 关闭/启用
vncsever -kill [:num] / vncserver : [num]

hosts文件
以root用户登录系统。
在目录/etc/下找到hosts文件,按照如下方式加入主机名等信息。
127.0.0.1 localhost.localdomain localhost
192.168.0.7 ebsdb.domain.com ebsdb

其中需要注意的是:192.168.0.7是你定的系统的IP地址、ebsdb是主机名、domain.com是域名。在同一行中,主机名写在主机名.域名的后边。比如ebs12写在ebs12.koki.com的后边。
network文件
以root用户登录系统。
检查/etc/sysconfig/network文件中是否包含如下这行,如果没有,则追加这一行。
HOSTNAME=ebsdb.domain.com
检查/etc/sysconfig/networking/profiles/default/network这个文件是否存在。如果存在则删除或者重命名。
网络连通确认
执行ping命令,确保以下命令通过。



以root用户登录系统。编辑/etc/sysctl.conf文件,追加如下内容。

kernel.sem = 256 32000 100 142
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.msgmax = 8192
kernel.msgmnb = 65535
kernel.msgmni = 2878
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144

修改完毕后保存文件,执行 sysctl –p 命令把这些修改反映到当前系统中。
编辑/etc/security/limits.conf文件。在文件的最后追加如下内容:

hard nofile 65535
soft nofile 4096
hard nproc 16384
soft nproc 2047

创建安装目录
以root用户登录系统,执行如下命令

# mkdir /d01 ##用来存放数据库层,应用层和数据库文件等
# chmod -R 777 /d01
# mkdir /stage12 ##用来存放安装文件
# chmod -R 777 /stage12

创建用户
按照标准要创建两个用户分别用来管理数据库层和应用层。但也可以创建一个用户,通过实行不同的环境变量来区分。
以root用户登录系统,执行如下命令:
# /usr/sbin/groupadd dba ##增加一个用户组
# /usr/sbin/useradd –g dba –d /d01 oracledb ##增加一个用户,主目录是/d01
# /usr/sbin/passwd oracledb ##给oracledb添加密码

检验安装的软件包

检验是否存在如下软件包:

rpm -q glibc-2.3.4-2.25
rpm -q glibc-common-2.3.4-2.25
rpm -q binutils-2.15.92.0.2-21
rpm -q compat-libstdc++-296-2.96-132.7.2
rpm -q gcc-3.4.6-3.1
rpm -q gcc-c++-3.4.6-3.1
rpm -q libgcc-3.4.6-3
rpm -q libstdc++-3.4.6-3.1
rpm -q libstdc++-devel-3.4.6-3
rpm –q libaio_0.3.105-2
rpm –q libaio_devel_0.3.105-2 #这个包在第3张光盘上
rpm -q openmotif21-2.1.30-11.RHEL4.6
rpm -q pdksh-5.2.14-30.3
rpm -q setarch-1.6-1
rpm -q make-3.80-6.EL4
rpm -q gnome-libs-1.4.1.2.90-44.1
rpm -q sysstat-5.0.5-11.rhel4 #这个包在第4张光盘上
rpm -q compat-db-4.1.25-9
rpm -q control-center-2.8.0-12.rhel4.5
rpm -q xscreensaver-4.18-5.rhel4.11

注意
这一步千万不能忽视,不要以为在安装Linux的时候已经默认安装了全部开发软件包就万事大吉了。事实上,上边的sysstat-5.0.5-11.rhel4和libaio_devel_0.3.105-2的软件包并没有被默认安装。而这2个文件的漏缺,会分别导致在安装过程中安装数据库出错和安装完毕后连接Forms的时候出现错误FRM-92101。
在检验以上软件包是否已经被安装的时候,可以通过以下的命令进行模糊查询:
#rpm –qa | grep 软件包的前边几个字符
如果没有发现以上的软件包被安装,或者安装的版本比列出的低的话,在Linux安装盘上去寻找然后安装。安装的方法,如果是在图形环境里的话双击运行就可以了。和Windows没有什么两样。但最好通过rpm来安装。确认并安装完所有的包后,运行 ldconfig –v
修改以上建立的oracle用户的系统登录文件
以oracle用户登录系统,修改oracle用户的登录文件.bash_profile,追加如下两行:
LD_ASSUME_KERNEL=2.6.9-78 #这个可以通过在Linux运行uname –r来获得
export LD_ASSUME_KERNEL
放置Oracle产品信息的Global Inventory的创建
以Oracle用户登录系统,执行如下命令:
$ mkdir /d01/oraInventory
以root用户登录系统,创建如下文件:/etc/ oraInst.loc
文件内容:
inventory_loc=/d01/oraInventory

以上DB和AP服务器都要进行如上设置
……………………………………………………………………………………………………………………
DB 节点
添加用户
Groupadd dba
Useradd –g dba –d /d01 oracledb
Passwd oracledb
安装jdk1.50
Chmod 777 jdk-1_5_0_15-linux-i586-rpm.bin
./ jdk-1_5_0_15-linux-i586-rpm.bin
建立LINK:
ln -s jdk /usr/java/jdk1.5.0_10
在/etc/profile增加以下变量:
export JAVA_HOME="/usr/jdk"
export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib:.
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
在用户oracledb/d01目录下的.bash_profile中添加如下变量说明
PATH=$PATH:$HOME/bin:/usr/java/jdk1.5.0_10/bin:/usr/java/jdk1.5.0_10/jre/bin
export PATH
运行./rapidwiz
进行安装
在Database Node configuration 输入你的DB节点的信息
我的是
Databse type: Fresh Database
Database SID: PROD
Host Name: ebsdb
Domain name. Domain.com
Operating system linuxt (32bit)
Database OS user: oracledb
Database OS Group: dba
Base directory: /d01/oracle/PROD
在Selcet Country - specific Functionalities
添加 China-CN
在Select Internationalization settings
添加Simplified_Chinese - ZHS
Default territory: CHINA
其他都设为 UTF8 (注意此项不添加无法进行语言激活与安装)
在Primary application node configuration输入你的AP节点信息
我的是
Host Name: ebsap
Domain name. Domain.com
Operating system linuxt (32bit)
Database OS user: oracleap
Database OS Group: dba
Base directory: /d01/oracle/PROD
Instance directory: /d01/oracle/PROD/inst
点击下一步,下一步开始安装
安装完毕后
用户profile设置
在oracledb/.bash_profile 添加:
. /d01/oracle/PROD/db/tech_st/10.2.0/PROD_ebsdb.env 注意.和/之间有一个空格
$source .bash_profile
注:根据APPL所在文件夹去添加路径
保存退出后,执行如下命令,使修改后的生效。
注销oracledb 重新登陆oracledb

确认Oracle home目录
echo $ORACLE_HOME
启动oracle DB
./addbctl.sh start prod ($ORACLE_HOME/appsutil/scripts/PRODebsdb)
启动Oracle db listener
./addlnctl.sh start prod ($ORACLE_HOME/appsutil/scripts/PRODebsdb)


停止数据库服务器和数据库侦听器:(使用oracle用户登录系统)
./addlnctl.sh stop PROD ($ORACLE_HOME/appsutil/scripts/PRODebsdb)
./addbctl.sh stop ($ORACLE_HOME/appsutil/scripts/PRODebsdb)

登录到prod数据库
sqlplus apps/apps@prod
匿名登陆
sqlplus /nolog
以DBA登陆到数据库
connect /as sysdba
以apps登陆到数据库
connect apps/apps

AP 节点
添加用户
Groupadd dba
Useradd –g dba –d /d01 oracleap
Passwd oracleap
安装jdk1.50
Chmod 777 jdk-1_5_0_15-linux-i586-rpm.bin
./ jdk-1_5_0_15-linux-i586-rpm.bin
建立LINK:
ln -s jdk /usr/java/jdk1.5.0_10
在/etc/profile增加以下变量:
export JAVA_HOME="/usr/jdk"
export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib:.
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
在用户oracleap/d01目录下的.bash_profile中添加如下变量说明
PATH=$PATH:$HOME/bin:/usr/java/jdk1.5.0_10/bin:/usr/java/jdk1.5.0_10/jre/bin
export PATH
从ebsdb(/d01/oracle/PROD/db/tech_st/10.2.0/appsutil)复制conf_PROD.txt到ebsap
在安装 AP 到
Install Oracle Applications - configuration choice
选择 Load the following saved configuration
选择 Browse
选择 conf_PROD.txt
其余的都按下一步。就可以了。

安装完毕后
用户profile设置
在oracleap/.bash_profile 添加:
. /d01/oracle/PROD/apps/apps_st/appl/APPSPROD_ebsap.env 注意.和/之间有一个空格
$source .bash_profile
注:根据APPL所在文件夹去添加路径
保存退出后,执行如下命令,使修改后的生效。
注销oracleap 重新登陆oracleap


启动APPL,用applprod用户登录,打开命令终端
#cd /d01/oracle/PROD/inst/apps/PROD_ebsdb/admin/scripts/
#./adstrtal.sh apps/apps
注:这里一定要先启动数据库然后再启动apps,不然会报错。
关闭系统
停止应用服务器:(使用oracle用户登录系统)
cd /d01/oracle/PROD/inst/apps/PROD_ebsdb/admin/scripts/
./adstpall.sh apps/apps

分别检查进程ps -ef|grep oracleap/oracledb
ps -ef|grep oradb
ps -ef|grep oraprod
ps -ef|grep applprod
kill -9 -1 杀掉所有进程

调整数据库SGA区的大小
默认安装完毕后,数据库的SGA的大小是1G。而我的内存一共才1G。所以就会非常非常的累,我把SGA减小为512M。如果你的内存1.5G以上的话就完全没有必要调整了。
修改Oracle数据库的初始化文件
/d01/oracle/VIS/db/tech_st/10.2.0/dbs/initVIS.ora
修改如下内容
sga_target = 500M ###默认值 1G
pga_aggregate_target = 500M ###默认值 1G

启动应用服务器的时候,上边使用了adstatall.sh这条Shell命令。其实它启动了应用服务器的所有服务。也可以分别启动或停止服务。adstatall.sh中包括的服务和说明如下:

adopmnctl.sh OPMN ./adopmnctl.sh start或stop
adapcctl.sh APACHE ./adapcctl.sh start或stop
adoacorectl.sh OACORE ./adoacorectl.sh start或stop
adformsctl.sh FORMS ./adformsctl.sh start或stop
adoafmctl.sh OAFM ./adoafmctl.sh start或stop
adanctl.sh Report Engin ./adanctl.sh start apps/apps或stop
adcmctl.sh concurrent manager ./adcmctl.sh start或stop
jttfmctl.sh Fulfillment ./jttfmctl.sh或stop

添加中文 登陆到ebs系统 打开system administration->License Manager->Languages-
>选择中文 选择一个基本语言。这里选择中文。下一步->submit 在AP节点 注销重新登录
打开terminal 输入unset LANG 输入adadmin 要求输入SYSTEM口令 输入 manager
要求输入APPS口令 输入 apps 选择 5. Change Maintenance Mode 选择 1. Enable
Maintenance Mode 选择 4. Maintain Applications Database Entities menu 选择 3.
Maintain Muti-Lingual Tables 结束后,一路回车,退出ADADMIN命令。 check language
等待的时间会比较长。我的就等了2个多小时
第一次关闭数据库将会花费比较长的时间。请不要误以为出现了问题而进行强制关闭。如果
确实等了很长时间都没有回应的话,请执行如下命令: (首先按下CTRL+C
(中止正在进行的数据库关闭操作) 再者以sys用户登录。在命令行下输入:sqlplus / as
sysdba 再强制终止。在sql提示符下输入:shutdown immediate
最后在sql提示符下输入:exit 来退出。) 数据库关闭后进入中文补丁所在目录 运行
unset LANG 运行 adpatch 按要求输入system 密码 manager 按要求输入APPS 密码 apps
按要求输入patch文件时:输入 u6394500.drv
再输入APPS密码后与输入,patch文件之间会等待很长时间,我大概等待了2个小时
接下来便是adpatch 过程。 这个过程非常漫长。。。。。。。。9-
20小时之间(由DB服务器的配置决定) UTF8的设定
如果再上述的EBS安装中使用了UTF8字符集的话,那么要对以下的文件进行设定:
/d01/oracle/PROD/apps/tech_st/10.1.2/guicommon/tk/admin/ Tk2Motif.rgb
如果你安装了英文以外其它语言包的话,还要对相应语言包名称下的该文件进行设定,比如
简体中文语言包的话:
/d01/oracle/PROD/apps/tech_st/10.1.2/guicommon/tk/admin/ZHS/ Tk2Motif.rgb 修改前
!Tk2Motif*fontMapCs: iso8859-2=EE8ISO8859P2 修改后 Tk2Motif*fontMapCs: iso8859-
1=UTF8 快照(Snap)更新
所谓快照更新,就是维护文件最近版本的view。一般在进行Patch后,都建议更新一下。进?
型耆煺战峄ǚ驯冉铣さ氖奔洌饫锏幕?个小时。
启动adadmin。(启动方法参考上述章节) 按照如下路径进入快照: [2.Maintain
Applications Files menu] → [4.Maintain snapshot information] → [2.Update
current view snapshot] → [ 1.Update Complete APPL_TOP] 完了后退出adadmin。
关闭维护模式(必需)
这一步非常重要,如果不做的话将不能进入EBS。
启动adadmin。(启动方法参考上述章节)
按照如下路径关闭维护模式
[5. Change Maintenance Mode] → [2. Disable Maintenance Mode]
完了后退出adadmin。
启动应用服务器,登录EBS

2008年12月12日星期五

解决感染autorun病毒c,d,e,f盘打不开的办法

电脑中autorun病毒了,c,d,e,f盘双击打不开了,很郁闷,下面就介绍一个解决c,d,e,f盘打不开的好办法,新建个记事本将下面的复制进去,最后把.txt后缀改成.bat,双击就可以了。
@echo on
taskkill /im explorer.exe /f
taskkill /im wscript.exe
start reg add HKCUSOFTWAREMicrosoftWindowsCurrentVersionEXplorerAdvanced /v ShowSuperHidden /t REG_DWORD /d 1 /f
start reg import kill.reg
del c:autorun.* /f /q /as
del %SYSTEMROOT%system32autorun.* /f /q /as
del d:autorun.* /f /q /as
del e:autorun.* /f /q /as
del f:autorun.* /f /q /as
del g:autorun.* /f /q /as
del h:autorun.* /f /q /as
del i:autorun.* /f /q /as
del j:autorun.* /f /q /as
del k:autorun.* /f /q /as
del l:autorun.* /f /q /as
start explorer.exe

2008年12月7日星期日

如何用一个命令同时解压多个zip文件

如何用一个命令同时解压多个zip文件

法一:用分号隔开(适用于对象较少的时候)

# ls
p2848731_11i_SOLARIS.zip p2848731_11i_zhs.zip p4262360_11i_GENERIC.zip
#unzip p2848731_11i_SOLARIS.zip ;unzip p2848731_11i_zhs.zip ;unzip p4262360_11i_GENERIC.zip

法二:

#find . -name '*.zip' -exec unzip {} \;

法三:

#ls *.zip | xargs -n1 unzip

法四:(借用一个循环)

# for i in *

> do

> unzip $i

> done