Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
字符集更改后,应用程序无法访问Oracle_Oracle_Oracle11g - Fatal编程技术网

字符集更改后,应用程序无法访问Oracle

字符集更改后,应用程序无法访问Oracle,oracle,oracle11g,Oracle,Oracle11g,我使用这些命令将Oracle中的字符集从we8mswin1252更改为al32utf8 SHUTDOWN IMMEDIATE STARTUP RESTRICT ALTER DATABASE CHARACTER SET INTERNAL_USE AL32UTF8; ALTER DATABASE CHARACTER SET AL32UTF8; SHUTDOWN IMMEDIATE STARTUP 虽然我的字符集已更改,但我失去了应用程序对所有当前数据库的访问权限。我必须创建另一个数据库来

我使用这些命令将Oracle中的字符集从we8mswin1252更改为al32utf8

SHUTDOWN IMMEDIATE

STARTUP RESTRICT

ALTER DATABASE CHARACTER SET INTERNAL_USE AL32UTF8;

ALTER DATABASE CHARACTER SET AL32UTF8;

SHUTDOWN IMMEDIATE

STARTUP

虽然我的字符集已更改,但我失去了应用程序对所有当前数据库的访问权限。我必须创建另一个数据库来运行应用程序。有解决方案吗?

你是说你不能再连接了吗?关闭然后启动肯定会断开当前会话。您的应用程序是否处理连接丢失,并且能够重新连接?也许重新启动应用程序会有帮助,而不是创建新的数据库。我甚至重新启动了我的系统。但可以连接到我创建的现有数据库。我必须创建一个新的数据库。
ALTER数据库字符集AL32UTF8
从Oracle 10.1开始就不受支持。很可能是您破坏了数据库—希望您有备份来恢复它。为了正确地迁移到UTF-8,除了
ALTER DATABASE CHARACTER SET
被弃用之外,您还使用了
INTERNAL\u USE
子句,该子句绕过了数据库在进行此更改之前将进行的(有限的)健全性检查。除非Oracle支持人员明确告诉您这样做(而且他们几乎肯定不会告诉您这样做),否则永远不要使用该子句,因为如果设置不完善,它将破坏数据库。肯定是时候恢复备份并重新考虑迁移方法了。