RE: Changing Character Set

  • From: "Justin Cave" <justin@xxxxxxxxxxx>
  • To: <oracle-l@xxxxxxxxxxxxx>
  • Date: Fri, 30 Jul 2004 12:52:22 -0600

Do the other databases have data stored in NCHAR/ NVARCHAR2/ NCLOB columns?
If so, is that data really ASCII (i.e. only English, no characters above
127)?  

What about the CHAR/ VARCHAR2/ CLOB data?  Is that really ASCII?

If everything really is ASCII, can you change the national character set to
UTF8 on the existing databases, since that is a strict binary superset of
US7ASCII?

Justin Cave
Distributed Database Consulting, Inc.
http://www.ddbcinc.com/askDDBC

-----Original Message-----
From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx]
On Behalf Of Ken Payton
Sent: Friday, July 30, 2004 11:31 AM
To: oracle-l@xxxxxxxxxxxxx
Subject: RE: Changing Character Set

It is actually looking even more grim.  What I am trying to build is a = new
10g environment that will allow the transporting of tablespaces from = our
various existing 8i environments which have a US7ASCII character set = and
national character set.  9i/10g only allows AL16UTF16 or UTF8 for = national
character set.  I have opened a TAR with Oracle to see what = their
recommendations are.  Unfortunately the data can range from = several
hundred GB to upwards of 20TB, conversion is definitely not = feasible.  I
will update the post with Oracle's recommendations.

Kenny
 =20

-----Original Message-----
From: oracle-l-bounce@xxxxxxxxxxxxx
[mailto:oracle-l-bounce@xxxxxxxxxxxxx]On Behalf Of Justin Cave
Sent: Friday, July 30, 2004 10:52 AM
To: oracle-l@xxxxxxxxxxxxx
Subject: RE: Changing Character Set


For any database, the superset check is pretty quick.  It just grabs the
current database character set and the new database character set and =
checks whether the new character set is a strict binary superset (the =
globalization guide has an appendix that lists the valid supersets).  Oracle
never has = to look at your data.

There is an undocumented clause INTERNAL_USE that you can use to force = the
character set change, but I would classify that as an incredibly high = risk
operation (and the fact that the clause itself tells you that it is for
internal use should amplify that warning).  Recreating a database with = no
data is trivial in comparison to the pain and testing that should go in = to
using this clause.


Justin Cave
Distributed Database Consulting, Inc.
http://www.ddbcinc.com/askDDBC

-----Original Message-----
From: oracle-l-bounce@xxxxxxxxxxxxx =
[mailto:oracle-l-bounce@xxxxxxxxxxxxx]
On Behalf Of Mark W. Farnham
Sent: Friday, July 30, 2004 8:46 AM
To: oracle-l@xxxxxxxxxxxxx
Subject: RE: Changing Character Set

OP did write "new" database, so I think that means no user data is at =
risk.
But I'm not sure whether you can even skip the binary superset check for =
the Oracle data dictionary and things they load in support of the products.
= I wonder whether less time and effort and more certainty would be to =
simply recreate the database. Has anyone already done this? Of course one
"it worked okay, no problems" only covers that specific case. Without an
engineering certainty of what might go wrong, there would have to be a
pretty big overhead avoided to justify the testing overhead. For a new
database the superset check should be pretty short, right?

mwf

-----Original Message-----
From: oracle-l-bounce@xxxxxxxxxxxxx
[mailto:oracle-l-bounce@xxxxxxxxxxxxx]On Behalf Of Justin Cave
Sent: Friday, July 30, 2004 9:57 AM
To: oracle-l@xxxxxxxxxxxxx
Subject: RE: Changing Character Set


I'm not sure whether you intended to send a different Metalink note, but
234381.1 covers how to move an Oracle 7 database with the AL24UTFFSS to = 9i
with a character set AL32UTF8 by going through 8i (since AL24UTFFSS = isn't
a valid character set in 9i).

In almost every case, you would not want to skip the superset check.  = When
you change the database character set, Oracle is only updating the =
internal data structures, it is not updating any of the actual data in the =
database.
Without the binary superset check, you can very, very easily corrupt = some
or all of your data.


Justin Cave
Distributed Database Consulting, Inc.
http://www.ddbcinc.com/askDDBC

-----Original Message-----
From: oracle-l-bounce@xxxxxxxxxxxxx =
[mailto:oracle-l-bounce@xxxxxxxxxxxxx]
On Behalf Of Fuad Arshad
Sent: Friday, July 30, 2004 7:16 AM
To: oracle-l@xxxxxxxxxxxxx
Subject: Re: Changing Character Set

metalink  Note:234381.1 can help you do this Ken Payton
<Ken.Payton@xxxxxxxxxxxxxxxxxx> wrote:Does anyone know how to switch off =
the superset check when changing the =3D national character set. I would =
like to change the character set of a =3D new database without rebuilding it
and = I am receiving ORA-12714: invalid =3D national character set
specified. =3D20

-----Original Message-----
From: oracle-l-bounce@xxxxxxxxxxxxx
[mailto:oracle-l-bounce@xxxxxxxxxxxxx]On Behalf Of Tim Gorman
Sent: Friday, July 30, 2004 5:38 AM
To: oracle-l@xxxxxxxxxxxxx
Subject: Re: Lost PERFSTAT bridge scripts Found it


Larry,
Thanks for the post of Mr Hurley's material. Especially useful is the = =3D
use of AUTONOMOUS TRANSACTION pragma, although I've not found it to be
necessary...

I can understand performing a STATSPACK.SNAP before database shutdown, = =3D
to "flush" any values to disk before they are lost, but I am at a loss to
understand the reason to perform a STATSPACK.SNAP in an AFTER STARTUP
database-event trigger?

-Tim


on 7/29/04 1:49 PM, Wolfson Larry - lwolfs at =3D =
lawrence.wolfson@xxxxxxxxxx
wrote:

> Guess I didn't get specific enough on Google the first time.
>=3D20
> Sorry
>=3D20
> http://www.quest-pipelines.com/pipelines/dba/tips03.htm#january
>=3D20
> January's Tip of the Month
>=3D20
> Automatic Statspack Snapshots at Shutdown and Startup  Compliments 
>of=20 Darryl Hurley, Pipeline SYSOP (dhurley@xxxxxxxxxx) =3D20  
>Oracle?s=20 Statspack utility provides a straightforward method of =3D
monitoring
> database performance statistics. The process is simple; take 
> interval=20 snapshots of performance indicators and then run reports 
> to see how =
=3D
much the
> indicators have changed during the interval(s).
>=3D20
> Problems arise when intervals span an Oracle shutdown because =3D
comparing
> interval values across them is illogical. Here?s an example:
>=3D20
> 10:00 PM Statspack Snapshot #33 shows Physical Reads =3D3D 100000
> 10:15 PM Database Shutdown
> 10:20 PM Database Restarted
> 11:00 PM Statspack Snapshot #34 shows Physical Reads =3D3D 100 =3D20  
>=
At=20
>this point a StatsPack Report comparing snapshot #33 to snapshot =3D
#34
> would claim that ?99900 physical reads had occurred. Actually the =3D
report
> would begin with this self-explanatory text:
>=3D20
> ERROR: Snapshots chosen span an instance shutdown: RESULTS ARE INVALID 
>=

>=3D20  It?s impossible to report across a shutdown, but it is possible 
>=
to=20
>=3D
reduce
> the lost periods of time (10:00 to 10:15 and 10:20 to 11:00 in our =3D
example)
> by automatically performing snapshots before shutdown and after =3D
startup.
> It?s easily done with BEFORE-SHUTDOWN and AFTER-STARTUP triggers.


----------------------------------------------------------------
Please see the official ORACLE-L FAQ: http://www.orafaq.com
----------------------------------------------------------------
To unsubscribe send email to: oracle-l-request@xxxxxxxxxxxxx put
'unsubscribe' in the subject line.
--
Archives are at //www.freelists.org/archives/oracle-l/
FAQ is at //www.freelists.org/help/fom-serve/cache/1.html
-----------------------------------------------------------------
----------------------------------------------------------------
Please see the official ORACLE-L FAQ: http://www.orafaq.com
----------------------------------------------------------------
To unsubscribe send email to: oracle-l-request@xxxxxxxxxxxxx put
'unsubscribe' in the subject line.
--
Archives are at //www.freelists.org/archives/oracle-l/
FAQ is at //www.freelists.org/help/fom-serve/cache/1.html
-----------------------------------------------------------------



----------------------------------------------------------------
Please see the official ORACLE-L FAQ: http://www.orafaq.com
----------------------------------------------------------------
To unsubscribe send email to:  oracle-l-request@xxxxxxxxxxxxx put
'unsubscribe' in the subject line.
--
Archives are at //www.freelists.org/archives/oracle-l/
FAQ is at //www.freelists.org/help/fom-serve/cache/1.html
-----------------------------------------------------------------




----------------------------------------------------------------
Please see the official ORACLE-L FAQ: http://www.orafaq.com
----------------------------------------------------------------
To unsubscribe send email to:  oracle-l-request@xxxxxxxxxxxxx put
'unsubscribe' in the subject line.
--
Archives are at //www.freelists.org/archives/oracle-l/
FAQ is at //www.freelists.org/help/fom-serve/cache/1.html
-----------------------------------------------------------------


----------------------------------------------------------------
Please see the official ORACLE-L FAQ: http://www.orafaq.com
----------------------------------------------------------------
To unsubscribe send email to:  oracle-l-request@xxxxxxxxxxxxx put
'unsubscribe' in the subject line.
--
Archives are at //www.freelists.org/archives/oracle-l/
FAQ is at //www.freelists.org/help/fom-serve/cache/1.html
-----------------------------------------------------------------




----------------------------------------------------------------
Please see the official ORACLE-L FAQ: http://www.orafaq.com
----------------------------------------------------------------
To unsubscribe send email to:  oracle-l-request@xxxxxxxxxxxxx put
'unsubscribe' in the subject line.
--
Archives are at //www.freelists.org/archives/oracle-l/
FAQ is at //www.freelists.org/help/fom-serve/cache/1.html
-----------------------------------------------------------------
----------------------------------------------------------------
Please see the official ORACLE-L FAQ: http://www.orafaq.com
----------------------------------------------------------------
To unsubscribe send email to:  oracle-l-request@xxxxxxxxxxxxx put
'unsubscribe' in the subject line.
--
Archives are at //www.freelists.org/archives/oracle-l/
FAQ is at //www.freelists.org/help/fom-serve/cache/1.html
-----------------------------------------------------------------




----------------------------------------------------------------
Please see the official ORACLE-L FAQ: http://www.orafaq.com
----------------------------------------------------------------
To unsubscribe send email to:  oracle-l-request@xxxxxxxxxxxxx
put 'unsubscribe' in the subject line.
--
Archives are at //www.freelists.org/archives/oracle-l/
FAQ is at //www.freelists.org/help/fom-serve/cache/1.html
-----------------------------------------------------------------

Other related posts: