學鍊表存儲的收獲?方法一: 其操作步驟簡要概述如下:,下面我們就來聊聊關于學鍊表存儲的收獲?接下來我們就一起去了解一下吧!
方法一:
其操作步驟簡要概述如下:
1. 在sqlnet.ora指定wallet目錄
$ cd $ORACLE_HOME/network/admin
$ vi sqlnet.ora
ENCRYPTION_WALLET_LOCATION=
(SOURCE=(METHOD=FILE)(METHOD_DATA=
(DIRECTORY=/u01/app/oracle/product/11.1.0/db_1/)))
2. 重啟實例
SQL > shutdown immediate;
SQL > startup;
3. 設置密碼
SQL > alter system set encryption key identified by oracle123;
4. 創建加密表空間
SQL > create tablespace sectbs datafile '/u01/app/oracle/oradata/PROD/sec_tbs.dbf' size 100m encryption using '3DES168' default storage(encrypt);
5. 通過視圖驗證表空間是否為加密
SQL > select tablespace_name,status,encrypted from dba_tablespaces where tablespace_name='SECTBS';
該方法的隐患就是修改sqlnet.ora文件。修改該文件後需要重啟實例,再設置encryption key才能生效。如果是生産環境此操作就需要申請檢修了,而不是随時可以添加。而且該修改有一定的幾率引起監聽器無法啟動。需要删除sqlnet.ora中關于錢包的設置才能恢複監聽器。這樣的話就相互矛盾了。所以推薦下面的方法
方法二:
推薦! 不需要重啟實例,也不會因為修改sqlnet.ora導緻監聽無法啟動
1. 查看wallet的默認位置:
SQL> select * from v$encryption_wallet;
WRL_TYPE WRL_PARAMETER STATUS
---------- ---------------------------------------- ---------
file /u01/app/oracle/admin/PROD/wallet CLOSED
2. 驗證是否存在該目錄,沒有則手工創建
SQL > !ls -l /u01/app/oracle/admin/PROD/wallet
ls: /u01/app/oracle/admin/PROD/wallet: No such file or directory
$ cd /u01/app/oracle/admin/PROD
$ mkdir wallet
$ chmod -R 775 wallet
3. 設置密碼
SQL > alter system set encryption key identified by oracle123;
4. 創建加密表空間
SQL > create tablespace sectbs datafile '/u01/app/oracle/oradata/PROD/sectbs.dbf' size 100m encryption using '3DES168' default storage(encrypt);
5. 通過視圖驗證表空間是否為加密
SQL > select tablespace_name,status,encrypted from dba_tablespaces where tablespace_name='SECTEST';
6. 将需要加密的表移到加密表空間
SQL > alter table [table]
move tablespace sectbs;
7. 重建索引
SQL > alter index rebuild
這個主要是錢夾的搜索位置默認為一下所導緻:
sqlnet.ora的encryption_wallet_location參數
sqlnet.ora的wallet_location參數
$ORACLE_BASE/admin/db_unique_name/wallet
$ORACLE_HOME/admin/db_unique_name/wallet
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!