oracle数据库怎么修改编码格式utf-8

oracle数据库怎么修改编码格式utf-8,第1张

以下内容为固定写法,可以修改数据库编码格式。

第一步:通过系统管理员权限登录数据库。

sql>conn / as sysdba

第二步:关闭数据库和实例连接。

sql>shutdown immediate

database closed.

database dismounted.

oracle instance shut down.

第三步:启动数据库实例连接。

sql>startup mount

oracle instance started.

total system global area 135337420 bytes

fixed size 452044 bytes

variable size 109051904 bytes

database buffers 25165824 bytes

redo buffers 667648 bytes

database mounted.

第四步:限制其它用户连接数据库使用资源。

sql>alter system enable restricted session

system altered.

第五步:设置作业进行为0个。

sql>alter system set job_queue_processes=0

system altered.

第六步:设置启动时间管理器的数量为0

sql>alter system set aq_tm_processes=0

system altered.

第七步:打开数据库连接

sql>alter database open

database altered.

第八步:修改需要的编码格式

sql>alter database character set internal_use GBK

第九步:关闭连接。

sql>shutdown immediate

第十步:启动oracle进程。

sql>startup

备注:常用的有:UTF-8,GBK 。

UTF-8:是一种针对Unicode的可变长度字符编码,又称万国码。由Ken Thompson于1992年创建。现在已经标准化为RFC 3629。UTF-8用1到6个字节编码UNICODE字符。用在网页上可以同一页面显示中文简体繁体及其它语言(如英文,日文,韩文)。

不一样的。

Oracle数据库内核是用c编写的,但是,大部分代码是在数据库中执行的,使用PL/SQL和Java(使用嵌入在内核中的jvm)开发。外围工具(SQLDeveloper,grid控件)主要使用Java。

MySQL是用C和c++编写的。它的SQL解析器是用yacc编写的,但是它使用一个定制的词法分析器。MySQL可以在很多系统平台上工作。

扩展资料:

Oracle文件结构:

数据库的物理存储结构由多种物理文件组成,主要包括数据文件、控制文件、重做日志文件、归档日志文件、参数文件、密码文件、警告文件等。

1.控制文件:存储诸如实例、数据文件和日志文件等信息的二进制文件。改变系统设置control_files='path'。VCONTROLFILE美元。

2.数据文件:存储数据。DBF后缀。一个语句:一个表空间用于多个数据文件,一个数据文件用于一个表空间。Dba_data_files/v$丢失。

3.日志文件:重做日志文件和Archivelog文件。记录数据库修改信息。ALTER系统切换日志文件;。V$日志。

4.参数文件:记录基本参数。Spfilepfile。

5.警告文件:显示参数background_dump_dest——使用共享服务器连接。

6.跟踪文件:显示参数user_dump_dest——使用专用服务器连接。

在Redhat上安装Oracle 10g没有设定字符集,采用的是 *** 作系统默认字符集:WE8ISO8859P1,将字符集修改为:ZHS16GBK。由于过程不可逆,首先需要备份数据库。

1.数据库全备

2.查询当前字符集

SQL>select * from nls_database_parameters where parameter='NLS_CHARACTERSET'

PARAMETER                                VALUE

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

NLS_CHARACTERSET                         WE8ISO8859P1

3.关闭数据库

SQL>shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

4.启动数据库到mount状态

SQL>startup mount

ORACLE instance started.

Total System Global Area  205520896 bytes

Fixed Size                  1266608 bytes

Variable Size             100666448 bytes

Database Buffers          100663296 bytes

Redo Buffers                2924544 bytes

Database mounted.

5.限制session

SQL>alter system enable restricted session

System altered.

6.查询相关参数并修改

SQL>show parameter job_queue_processes

NAME                                 TYPE        VALUE

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

job_queue_processes                  integer     10

SQL>show parameter aq_tm_processes

NAME                                 TYPE        VALUE

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

aq_tm_processes                      integer     0

SQL>alter system set job_queue_processes=0

System altered.

7.打开数据库

SQL>alter database open

Database altered.

8.修改字符集

SQL>alter database character set ZHS16GBK

alter database character set ZHS16GBK

*

ERROR at line 1:

ORA-12712: new character set must be a superset of old character set

出现错误提示,新字符集必须是老字符集的超集,也就原来字符集是新字符集的子集,可以再Oracle官方文档上查询字符集包含关系。下面使用Oracle内部命令internal_use,跳过超集检查,生产环境不建议使用此方法。

SQL>alter database character set internal_use ZHS16GBK       

Database altered.

9.查询当前字符集

SQL>select * from nls_database_parameters where parameter='NLS_CHARACTERSET'

PARAMETER                                VALUE

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

NLS_CHARACTERSET                         ZHS16GBK

10.关闭数据库

SQL>shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

11.启动数据库到mount状态

SQL>startup mount

ORACLE instance started.

Total System Global Area  205520896 bytes

Fixed Size                  1266608 bytes

Variable Size             100666448 bytes

Database Buffers          100663296 bytes

Redo Buffers                2924544 bytes

Database mounted.

12.将相关参数改回原来值

SQL>alter system set job_queue_processes=10

System altered.

13.打开数据库

SQL>alter database open

Database altered.


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6612155.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-25
下一篇2023-03-25

发表评论

登录后才能评论

评论列表(0条)

    保存