declare v_cnt pls_integer; begin for rec in (select distinct table_owner, table_name from dba_tab_partitions) loop execute immediate 'select count(1) from "'||rec.table_owner||'"."'||rec.table_name||'"' into v_cnt; if v_cnt > 0 then dbms_output.put_line('"'||rec.table_owner||'"."'||rec.table_name||'" - '||v_cnt); end if; end loop; end; / "SYS"."WRH$_SEG_STAT" – 3138
どうやら、セクションを持つオブジェクトがあるだけでなく、空でもありません...
セグメント化されたテーブルの通常の作成中はどうなりますか? 試してみましょう:
SQL> create table t (n number) partition by hash(n) partitions 16; create table t (n number) partition by hash(n) partitions 16 * ERROR at line 1: ORA-00439: feature not enabled: Partitioning
ここで、 WRH $ _SEG_STATオブジェクトが作成されるファイルを見てください。
これはファイルですか?/Rdbms/admin/catawrtb.sql
最初に次の行があります。
-- Turn ON the event to disable the partition check alter session set events '14524 trace name context forever, level 1';
それでは、適用しましょう:
SQL> connect usr/password@database Connected. SQL> alter session set events '14524 trace name context forever, level 1'; Session altered. SQL> create table t (n number) partition by hash(n) partitions 16; Table created. SQL>
したがって、 Oracle SE Oneにセグメント化されたテーブルを作成しました。 ただし、BUTは1つだけです。これは、この製品のOracleライセンスに違反します 。
なぜこれが便利なのですか?
セグメント化されたテーブルを作成して、 Oracle EEにスキーマをインストールするスクリプトがあると想像してください。 パーティションオプションの存在を必要とします。
つまり あなたは
- Partition Optionのテストをオフにします。
alter system set events '14524 trace name context forever, level 1';
- 独自のスキームを作成する
- dbms_redefinitionにより、セグメント化されたテーブルを通常のテーブルに再編成します。
- イベント状態を戻す:
alter system set events '14524 trace name context off';
そして最後に、私は要求を満たそうとしました:
select name ,version ,detected_usages ,total_samples ,currently_used ,first_usage_date ,last_usage_date ,aux_count ,last_sample_period from dba_feature_usage_statistics where last_usage_date is not null and name like '%Part%' ; NAME VERSION DETECTED_USAGES TOTAL_SAMPLES CURRE FIRST_US LAST_USA AUX_COUNT LAST_SAMPLE_PERIOD --------------------- ----------- --------------- ------------- ----- -------- -------- - --------- ------------------ Partitioning (system) 11.2.0.3.0 1 1 TRUE 28.11.12 28.11.12 2,74 0
dba_feature_usage_statisticsテーブルには、ユーザー(つまり、 パーティショニング ( user )のある行)のパーティションオプションの使用に関するデータはありません。 正式に-痕跡は残っていません。
その結果、 Oracle Partition Optionを使用し、 Oracle RDBMSライセンスに違反しないようにそれらを通常のテーブルに再編成する場合でも、 Oracle EEに焦点を当てたスクリプトを使用してデータベースオブジェクトをデプロイする機会があります。