Problem Summary 
--------------------------------------------------- 
启用TDE后,仍然无法创建加密表空间,oracle真难用。 Problem Description 
--------------------------------------------------- 
使用命令行方式,创建wallet,或者用EM图形界面创建wallet后,都无法创建加密表空间,真是服了。 
总是报错。 
SQL> CREATE TABLESPACE securespace DATAFILE 'secure01.dbf' SIZE 150M ENCRYPTION 
DEFAULT STORAGE(ENCRYPT); 
报错: 
第 1 行出现错误: 
ORA-00439: 未启用功能: Transparent Data Encryption 
———————————————————————— 
首先使用IE 登陆 em界面, 
使用“加密 Wallet”、“本地自动打开 Wallet”选项,创建wallet后, 
再使用“更改加密安全模块设置————对加密 Wallet 位置的更改将写入本地 $TNS_ADMIN/sqlnet.ora 文件。”,修改服务器的sqlnet.ora。 
修改成功后,sqlnet.ora内容为 
ENCRYPTION_WALLET_LOCATION = 
(SOURCE = 
(METHOD = FILE) 
(METHOD_DATA = 
(DIRECTORY = D:\oracle\admin\apply11\wallet) 


SQLNET.AUTHENTICATION_SERVICES= (NTS) 
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT) 
SSL_CLIENT_AUTHENTICATION = true 
SSL_CERT_REVOCATION = NONE 
WALLET_LOCATION = 
(SOURCE = 
(METHOD = FILE) 

EM显示状态为 
加密安全模块 WALLET 
Wallet 位置 D:\oracle\admin\apply11\wallet 
Wallet 状态 OPEN 
使用em界面和命令行产生加密表空间,报一样的错误,ORA-00439: 未启用功能: Transparent Data Encryption。 
—————————————————— 
按网上的方法, 
connect / as sysdba 
alter system set key identified by "welcome1"; 
alter system set wallet open identified by "welcome1"; 
类似的文章教程很多,不出错做完后,在em也能看到Wallet 状态 OPEN,但是创建加密表空间,还是报上面一样的错误。 
我要疯了,oracle在“设置”层面,真是比mssql难用好几倍 
Error Codes 
--------------------------------------------------- 
ORA-00439 Problem Category/Subcategory 
--------------------------------------------------- 
Database Security (User Management, Auditing, Database Vault, Grants, ASO, EUS, VPD, OLS, TDE, Data Redaction)/Transparent Data Encryption (TDE) Uploaded Files 
--------------------------------------------------- 

解决方案 »

  1.   

    肯定重启过了。是不是生成wallet以后,里面包含的证书,要导出证书申请,把申请提交给“证书机构”去认证?我是在内网,没有进行证书认证的步骤。
    再有其他问题,我就真不知道怎么搞了。
    还有oracle database 11 的EM,虽然用了网页。但是oracle主程序是割裂的,listen端口改成非默认的5972,EM马上就不能用。
    再用emca -deconfig dbcontrol db  和   emca -config dbcontrol db  重建 (过程中间选择新端口),仍然不行。
    ——————————
    就修改一个默认端口,你就得学习一大堆oracle的命令,明白一堆oracle技术名词,还多半搞不定。
    就修改一个默认端口,你就必须把DBA这么学问入了门,可能还搞不定。
    真是服了oracle。