oracle 10g常见问题精选 (2)

2016-02-19 16:44 1 1 收藏

下面请跟着图老师小编一起来了解下oracle 10g常见问题精选 (2),精心挑选的内容希望大家喜欢,不要忘记点个赞哦!

【 tulaoshi.com - 编程语言 】

一、乱码问题

Redhat RHEL AS3 下安装 Oracle DB 10g 中文乱码问题

   不少兄弟反映在rhel3下安装oracle10g时出现乱码, 其实在安装和使用时出现乱码的地方有多个, 可以分为三类:

   1. 安装时的乱码
   2. 一些应用程序的乱码, 比如 dbca, netca
   3. 一些基于oc4j的web应用的乱码, 比如 isqlplus, em

   造成这些问题的原因都是一个, 就是这些程序都使用jdk, 相应的jdk(或jre) 使用的字体配置文件 font.properties 中的字体和操作系统的字体或者字体配置文件不匹配. 解决的办法是把两者改成一致.

   1. 下载, 解包 ship.db.cpio.gz, 生成目录 Disk1

   2. cd Disk1/stage/Components/oracle.swd.jre/1.4.2.0.0/1/DataFiles/
   unzip all_except_bin.jar (这时生成一个 jre 的目录)
   cd jre/1.4.2/lib/
   mv font.properties font.properties.bak
   cp font.properties.zh_CN.Redhat8.0 font.properties
   cd ../../../
   zip -r all_except_bin.jar.new jre/
   mv all_except_bin.jar.new all_except_bin.jar
   (其实就是把 font.properties 文件换掉. 这样安装时汉字显示就没有问题了)

   3. 如法炮制, 把Disk1/stage/Components/oracle.jdk/1.4.2.0.0/1/DataFiles/sol_bin.1.1.jar文件里面的font.properties 文件换掉, 创建数据库和执行网络配置时的乱码就没有了. isqlplus 和em 的乱码也解决了。

用IE登录Linux服务器上的em出现的乱码

   不知道大家有没有注意到,EM显示的中文翻译很是糟糕,up/down 动不动就翻译成“向上”“向下”,让人哭笑不得.很多朋友都说,干脆给显示英文算了,可是怎么显示呢?

   好了,现在我们有一种办法很容易的解决这个问题:

   打开你的IE浏览器,选择'工具"--Internet选项--常规

   选择“语言”,默认只有“中文”,选择“添加”,加入英语(美国),调整顺序,把”英语(美国)“放到最上面

   OK ,确定。

   打开你的 http://yoururl:5500/em

   问题解决了。

二、10g如何更改归档模式

   1. 对于初始化文件,只需要修改log_archive_dest_n 这个参数.n=1,2,3,....10, Oracle 缺省会使用log_archive_dest_10这个参数来使用flash recovery area里面存放的归档日志文件,大小由参数db_recovery_file_dest_size来决定.

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

   修改:

   log_archive_dest_1="location=c:oracle10g...archivelog quota_size=2G"
   ...
   如果归档使用flash recovery area, 上面的参数不需要指定任何值,Oracle 会自动使用db_recovery_file_dest这个参数所指定的路径。

   2. 启动sqlplus:

   startup mount pfile='....'
   alter database archivelog;
   (如果启用flashback, alter database flashback on)

   alter database open;
   archive log list(查看是否运行在归档模式)
   (如果前面的log_archive_dest_n没有设置,则会显示USE_DB_RECOVERY_FILE_DEST)

   3. 怎样变成noarchivelog 模式

   步骤基本同上。

三、用dblink在10G中做create table ..as select * from ..varchar2()的column宽度变成3倍

   问题描述:例如:varchar2(255)==varchar(765)

   测试:1. 环境: 两台机器都装的10G的数据库

   2. 测试步骤和结果:

SQL conn test1/test1@db10G_server1
SQL create database link link_server2

connect to test1 identified by test1

using 'db10G_server2'
SQL conn test1/test1@db10G_server2
SQL create table test1_t1 as select * from all_objects

where rownum=3000;
SQL desc test1_t1;
Name Null? Type

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

OWNER VARCHAR2(30)

OBJECT_NAME VARCHAR2(30)

SUBOBJECT_NAME VARCHAR2(30)

OBJECT_ID NUMBER

DATA_OBJECT_ID NUMBER

OBJECT_TYPE VARCHAR2(19)

CREATED DATE

LAST_DDL_TIME DATE

TIMESTAMP VARCHAR2(19)

STATUS VARCHAR2(7)

TEMPORARY VARCHAR2(1)

GENERATED VARCHAR2(1)

SECONDARY VARCHAR2(1)
SQL conn test1/test1@db10G_server1
SQL create table test1_linkt1 as

select * from test1_t1@link_server2;
SQL desc test1_linkt1
Name Null? Type

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

OWNER VARCHAR2(60)

OBJECT_NAME VARCHAR2(60)

SUBOBJECT_NAME VARCHAR2(60)

OBJECT_ID NUMBER

DATA_OBJECT_ID NUMBER

OBJECT_TYPE VARCHAR2(38)

CREATED DATE

LAST_DDL_TIME DATE

TIMESTAMP VARCHAR2(38)

STATUS VARCHAR2(14)

TEMPORARY VARCHAR2(2)

GENERATED VARCHAR2(2)

SECONDARY VARCHAR2(2)

表结构一样,但是列的长度确实变了, 通过dblink创建的表的varchar2列的长度是原表的两倍

   再来看看字符集

   1.Server1上的数据库字符集

SQL column value format A20
SQL select value from nls_database_parameters where parameter='NLS_CHARACTERSET';

value
--------------
ZHS16GBK

   2. Server2上的数据库字符集

SQL conn test1/test1@db10G_server2
SQL column value format A20
SQL select value from nls_database_parameters where parameter='NLS_CHARACTERSET';

value
--------------
AL32UTF8

   结论: 与数据库字符集不同有关系.

四、在10g不支持的Linux发行版上安装10g的解决方法

   正常安装的10g只支持Red Hat Enterprise Linux 2.1 and 3, and on UnitedLinux 1.0。如果是其它的版本,比如fedora,rh9等,10g将会说不支持,而不允许安装,解决方法如下:

   1.运行runInstaller -ignoreSysPrereqs,这样会跳过检查

   2.修改/etc/redhat-release文件,让10g认为自己处于支持的操作系统中,运行下面的命令即可

su - root
cp /etc/redhat-release /etc/redhat-release.backup
cat /etc/redhat-release EOF
Red Hat Enterprise Linux AS release 3 (Taroon)
EOF

   安装完毕,再将那个文件还原:

su - root
cp /etc/redhat-release.backup /etc/redhat-release

   3.同样的思路,我们可以去修改Oracle 的install/oraparam.ini文件:

[Certified Versions]
Linux=redhat-2.1,UnitedLinux-1.0,redhat-3

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)


   把这个屏蔽掉,或者是添加新的内容:

[Certified Versions]
Linux=redhat-2.1,UnitedLinux-1.0,redhat-3

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

[Linux-redhat-2.1-optional]
TEMP_SPACE=80
SWAP_SPACE=150
MIN_DISPLAY_COLORS=256

[UnitedLinux-1.0-optional]
TEMP_SPACE=80
SWAP_SPACE=150
MIN_DISPLAY_COLORS=256

[Linux-redhat-3.0-optional]
TEMP_SPACE=80
SWAP_SPACE=150
MIN_DISPLAY_COLORS=256

   对这个地方定制一下就可以了。

   注:有兴趣的朋友不妨测试一下,其实在这个地方可以定制很多东西的,但是不推荐在正式的应用中这么做。

来源:https://www.tulaoshi.com/n/20160219/1612947.html

延伸阅读
标签: Web开发
以前搜集的一个Oracle比较常见问题的列表,忘记了是从哪来的 关于 SELECT N 问题 有感于一些网友多次咨询和讨论选取某些指定行数据的问题, 我写了下面这样的简单说明, 请大家指正. 这里描述的 SELECT N 包括这样几种情况: 1. 选取TOP N行记录 2. 选取N1-N2行记录 3. 选取FOOT N行记录 当然需要考虑是否有ORDER BY子句的情况, 下面试以系统...
目标 数据库恢复 恢复控制文件 不完全恢复的原因 使用EM完成不完全恢复 使用RMAN完成不完全恢复 使用SQL完成不完全恢复 在RESETLOGS操作之后完成数据库恢复 10g有三种方法恢复:1.传统的用户管理恢复过程2.RMAN 3.使用EM 理解Restore(重建)和Recovery(恢复)过程 重建:包括复制必...
近日,为了适应新的形式,响应ORACLE 公司号召,体验ORACLE 公司的新产品的功能,决定对其中一个数据库由8i 迁移到10g ,但作业过程中,出现了一些问题,现在给大家共享一下 迁移对象: SUN SOLARIS8 ORACLE8.1.7.4 NLS_CHARACTERSET ZHS16GBK 接受对象: IBM AIX 5.2 ORACLE10.1.0.5 NLS_CHARACTERSET...
我在安装ORACLE 10g过程中遇到了两个主要问题:如何彻底删除旧版本和如何配制MS Loopback Adapter。现把解决办法贴出来,供大家参考。 一,如何彻底删除旧版本的oracle 1,在cmd里运行DBCA,在这里删除oracle实例,有多少删多少; 2,在开始程序中找到oracle子目录下的Universal Installer,运行以卸载oracle软件; 3...
     在前面的文章,我为大家介绍了如何使用Oracle 10g的虚拟私有数据库特征(VPD)掩藏某列数据TechRepublic的成员BrooklynPennyPincher建议我写一篇关于VPD与关系视图的比较文章。      前面文章中小技巧的任务是假如department_id的值等于60,那么掩藏报告中的salary和commission_pct列。因为谓词...

经验教程

930

收藏

79
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部