标签:SET 数据库 字符集 修改 SQL Oracle ALTER
前言:两个不同的Oracle数据库服务之间导库,需要字符集匹配。
本案例以修改为ZHS16GBK字符集为例。
查看Oracle字符集:
SQL> SELECT USERENV('language') FROM DUAL;
1. sysdba登录数据库
[oracle@ufdb165 ~]$ sqlplus /nolog SQL*Plus: Release 11.2.0.4.0 Production on Wed Aug 24 15:12:20 2022 Copyright (c) 1982, 2013, Oracle. All rights reserved. SQL> conn /as sysdba Connected.
2. 关闭数据库
SQL> shutdown immediate
3. 以mount(挂载方式)打开数据库
SQL> startup mount
4.设置session
SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION; SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0; SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;
5.启动数据库
SQL> alter database open;
6.修改字符集
SQL> ALTER DATABASE CHARACTER SET ZHS16GBK;
可能会报错,提示我们的字符集:新字符集必须为旧字符集的超集,跳过超集检查做更改:
SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
这条语句就可以了,TERNAL_USE提供的帮助就会使oracle绕过了子集与超集的验证,这条语句和上面的语句内部操作时完全相同的。
7.关闭数据库,重新启动
SQL>shutdown immediate SQL> startup
标签:SET,数据库,字符集,修改,SQL,Oracle,ALTER 来源: https://www.cnblogs.com/silgen/p/16620097.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。