oracle加密存儲過程
1. oracle中的存儲過程,有什麼作用
定義:存儲過程(Stored Procere )是一組為了完成特定功能的sql 語句
集,經編譯後存儲在資料庫中。用戶通過指定存儲過程的名字並給出參數
(如果該存儲過程帶有參數)來執行它。存儲過程是資料庫中的一個重要
對象,任何一個設計良好的資料庫應用程序都應該用到存儲過程。
存儲過程是由流控制和SQL 語句書寫的過程,這個過程經編譯和優化後
存儲在資料庫伺服器中,應用程序使用時只要調用即可。在ORACLE 中,
若干個有聯系的過程可以組合在一起構成程序包。
優點:存儲過程只在創造時進行編譯,以後每次執行存儲過程都不需再重新編譯,而一般SQL語句每執行一次就編譯一次,所以使用存儲過程可提高資料庫執行速度。
2.當對資料庫進行復雜操作時(如對多個表進行Update、Insert、Query、Delete時),可將此復雜操作用存儲過程封裝起來與資料庫提供的事務處理結合一起使用。
3.存儲過程可以重復使用,可減少資料庫開發人員的工作量。
4.安全性高,可設定只有某用戶才具有對指定存儲過程的使用權。
你還是給我點分啥,寫得我手都酸痛了。
2. oracle的存儲過程
第一步:找到proceres,右鍵新建
第二步:在name中輸入存儲過程名字(這里輸入的就是你以後需要調用的名字),parameters後是參數,在裡面定義參數的類型。
第三步:編寫存儲過程語句。
4 第四步: 存儲過程調用
CallableStatement
cs=conn.divpareCall("{call
mymd_gis_pro(?,?,?,?,?)}"); //1代表第一個參數,setint表示參數類型是int型 cs.setInt(1,188);
cs.setInt(2,12); cs.setInt(3,12);
...... //執行Oracle存儲過程
cs.execute();
3. 如何解密oracle wrap加密的存儲過程
您好,很高興為您解答。
這個是不能解密的
如若滿意,請點擊右側【採納答案】,如若還有問題,請點擊【追問】
希望我的回答對您有所幫助,望採納!
~ O(∩_∩)O~
4. 求教,ORACLE加密的存儲過程能否解密
可以例用Oracle 自帶的Wrap工具實現,此工具在$ORACLE_HOME/BIN目錄下,具體如下 1、設置字元集環境變數 set NLS_LANG=CHINESE_CHINA.ZHS16GBK 2、創建一個存儲過程文件 在E:\下創建test.sql文件,內容如下: create or replace procere test1...
5. 如何對Oracle存儲過程加密
在PL/SQLdeveloper中先執行包頭、然後再wrap加密包體
SQL>createorreplacepackagepkg_wrap_testis
2--測試過程,將輸入的數字以字元格式輸出
3proceretest1(iinnumber);
4ENDpkg_wrap_test;
5/
6. oracle存儲過程中調用MD5加密的方法
CREATE OR REPLACE FUNCTION fn_md5 (input_string IN VARCHAR2)
RETURN VARCHAR2
IS
raw_input RAW (128)
:= UTL_RAW.cast_to_raw (input_string);
decrypted_raw RAW (2048);
error_in_input_buffer_length EXCEPTION;
BEGIN
DBMS_OBFUSCATION_TOOLKIT.md5 (input => raw_input,
checksum => decrypted_raw
);
RETURN LOWER (RAWTOHEX (decrypted_raw));
END;
http://www.matrix.org.cn/resource/article/2005-12-03/Oracle_44020.html
看看這個吧,學習學習
7. Oracle資料庫中文件加密詳解
在Oracle資料庫系統中 用戶如果要以特權用戶身份登錄Oracle資料庫可以有兩種身份驗證的方法 即使用與操作系統集成的身份驗證或使用Oracle資料庫的密碼文件進行身份驗證 因此 管理好密碼文件 對於控制授權用戶從遠端或本機登錄Oracle資料庫系統 執行資料庫管理工作 具有重要的意義
Oracle資料庫的密碼文件存放有超級用戶INTERNAL/SYS的口令及其他特權用戶的用戶名/口令 它一般存放在ORACLE_HOMEDATABASE目錄下
創建密碼文件
在使用Oracle Instance Manager創建一資料庫實例的時侯 在ORACLE_HOMEDATABASE目錄下還自動創建了一個與之對應的密碼顫喊派文件 文件名為PWDSID ORA 其中SID代表相應的Oracle資料庫系統標識符 此密碼文件是進行初始資料庫管理工作的基矗在此之後 管理員也可以根據需要 使用工具ORAPWD EXE手工創建密碼文件 命令格式如下
C: >ORAPWDFILE=< FILENAME >PASSWORD =< PASSWORD > ENTRIES=< MAX_USERS >
各命令參數的含義為
FILENAME 密碼文件名;
PASSWORD 設置INTERNAL/SYS帳號的口令
MAX_USERS 密碼文件中可以存放的最大用戶數 對應於允許以SYSDBA/SYSOPER許可權登錄資料庫的最大用戶數 由於在以後的維護中 若用戶數超出了此限制 則需要重建密碼文件 所以此參數可以根據需要設置得大一些
有了密碼文件之後 需要設置初始化參數REMOTE_LOGIN_PASSWORDFILE來控制密碼文件的使用狀態
設置初始化參數
在Oracle資料庫實例的初始化參數文件中 此參數控制著密碼文件的使用及其狀態 它可以有以下幾個選項
NONE 指示Oracle系統不使用密碼文件 特權用戶的登錄通過操作系統進行身份驗證
EXCLUSIVE 指示只有一個資料庫實例可以使用此密碼文件 只有在此設置下的密碼文件可以包含有除INTERNAL/SYS以外的用戶信息 即允滲咐許將系統許可權SYSOPER/SYSDBA授予除INTERNAL/SYS以外的其他用戶
SHARED 指示可有多個資料庫實例可以使用此密碼文件 在此設置下只有INTERNAL/SYS帳號能被密碼文件識別 即使文件中存有其他用戶的信息 也不允許他們以SYSOPER/SYSDBA的許可權登錄 此設置為預設值
在REMOTE_LOGIN_PASSWORDFILE參數設置為EXCLUSIVE SHARED情況下 Oracle系統搜索密碼文件的次序為 在系統注冊庫中查找ORA_SID_PWFILE參數值(它為密碼文件的全路徑名);若未找到 則查找ORA_PWFILE參數值;若仍未找到 則使用預設值ORACLE_HOMEDATABASEPWDSID ORA;其中的SID代表相應的Oracle資料庫系統標識符
向密碼文件中增加 刪除用戶
當初始化參數REMOTE_LOGIN_PASSWORDFILE設置為EXCLUSIVE時 系統允許除INTERNAL/SYS以外的其他用戶以管理員身份從遠端或本機登錄到Oracle資料庫系統 執行資料庫管理工作;這些用戶名必須存在於密碼文件中 系統才能識別他們 由於不管是在創建資料庫實例時自動創建的密碼文件 還是使用工具ORAPWD EXE手工創建的密碼文件 都只包含INTERNAL/SYS用戶的信息;為此 在實際操作中 可能需要向密碼文件添加或刪除其他用戶帳號
由於僅被授予SYSOPER/SYSDBA系統許可權的用戶才存在於密碼文件中 所以當向某一用戶授予或收茄賀回SYSOPER/SYSDBA系統許可權時 他們的帳號也將相應地被加入到密碼文件或從密碼文件中刪除 由此 向密碼文件中增加或刪除某一用戶 實際上也就是對某一用戶授予或收回SYSOPER/SYSDBA系統許可權
要進行此項授權操作 需使用SYSDBA許可權(或INTERNAL帳號)連入資料庫 且初始化參數REMOTE_LOGIN_PASSWORDFILE的設置必須為EXCLUSIVE 具體操作步驟如下
創建相應的密碼文件;
設置初始化參數REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE;
使用SYSDBA許可權登錄 CONNECTSYS/internal_user_passswordASSYSDBA;
啟動資料庫實例並打開資料庫;
創建相應用戶帳號 對其授權(包括SYSOPER和SYSDBA) 授予許可權 GRANTSYSDBATOuser_name;
收回許可權 REVOKESYSDBAFROMuser_name 現在這些用戶可以以管理員身份登錄資料庫系統了
使用密碼文件登錄
有了密碼文件後 用戶就可以使用密碼文件以SYSOPER/SYSDBA許可權登錄Oracle資料庫實例了 注意初始化參數REMOTE_LOGIN_PASSWORDFILE應設置為EXCLUSIVE或SHARED 任何用戶以SYSOPER/SYSDBA的許可權登錄後 將位於SYS用戶的Schema之下 以下為兩個登錄的例子
以管理員身份登錄
假設用戶scott已被授予SYSDBA許可權 則他可以使用以下命令登錄
CONNECTscott/tigerASSYSDBA
以INTERNAL身份登錄
CONNECTINTERNAL/INTERNAL_PASSWORD
保護密碼文件
查看密碼文件中的成員
可以通過查詢視圖V$PWFILE_USERS來獲取擁有SYSOPER/SYSDBA系統許可權的用戶的信息 表中SYSOPER/SYSDBA列的取值TRUE/FALSE表示此用戶是否擁有相應的許可權 這些用戶也就是相應地存在於密碼文件中的成員
修改密碼文件的狀態
密碼文件的狀態信息存放於此文件中 當它被創建時 它的預設狀態為SHARED 可以通過改變初始化參數REMOTE_LOGIN_PASSWORDFILE的設置改變密碼文件的狀態 當啟動資料庫事例時 Oracle系統從初始化參數文件中讀取REMOTE_LOGIN_PASSWORDFILE參數的設置;當載入資料庫時 系統將此參數與口令文件的狀態進行比較 如果不同 則更新密碼文件的狀態 若計劃允許從多台客戶機上啟動資料庫實例 由於各客戶機上必須有初始化參數文件 所以應確保各客戶機上的初始化參數文件的一致性 以避免意外地改變了密碼文件的狀態 造成資料庫登陸的失敗
修改密碼文件的存儲位置
密碼文件的存放位置可以根據需要進行移動 但作此修改後 應相應修改系統注冊庫有關指向密碼文件存放位置的參數或環境變數的設置
刪除密碼文件
lishixin/Article/program/Oracle/201311/16762