--sunfruit
在Linux Enterprise 5安装Oracle的时候有时候会报错例如“makefile '/oracle/product/10.2.0/db_1/rdbms/lib/ins_rdbms.mk' 的目标 'all_no_orcl' 时出错”
经过多次测试是缺少相关的系统包文件,至少我的环境中确实是这样,只要是安装了下面的包文件,这个错误可以避免(版本号在不同环境中略有不同)
compat-libstdc++-33-3.2.3-61
compat-libstdc++-296-2.96-138
gcc-4.1.1-52.el5
gcc-c++-4.1.1-52.el5
glibc-2.5-12
glibc-common-2.5-12
glibc-devel-2.5-12
glibc-headers-2.5-12
libgcc-4.1.1-52.el5
make-3.81-1.1
binutils-2.17.50.0.6-2.el5
openmotif-2.3.0-0.3.el5
以上的安装包由于在安装Linux的选择的包以及具体的环境不同可能,可能有些不需要,不过如果出现了ins_rdbms.mk的错误,可以按照这个方法尝试一下
注:以上的安装在Linux Enterprise 5的安装盘中都包含,不需要额外在网上下载
-sunfruit
如果在安装Oracle10g的时候没有选择字符集,则按照下面的3部进行字符集的修改就可以完全正常的使用Oracle10g(注:关于下面的1、2、3均是转贴,后面添加了个人在使用的时候一些心得)
1、检查服务器上Oracle数据库的字符集
sqlplus /nolog
SQL> connect / as sysdba
连接成功.
SQL> desc props$
列名 可空值否 类型
------------------------------- -------- ----
NAME NOT NULL VARCHAR2(30)
VALUE$ VARCHAR2(2000)
COMMENT$ VARCHAR2(2000)
SQL> col value$ format a40
SQL> select name,value$ from props$;
NAME VALUE$
------------------------------ -------------------------
DICT.BASE 2
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_DATE_FORMAT DD-MON-YY
NLS_DATE_LANGUAGE AMERICAN
NLS_CHARACTERSET ZHS16GBK
NLS_SORT BINARY
NLS_CALENDAR GREGORIAN
NLS_RDBMS_VERSION 7.3.4.0.0
GLOBAL_DB_NAME ORACLE.WORLD
EXPORT_VIEWS_VERSION 3
NLS_CHARACTERSET和NLS_CHAR_CTERSET这个参数应该是ZHS16GBK,如不是,改为它。
SQL*Plus中修改方法:
SQL> update props$ set value$='ZHS16GBK' where name='NLS_CHARACTERSET';
2、确认字符集是否修改的不彻底。
SELECT DISTINCT (NLS_CHARSET_NAME(CHARSETID)) CHARACTERSET,
DECODE(TYPE#, 1,
DECODE(CHARSETFORM, 1, 'VARCHAR2', 2, 'NVARCHAR2', 'UNKOWN'),
9,
DECODE(CHARSETFORM, 1, 'VARCHAR', 2, 'NCHAR VARYING', 'UNKOWN'),
96,
DECODE(CHARSETFORM, 1, 'CHAR', 2, 'NCHAR', 'UNKOWN'),
112,
DECODE(CHARSETFORM, 1, 'CLOB', 2, 'NCLOB', 'UNKOWN')) TYPES_USED_IN
FROM SYS.COL$
WHERE CHARSETFORM IN (1, 2)
AND TYPE# IN (1, 9, 96, 112);
3、如果上面的查询的确显示有多个字符集的设定,则进行如下处理:
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER SYSTEM SET AQ_TM_PROCESSES=0;
ALTER DATABASE OPEN;
COL VALUE NEW_VALUE CHARSET
SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET';
COL VALUE NEW_VALUE NCHARSET
SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_NCHAR_CHARACTERSET';
--INTERNAL_USE是没有写在文档中的参数,用以强制完成字符集一致化
ALTER DATABASE CHARACTER SET INTERNAL_USE &CHARSET;
ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE &NCHARSET;
SHUTDOWN IMMEDIATE;
STARTUP;
-- 再次启动数据库一遍
SHUTDOWN IMMEDIATE;
STARTUP;
**************注意****************
本人在使用上面的方法设置以后Oracle10g可以正常使用,在导入dmp,sql文件的时候则需要在Linux中做如下设置
sql文件,dmp文件在导入oracle的时候需要设置字符集
export LANG=zh_CN.GBK //这个是linux的字符集设置
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK //这个是oracle的字符集设置
--sunfruit
在applet上叠加层有2种方式
第一:使用iframe的方式
第二:使用window.createPopup();方式
<div></div>的方式我是没有试成功,无论如何设置,div都在applet的下面,要是哪位实验成功了,经验也共享一下
由于window.createPopup()主要用于创建右键菜单,由于其的一些特性,例如在其他地方点击,该window.createPopup()对象消失,所以叠加层方式使用window.createPopup()并不合适,使用iframe制作叠加层的效果更好更好
效果图如下
演示:
http://www.fruitres.cn/applet.jsp,可以从该演示页直接下载js代码,或者到代码下载页下载
代码下载:
http://www.fruitres.cn/servlet/buyproductservlet?tag=single&tag1=info&PRODUCT_ID=1084563770&number=0
更多下载:
http://www.fruitres.cn/