可利用登入觸發器、CMGW 或在 $ORACLE_HOME/network/admin 新增 protocol.ora(9i 可直接修改 sqlnet.ora):
TCP.VALIDNODE_CHECKING=YES
TCP.INVITED_NODES=(ip1,ip2,...)
TCP.EXCLUDED_NODES=(ip1,ip2,...)
僅見於 Windows 平台,Unix 會自動解決。伺服器端 SQLNET.ORA 設定:
SQLNET.AUTHENTICATION_SERVICES=(NTS)
NAMES.DIRECTORY_PATH=(TNSNAMES,ONAMES,HOSTNAME)
TRACE_LEVEL_CLIENT=16
註冊表 HOME0 加 [HKEY_LOCAL_MACHINE] USE_SHARED_SOCKET=TRUE
僅支援 TCP/IP 小型區域網。修改 listener.ora:
(SID_DESC =
(GLOBAL_DBNAME = your_hostname)
(ORACLE_HOME = E:\oracle\ora92)
(SID_NAME = orcl)
)
用戶端 sqlnet.ora 確保有 NAMES.DIRECTORY_PATH=(HOSTNAME)。
若在 SYS 下 GRANT EXECUTE ON DBMS_REPCAT_ADMIN TO PUBLIC 或使用者擁有 EXECUTE ANY PROCEDURE(9i 以下),執行 EXEC SYS.DBMS_REPCAT_ADMIN.GRANT_ADMIN_ANY_SCHEMA('user') 將獲得極大系統權限。可從 USER_SYS_PRIVS 查看。
SELECT PASSWORD FROM DBA_USERS WHERE USERNAME='SCOTT'; -- 記下加密密碼
ALTER USER SCOTT IDENTIFIED BY LION;
CONNECT SCOTT/LION;
-- 執行操作
CONNECT SYSTEM/MANAGER;
ALTER USER SCOTT IDENTIFIED BY VALUES 'F894844C34402B67'; -- 還原密碼
CONNECT SCOTT/TIGER;
REMOTE_OS_AUTHENT=FALSE 防遠端直接登入O7_DICTIONARY_ACCESSIBILITY=FALSELSNRCTL 設定密碼,防外部關閉監聽器SELECT USERNAME FROM DBA_USERS WHERE PASSWORD IN (
'E066D214D5421CCC', -- DBSNMP
'F894844C34402B67', -- SCOTT
'D4C5016086B2DC6A', -- SYS
'D4DF7931AB130E37' -- SYSTEM
-- 其他預設密碼雜湊值...
);
Oracle 9i XML DB 預設 HTTP 8080,易衝突。三種修改法:
CALL DBMS_XDB.CFG_UPDATE(UPDATEXML(DBMS_XDB.CFG_GET(),
'/xdbconfig/sysconfig/protocolconfig/httpconfig/http-port/text()',8081));
CALL DBMS_XDB.CFG_UPDATE(UPDATEXML(DBMS_XDB.CFG_GET(),
'/xdbconfig/sysconfig/protocolconfig/ftpconfig/ftp-port/text()',2111));
COMMIT; EXEC DBMS_XDB.CFG_REFRESH;
SELECT DBMS_XDB.CFG_GET FROM DUAL;
利用登入觸發器:
CREATE OR REPLACE TRIGGER TR_LOGIN_RECORD
AFTER LOGON ON DATABASE
DECLARE ... BEGIN ... INSERT INTO LOG$INFORMATION ... END;
注意:需有 V_$SESSION、V_$MYSTAT 查詢權限;需預先建立 LOG$INFORMATION 表;SP_WRITE_LOG 可替換為自訂日誌程序。
使用 DDL 觸發器:
CREATE OR REPLACE TRIGGER TR_TRACE_DDL
AFTER DDL ON DATABASE
DECLARE ... BEGIN ... INSERT INTO DDL$TRACE ... END;
需建立 DDL$TRACE 表。
使用 DML 觸發器:
CREATE OR REPLACE TRIGGER TR_CAPT_SQL
BEFORE DELETE OR INSERT OR UPDATE ON MANAGER.TEST
DECLARE ... BEGIN ... INSERT INTO CAPT$SQL ... END;
需建立 CAPT$SQL 表。
`date +%y%m%d` 或 $(date +%y%m%d)%DATE:~4,10%(從第 4 字元取 10 長度),可搭配 %TIME% 取更精確時間TIME DD IF=/DEV/ZERO OF=/ORADATA/BIDDB/TESTIND/TESTFILE.DBF BS=1024000 COUNT=1000
IOSTAT -XNP 2 # 觀察 Busy 程度
ssh-keygen 或 ssh-keygen -d (SSH 2.x) 產生金鑰authorized_keys(3.0 以下用 authorized_keys2)config 簡化:Host *bj\n HostName IP\n User username,之後 ssh bj 即可連線FTP -N -I HOST_IP <