Chinaunix首页 | 论坛 | 博客
  • 博客访问: 255869
  • 博文数量: 37
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 378
  • 用 户 组: 普通用户
  • 注册时间: 2015-12-19 22:03
文章分类
文章存档

2018年(9)

2017年(11)

2016年(17)

我的朋友

分类: Oracle

2017-03-01 16:47:49

有时在同步数据过程会遇到两个库的字符集不一致,导致数据无法同步,重新安装数据库很麻烦;这时你就可以用到这个了。
1.在dos窗口中输入sqlplus,然后输入数据库管理员用户密码以及数据库实例登陆oracle数据,
2.将数据库启动到RESTRICTED模式下做字符集更改,

SQL> alter system enable restricted session;

系统已更改。

SQL> shutdown immediate; 

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已关闭. 
3.关闭完成后,输入exit重新输入sqlplus /nolog,使用空闲例程登陆数据库,
SQL>conn / as sysdba;
已连接到空闲例程。

SQL> startup mount;

ORACLE 数据库已装载。

Total System Global Area  236000356 bytes 

Fixed Size                   451684 bytes 

Variable Size             201326592 bytes 

Database Buffers           33554432 bytes 

Redo Buffers                 667648 bytes 

数据库装载完毕。

SQL> alter system set job_quue_processes=0;

系统已更改。

SQL> alter system set aq_tm_processes=0;

系统已更改。

SQL> alter database open; 

数据库已更改。

SQL>alter database character set zhs16gbk;

ALTER DATABASE CHARACTER SET ZHS16GBK 

*
ERROR at line 1: 

ORA-12712:新字符集必须为旧字符集的超集,这时我们可以跳过超集的检查做更改: 

SQL> alter database character set internal_use zhs16gbk;

数据库已更改。

重启检查是否更改完成: 

SQL> shutdown immediate; 

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭

SQL> startup 

ORACLE 数据库已经装载

Total System Global Area  236000356 bytes 

Fixed Size                   451684 bytes 

Variable Size             201326592 bytes 

Database Buffers           33554432 bytes 

Redo Buffers                 667648 bytes 

数据库装载完毕

数据库已经打开.
SQL>select userenv('language') from dual;
查询字符集是否已更改。


阅读(1947) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~