国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

Oracle數據庫網絡與安全之FAQ匯集 (2)

2024-08-29 13:34:31
字體:
來源:轉載
供稿:網友
     [Q]如何修改默認的XDB監聽端口 [A]Oracle9i默認的xml DB把HTTP的默認端口設為8080,這是一個太常用的端口了,很多別的WebServer都會使用這個端口, 假如我們安裝了它,最好修改一下,避免沖突,假如不使用呢,就最好不要安裝 提供三種修改的方法 1.dbca,選擇你的數據庫,然后Standard Database Features->Customize->Oracle XML DB option,進入這個畫面你應該就知道怎么改了。 2.OEM console,在XML Database 的配置里面修改 3.用oracle提供的包: -- 把HTTP/WEBDAV端口從8080改到8081
SQL> call dbms_xdb.cfg_update(updateXML(dbms_xdb.cfg_get(), '/xdbconfig/sysconfig/PRotocolconfig/httpconfig/http-port/text()',8081)) / -- 把FTP端口從2100改到2111 SQL> call dbms_xdb.cfg_update(updateXML(dbms_xdb.cfg_get(), '/xdbconfig/sysconfig/protocolconfig/ftpconfig/ftp-port/text()',2111)) / SQL> commit; SQL> exec dbms_xdb.cfg_refresh; -- 檢查修改是否已經成功 SQL> select dbms_xdb.cfg_get from dual;

[Q]怎么捕捉用戶登錄信息,如SID,ip地址等 [A]可以利用登錄觸發器,如
CREATE OR REPLACE TRIGGER tr_login_recordAFTER logon ON DATABASEDECLAREmiUserSid NUMBER;mtsession v$session%ROWTYPE;CURSOR cSession(iiUserSid IN NUMBER) ISSELECT * FROM v$sessionWHERE sid=iiUserSid;BEGINSELECT sid INTO miUserSid FROM v$mystat WHERE rownum<=1;OPEN cSession(miUserSid);FETCH cSession INTO mtSession;--if user exists then insert dataIF cSession%FOUND THENINSERT INTO log$information(login_user,login_time,ip_adress,ausid,terminal, osuser,machine,program,sid,serial#)VALUES(ora_login_user,SYSDATE,SYS_CONTEXT ('USERENV','IP_ADDRESS'), userenv('SESSIONID'),mtSession.Terminal,mtSession.Osuser,mtSession.Machine,mtSession.Program,mtSession.Sid,mtSession.Serial#);ELSE--if user don't exists then return errorsp_write_log('Session Information Error:'SQLERRM);CLOSE cSession;raise_application_error(-20099,'Login Exception',FALSE);END IF;CLOSE cSession;EXCEPTIONWHEN OTHERS THENsp_write_log('Login Trigger Error:'SQLERRM);END tr_login_record;
在以上觸發器中需要注重以下幾點 1、該用戶有v_$session與v_$mystat的對象查詢權限,可以在sys下對該擁護顯式授權。 2、sp_write_log原本是一個寫日志的過程,可以置換為自己的需要,如null跳過。 3、必須在創建該觸發器之前創建一個log$information的表記錄登錄信息。
[Q]怎么捕捉整個數據庫的DDL語句或者是說對象結構變化與修改 [A]可以采用DDL觸發器,如
CREATE OR REPLACE TRIGGER tr_trace_ddlAFTER DDL ON DATABASE DECLARE
sql_text ora_name_list_t;state_sql ddl$trace.ddl_sql%TYPE;BEGINFOR i IN 1..ora_sql_txt(sql_text) LOOPstate_sql := state_sqlsql_text(i);END LOOP;INSERT INTO ddl$trace(login_user,ddl_time,ip_address,audsid,schema_user,schema_object,ddl_sql)VALUES(ora_login_user,SYSDATE,userenv('SESSIONID'),sys_context('USERENV','IP_ADDRESS'),ora_dict_obj_owner,ora_dict_obj_name,state_sql);EXCEPTION WHEN OTHERS THEN sp_write_log('Capture DDL Excption:'SQLERRM);END tr_trace_ddl;
在創建以上觸發器時要注重幾點 1、必須創建一個ddl$trace的表,用來記錄ddl的記錄 2、sp_write_log原本是一個寫日志的過程,可以置換為自己的需要,如null跳過。 [Q]怎么捕捉表上的DML語句(不包括select)語句) [A]可以采用dml觸發器,如

CREATE OR REPLACE TRIGGER tr_capt_sqlBEFORE DELETE OR INSERT OR UPDATE ON manager.testDECLAREsql_text ora_name_list_t;state_sql capt$sql.sql_text%TYPE;BEGINFOR i IN 1..ora_sql_txt(sql_text) LOOPstate_sql := state_sql sql_text(i);END LOOP;INSERT INTO capt$sql(login_user,capt_time,ip_address,audsid,owner,table_name,sql_text)VALUES(ora_login_user,sysdate,sys_context('USERENV','IP_ADDRESS'),userenv('SESSIONID'),'MANAGER','TEST',state_sql);EXCEPTION WHEN OTHERS THENsp_write_log('Capture DML Exception:'SQLERRM);END tr_capt_sql;
在創建以上觸發器時要注重幾點 1、必須創建一個capt$sql的表,用來記錄ddl的記錄 2、sp_write_log原本是一個寫日志的過程,可以置換為自己的需要,如null跳過。
[Q]怎么樣生成日期格式的文件 [A]在linux/UNIX上,使用`date +%y%m%d` (`這個是鍵盤上~所在的那個鍵) 或$(date +%y%m%d),如:
toUCh eXP_table_name_`date +%y%m%d`.dmpDATE=$(date +%y%m%d)或者DATE=$(date +%Y%m%d --date '1 days ago') #獲取昨天或多天前的日期
Windows上,使用%date:~4,10%,其中4是開始字符,10是提取長度,表示從date生成的日期中,提取從4開始長度是10的串。你可以改成其它你需要的數字,如: Echo %date:~4,10% 假如想得到更精確的時間,win上面還可以使用time
[Q]測試磁盤與陣列性能 [A]用類似如下的方法測試寫能力
time dd if=/dev/zero of=/oradata/biddb/testind/testfile.dbf bs=1024000 count=1000
期間系統IO 使用可以用(unix): iostat -xnp 2 顯示Busy程度 [Q]怎么配置SSH密匙 [A]可以防止"中間人"的進攻方式 1、ssh-keygen 或ssh-keygen -d(ssh 2.x)生成鑰匙 2、然后拷貝公匙到你想登錄的服務器,改名為authorized_keys,假如是3.0以下版本,需要改為authorized_keys2 3、還可以利用config文件進一步簡化操作 如
Host *bjHostName 機器名或IPUser 用戶名
有了這個配置文件,你就可以利用ssh bj來訪問指定的機器了,也就可以利用scp與sftp來傳送文件了。

[Q]FTP怎么在腳本中自動上傳/下載 [A]可以把FTP寫到shell腳本中,如
ftp -n -i 主機IP <user username passcd 目標目錄put fileget file#查詢文件ls #退出byeEOF


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 海淀区| 甘德县| 全州县| 临洮县| 澄迈县| 余姚市| 海原县| 任丘市| 大化| 高尔夫| 柳州市| 周宁县| 改则县| 东海县| 崇阳县| 韩城市| 得荣县| 吉木萨尔县| 四川省| 兰溪市| 三亚市| 开封县| 盘山县| 井陉县| 基隆市| 普格县| 富蕴县| 司法| 焉耆| 山阴县| 宣汉县| 锡林郭勒盟| 教育| 合江县| 咸阳市| 南和县| 天祝| 阿勒泰市| 武平县| 星子县| 龙海市|