`
heiheben
  • 浏览: 132313 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Oracle10g Express 版本修改字符集全过程

阅读更多

安装原因

    1.可以学习一下PowerDesigner

    2.可以防止损坏公司服务器数据

选择Oracle10g XE版本原因

    1.免费、小巧

    2.使用的人多,出问题好查资料

    3.可以为后续的数据库学习积累经验

安装过程

    打开安装文件,选择路径为D:\oraclexe,然后一路next。OK

问题发现

    打开pl/sql developer,提示客户端和服务器端字符集不同。

    使用sysdba身份登录,使用sql

    select * from nls_database_parameters;

    查看字符集得知:

    1.别的服务器使用的字符集都是ZHS16GBK

    2.我安装的服务器字符集为AL8UTF8。

解决方法

    更改本地服务器的字符集

    尝试一(直接修改字符集)

    --关闭数据库实例

    SQL> SHUTDOWN IMMEDIATE;

    --创建一个Oracle实例。读取init.ora初始化参数文件、启动后台进程、初始化系统全局区(SGA)

    SQL> STARTUP nomount;     

    --由实例安装数据库  

    SQL> ALTER DATABASE mount exclusive;

    SQL> ALTER SYSTEM enable restricted session;

    SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;

    SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;

    --打开数据库
    SQL> ALTER DATABASE OPEN;

    --设置字符集为ZHS16GBK

    SQL> ALTER DATABASE CHARACTER SET ZHS16GBK;

    ERROR at line 1:
    ORA-12712: new character set must be a superset of old character set
提示我们的字符集:新字符集必须为旧字符集的超集,这时我们可以跳过超集的检查做更改(UTF8可以根据需要更改,如ZHS16GBK

    --跳过限制直接修改
    SQL> ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK;
    --重启数据库

    SQL>SHUTDOWN IMMEDIATE;

    SQL>STARTUP

  

    启动后发现,乱码问题严重。特别是HTMLDb(就是配置数据库页面)

 

    尝试二(重新建立一个新的数据库)

    1.建立新的数据库文件存放目录D:\oraclexe\oradata\MXE

    2.将文件D:\oraclexe\app\oracle\product\10.2.0\server\config\scripts\init.ora

    拷贝至D:\oraclexe\app\oracle\product\10.2.0\server\config\scripts\minit.ora

    3.修改2中的文件minit.ora,将路径目录替换为D:\oraclexe\oradata\MXE

    修改后,文件minit.ora内容如下 

  

###############################################
# Copyright (c) 1991, 2005, Oracle. All rights reserved. 
###############################################
 
###########################################
# Cursors and Library Cache
###########################################
open_cursors=300
 
###########################################
# Database Identification
###########################################
db_name=XE
 
###########################################
# Diagnostics and Statistics
###########################################
background_dump_dest=D:\oraclexe\oradata\MXE\bdump
core_dump_dest=D:\oraclexe\oradata\MXE\cdump
user_dump_dest=D:\oraclexe\oradata\MXE\udump
 
###########################################
# File Configuration
###########################################
control_files=("D:\oraclexe\oradata\MXE\control.dbf")

###########################################
# Job Queues
###########################################
job_queue_processes=4
 
###########################################
# Miscellaneous
###########################################
compatible=10.2.0.1.0
 
###########################################
# Processes and Sessions
###########################################
sessions=20
 
###########################################
# SGA Memory
###########################################
sga_target=570M
 
###########################################
# Security and Auditing
###########################################
audit_file_dest=D:\oraclexe\oradata\MXE\adump
remote_login_passwordfile=EXCLUSIVE
 
###########################################
# Shared Server
###########################################
dispatchers="(PROTOCOL=TCP) (SERVICE=XEXDB)"
shared_servers=4

###########################################
# Sort, Hash Joins, Bitmap Indexes
###########################################
pga_aggregate_target=190M
 
###########################################
# System Managed Undo and Rollback Segments
###########################################
undo_management=AUTO
undo_tablespace=UNDO

###########################################
# Backup and Recovery
###########################################
DB_RECOVERY_FILE_DEST_SIZE = 10G
DB_RECOVERY_FILE_DEST = D:\oraclexe\app\oracle\flash_recovery_area

os_authent_prefix=""

 

   

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

    4.关闭数据库

    SQL>shutdown immediate;

    5.用修改过的pfile minit.ora启动数据库(nomount)
    SQL>startup nomount pfile='D:\oraclexe\app\oracle\product\10.2.0\server\config\scripts\minit.ora'
    6.执行建立数据库脚本
   

CREATE DATABASE XE
CONTROLFILE REUSE
LOGFILE
GROUP 1 'D:\oraclexe\oradata\MXE\REDO01.LOG' SIZE 10M,
GROUP 2 'D:\oraclexe\oradata\MXE\REDO02.LOG' SIZE 10M,
GROUP 3 'D:\oraclexe\oradata\MXE\REDO03.LOG' SIZE 10M
DATAFILE 'D:\oraclexe\oradata\MXE\SYSTEM01.DBF' SIZE 400M
AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED
SYSAUX DATAFILE 'D:\oraclexe\oradata\MXE\SYSAUX01.DBF' SIZE 250M
AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE temp
TEMPFILE 'D:\oraclexe\oradata\MXE\TEMP01.DBF' SIZE 100M
AUTOEXTEND ON NEXT 50M MAXSIZE 8000M
UNDO TABLESPACE undo
DATAFILE 'D:\oraclexe\oradata\MXE\undo01.DBF' SIZE 100M
AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED
CHARACTER SET ZHS16GBK
NATIONAL CHARACTER SET AL16UTF16;

 

alter user sys identified by dakeng;
alter user SYSTEM identified by dakeng;

    7执行创建数据字典和程序包的系统SQL脚本

    @D:\oraclexe\app\oracle\product\10.2.0\server\RDBMS\ADMIN\catalog.sql
    @D:\oraclexe\app\oracle\product\10.2.0\server\RDBMS\ADMIN\catproc.sql

    8关闭数据库,但不停止服务
    SQL> shutdown immediate;

    9用修改过的pfile test.ora启动数据库

    startup  pfile='D:\oraclexe\app\oracle\product\10.2.0\server\config\scripts\minit.ora'

     创建用户表空间:

     create tablespace USERS datafile 'D:\oraclexe\oradata\MXE\USERS01.DBF' size 100m
     AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;

   

分享到:
评论
1 楼 56148083 2010-05-03  
我也看到类似的方式修改oracleXE字符集,安装第一种方法修改后,控制台出现了乱码。
想问一下楼主,用第二种方式 修改字符集后,控制台还会有乱码吗?

相关推荐

Global site tag (gtag.js) - Google Analytics