Oracle 19cで拡張VARCHAR2型を導入
コマンド
DBをupgradeモードとする。
shutdown immediate
startup upgrade
select status from v$instance;
初期化パラメータの変更
ALTER SYSTEM SET max_string_size=extended SCOPE=SPFILE;
utl32k.sqlの実行
@?/rdbms/admin/utl32k.sql
マルチテナント環境なので、PDB$SEEDにも実行
alter session set container=PDB$SEED;
@?/rdbms/admin/utl32k.sql
DB停止、起動
shutdown immediate
startup
show parameters max_string_size
ログ
SQL> shutdown immediate
データベースがクローズされました。
データベースがディスマウントされました。
ORACLEインスタンスがシャットダウンされました。
SQL> startup upgrade
ORACLEインスタンスが起動しました。
Total System Global Area 2415918568 bytes
Fixed Size 9137640 bytes
Variable Size 754974720 bytes
Database Buffers 1644167168 bytes
Redo Buffers 7639040 bytes
データベースがマウントされました。
データベースがオープンされました。
SQL> select status from v$instance;
STATUS
------------------------------------
OPEN MIGRATE
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
SQL> ALTER SYSTEM SET max_string_size=extended SCOPE=SPFILE;
システムが変更されました。
SQL> @?/rdbms/admin/utl32k.sql
セッションが変更されました。
セッションが変更されました。
DOC>#######################################################################
DOC>#######################################################################
DOC> The following statement will cause an "ORA-01722: invalid number"
DOC> error if the database has not been opened for UPGRADE.
DOC>
DOC> Perform a "SHUTDOWN ABORT" and
DOC> restart using UPGRADE.
DOC>#######################################################################
DOC>#######################################################################
DOC>#
レコードが選択されませんでした。
DOC>#######################################################################
DOC>#######################################################################
DOC> The following statement will cause an "ORA-01722: invalid number"
DOC> error if the database does not have compatible >= 12.0.0
DOC>
DOC> Set compatible >= 12.0.0 and retry.
DOC>#######################################################################
DOC>#######################################################################
DOC>#
PL/SQLプロシージャが正常に完了しました。
セッションが変更されました。
0行が更新されました。
コミットが完了しました。
システムが変更されました。
PL/SQLプロシージャが正常に完了しました。
コミットが完了しました。
システムが変更されました。
セッションが変更されました。
セッションが変更されました。
表が作成されました。
表が作成されました。
表が作成されました。
表が切り捨てられました。
0行が作成されました。
PL/SQLプロシージャが正常に完了しました。
STARTTIME
--------------------------------------------------------------------------------
02/10/2021 14:52:52.619389000
PL/SQLプロシージャが正常に完了しました。
エラーはありません。
PL/SQLプロシージャが正常に完了しました。
セッションが変更されました。
セッションが変更されました。
0行が作成されました。
レコードが選択されませんでした。
レコードが選択されませんでした。
DOC>#######################################################################
DOC>#######################################################################
DOC> The following statement will cause an "ORA-01722: invalid number"
DOC> error if we encountered an error while modifying a column to
DOC> account for data type length change as a result of enabling or
DOC> disabling 32k types.
DOC>
DOC> Contact Oracle support for assistance.
DOC>#######################################################################
DOC>#######################################################################
DOC>#
PL/SQLプロシージャが正常に完了しました。
PL/SQLプロシージャが正常に完了しました。
コミットが完了しました。
パッケージが変更されました。
パッケージが変更されました。
セッションが変更されました。
SQL> alter session set container=PDB$SEED;
セッションが変更されました。
SQL>
SQL> @?/rdbms/admin/utl32k.sql
セッションが変更されました。
~中略~
SQL> shutdown immediate
データベースがクローズされました。
データベースがディスマウントされました。
ORACLEインスタンスがシャットダウンされました。
SQL> SQL>
SQL>
SQL>
SQL> startup
ORACLEインスタンスが起動しました。
Total System Global Area 2415918568 bytes
Fixed Size 9137640 bytes
Variable Size 754974720 bytes
Database Buffers 1644167168 bytes
Redo Buffers 7639040 bytes
データベースがマウントされました。
データベースがオープンされました。
SQL>
SQL> show parameters max_string_size
NAME TYPE
------------------------------------ ---------------------------------
VALUE
------------------------------
max_string_size string
EXTENDED
SQL>
関連しているかもしれない記事
- Oracle Exadataの代表的な機能
- ora2pgとSCTの変換結果の差異
- ora2pgを使用してOracleからPostgreSQLのスキーマ移行を実施
- OracleとPostgreSQL(+Redshift)のchar、varcharのバイトと文字数の違い
- ora2pgを使用したOracleからPostgreSQLへの変換結果