jl8323 发表于 2011-12-22 08:54

10g改字符集

<DIV>
<P>又是不好好建实例,新库和老库的字符集不一样,人家就不想重建。NND。</P>
<P>1.查看当前数据库字符集:<BR>SQL&gt; select name,value$ from props$ where name like '%NLS%';<BR>&nbsp;<BR>NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VALUE$<BR>------------------------------ ------------------------------<BR>NLS_LANGUAGE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AMERICAN<BR>NLS_TERRITORY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AMERICA<BR>NLS_CURRENCY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $<BR>NLS_ISO_CURRENCY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AMERICA<BR>NLS_NUMERIC_CHARACTERS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .,<BR>NLS_CHARACTERSET&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; US7ASCII<BR></P>
<P>2.关库,startup mount状态,修改字符集<BR>&nbsp;<BR>SQL&gt; shutdown immediate<BR><BR>SQL&gt; startup mount<BR>SQL&gt; alter system enable restricted session;<BR>&nbsp;<BR>System altered.<BR>&nbsp;<BR>SQL&gt; alter database open;<BR>&nbsp;<BR>Database altered.<BR>&nbsp;<BR>SQL&gt; alter database character set zhs16gbk;<BR>alter database character set zhs16gbk<BR>*<BR>ERROR at line 1:<BR>ORA-12716: Cannot ALTER DATABASE CHARACTER SET when CLOB data exists<BR>&nbsp;<BR>&nbsp;<BR>SQL&gt; truncate table Metastylesheet;<BR>&nbsp;<BR>Table truncated.<BR>&nbsp;<BR>SQL&gt; alter database character set zhs16gbk;<BR>alter database character set zhs16gbk<BR>*<BR>ERROR at line 1:<BR>ORA-12716: Cannot ALTER DATABASE CHARACTER SET when CLOB data exists<BR>&nbsp;<BR>4.使用internal_convert来修改<BR>&nbsp;<BR>SQL&gt; alter database character set internal_convert zhs16gbk;<BR>&nbsp;<BR>Database altered.<BR></P>
<P>alert信息:<BR>&nbsp;SYS.WRI$_DBU_HWM_METADATA (LOGIC) - CLOB representation altered<BR>&nbsp;SYS.WRI$_DBU_FEATURE_METADATA (INST_CHK_LOGIC) - CLOB representation altered<BR>&nbsp;SYS.WRI$_DBU_FEATURE_METADATA (USG_DET_LOGIC) - CLOB representation altered<BR>&nbsp;SYS.WRI$_DBU_FEATURE_USAGE (FEATURE_INFO) - CLOB representation altered<BR>&nbsp;SYS.SCHEDULER$_EVENT_LOG (ADDITIONAL_INFO) - CLOB representation altered<BR>&nbsp;SYS.RULE$ (CONDITION) - CLOB representation altered<BR>Refreshing type attributes with new character set information<BR>Completed: alter database character set internal_convert zhs1<BR>----<BR>&nbsp;<BR>5.因为前面清空了SYS.METASTYLESHEET表,需要重新创建<BR>10g中通过运行catmeta.sql脚本来重建<BR>@?/rdbms/admin/catmeta.sql<BR>shutdown<BR>startup</P>
<P>正常。</P>
<P>6.但是之后做impdp发现报以下错误</P>
<BLOCKQUOTE>
<P>Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production<BR>With the Partitioning, OLAP and Data Mining options<BR>ORA-39006: internal error<BR>ORA-39213: Metadata processing is not available</P>
<P>SQL&gt; exec dbms_metadata_util.load_stylesheets<BR><BR>PL/SQL procedure successfully completed.<BR>解决</P>
<P><BR>&nbsp;</P></BLOCKQUOTE></DIV>
页: [1]
查看完整版本: 10g改字符集