之前utf8时候导入的数据,然后转成ZHS16GBK,数据库乱码了,现在想删除这个用户及数据,drop user SWDATA cascade;报这个错。。。
参考GPT和自己的思路:
根据给出的情况,这个错误的出现原因可能是由于数据库中存在非ASCII字符被转义后在其他字符集中已经不存在了,所以导致数据无法删除。解决办法如下:
1.尝试使用ALTER DATABASE CHARACTER SET ZHS16GBK;修改数据库默认的字符编码为ZHS16GBK,然后重新执行DROP USER SWDATA CASCADE;语句。
2.如果方式1无法解决问题,可以尝试使用以下语句删除该用户和数据:
$ORACLE_HOME/rdbms/admin/catldr.sql
$ORACLE_HOME/rdbms/admin/utlirp.sql
$ORACLE_HOME/rdbms/admin/prvtload.plb
具体操作流程可以参考官方文档:
https://docs.oracle.com/cd/E18283_01/server.112/e17120/dp_import.htm#i1016233