【问题标题】:Oracle - How to determine if a table is TDE encryptedOracle - 如何确定表是否经过 TDE 加密
【发布时间】:2018-03-21 18:40:32
【问题描述】:

如主题中所述:如何判断 Oracle 中的表是否使用 TDE 加密?找不到任何询问 Google 的内容。

【问题讨论】:

    标签: oracle tde


    【解决方案1】:

    此信息可以从[dba | all | user]_encrypted_columns数据字典视图中获得

    administer key management set keystore open identified by password;
    administer key management set key identified by password with backup;
    
    -- test table with one encrypted column   
    create table tb_encrpt (
      c1 varchar2(10) encrypt
    )
    tablespace encrypt_tbs;
    

    显示有关加密表列的信息

    column table_name format a10;
    column column_name format a10;
    column encryption_alg format a10;
    
    select table_name
         , column_name
         , encryption_alg
      from dba_encrypted_columns
    

    结果:

    TABLE_NAME COLUMN_NAM ENCRYPTION
    ---------- ---------- ----------
    TB_ENCRPT  C1         AES 192 bi
    
    
    1 row selected.
    

    如何判断 Oracle 中的表是否使用 TDE 加密?

    如果[dba | all | user]_encrypted_columns 中不存在表,则它没有加密列。

    【讨论】:

    • 无论如何,没有任何列被 Oracle 加密。 (列可能存储一个在导入数据库之前加密的值。)
    • @mathguy Oracle 透明数据加密 (TDE) 是一种特定的数据库技术,其中加密由数据库以对应用程序透明的方式专门完成。您所说的是应用程序加密数据。
    • 我要补充一点,这个解决方案不会找到任何在表空间级别加密的表(例如select table_name from dba_tables where tablespace_name in (select tablespace_name from dba_tablespaces where encrypted='YES');
    • @jbo5112 - 我在那里使用了速记,指出尼克回答中的最后一条语句应该是“......那么它没有 TDE 加密列。”这应该不会对 OP 造成混淆,因为 OP 专门询问了使用 TDE 加密的问题,但我不确定它是否会在未来混淆其他读者。
    猜你喜欢
    • 2020-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-30
    • 1970-01-01
    • 1970-01-01
    • 2010-09-24
    相关资源
    最近更新 更多