1. νμ
- DB12c μ΄μμμ, νΉμ Column μ λν rename column νΉμ drop column μ, ORA-54032 or ORA-54033 μλ¬ λ©μμ§ μΆλ ₯
SQL> alter table OWNER.USER_MST rename column USR_ID to USER_ID; >μλ λ©μμ§ μΆλ ₯ "ORA-54032: column to be renamed is used in a virtual column expression" "ORA-54032: μ΄λ¦μ λ°κΏ μ΄μ΄ κ°μ μ΄ ννμμμ μ¬μ©λμμ΅λλ€." "ORA-54033: column to be modified is used in a virtual column expression" "ORA-54033: μ΄λ¦μ λ°κΏ μ΄μ΄ κ°μ μ΄ ννμμμ μ¬μ©λμμ΅λλ€." |
2. μμΈ
- ν΄λΉ 컬λΌμ΄ virtual columnμΌλ‘ λ§λ€μ΄μ Έ μμ. μ¬μ©μκ° λͺ μμ μΌλ‘ μλ§λ€μλλΌλ 12c λ²μ λΆν° μλ‘ μκΈ΄ κΈ°λ₯μΈ extended statistics κΈ°λ₯ μ€μ νλκ° λ€μμ columnμ λν SQL optimizer statisticsλ₯Ό (μλμΌλ‘) μμ± μμ§νλ κ²μΌλ‘ μ΄ κΈ°λ₯ λλ¬Έμ virtual columnμ΄ μλμΌλ‘ μμ±λ¨.
- extended statistics μ λν΄μ κΈ°μ λ λ΄μ© : This feature enables to Oracle calculate statistics on a group of columns. It uses this information to improve row estimates. This is useful when there's a correlation between the values of two (or more) columns in a table.
- SYS_OP_COMBINED_HASH μ an undocumented feature λΌκ³ ν©λλ€. The name implies Oracle is merging the arguments together to form a hash λΌκ³ κΈ°μ λμ΄ μμ΅λλ€.
- νμΈ λ°©λ²
SQL> select OWNER, table_name, column_name, data_type, hidden_column, data_default from dba_tab_cols where table_name ='[TABLE_NAME]' and virtual_column = 'YES' ; |
data_default 컬λΌμ ν΄λΉ column μ΄ νκ°λΌλ ν¬ν¨λμ΄ μλ€λ©΄, ORA-54032, ORA-54033 λ©μμ§μ ν¨κ» λ³κ²½ λμ§ μμ.
3. μ‘°μΉλ°©λ²
3-1. ν΄λΉ extended statistics 컬λΌμ μμ
- μλ 쿼리λ₯Ό ν΅ν΄ μμ κ°λ₯
SQL> exec dbms_stats.drop_extended_stats( ownname => 'OWNER', tabname => '[TABLE_NAME]', extension => '("USER_NM","USER_PWD","USR_ID")' ) ; |
SQL> exec dbms_stats.drop_extended_stats(OWNER, '[TABLE_NAME]', '(USER_NM, USER_PWD, USR_ID)'); |
- μλ 쿼리λ₯Ό ν΅ν΄ μμ± κ°λ₯ (νμνλ€κ³ νλ¨ν κ²½μ°, DB κ° λ€μ μμ±)
SQL> exec dbms_stats.create_extended_stats( ownname => 'OWNER', tabname => '[TABLE_NAME]', extension => '("USER_NM","USER_PWD","USR_ID")' ) ; |
3-2. ν΄λΉ Table μ μ¬μμ±
SQL> alter table OWNER.USER_MST drop primary key cascade ; SQL> drop table OWNER.USER_MST cascade constraints ; SQL> create table OWNER.USER_MST ( ---- ) ; |
'Database' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[DB] NoSQL κ°λ¨ν μ΄ν΄λ³΄κΈ° (0) | 2023.03.30 |
---|---|
[DB] λ°μ΄ν°λ² μ΄μ€ μ€νκ³νμ΄λ? (0) | 2023.03.19 |
λκΈ