Time of Update: 2018-12-03
使用shell指令碼實現對Oracle資料庫的監控與管理將大大簡化DBA的工作負擔,如常見的對執行個體的監控,監聽的監控,警示日誌的監控,以及資料庫的備份,AWR report的自動郵件等。本文給出Linux 下使用 shell 指令碼來實現自動匯入Oracle資料庫。 Linux Shell以及匯入匯出的相關參考: Linux/Unix shell 指令碼中調用SQL,RMAN指令碼 Linux/Unix shell sql 之間傳遞變數
Time of Update: 2018-12-03
最近有網友提到為什麼在dba_hist_sql_plan中無法查看到sql語句的曆史執行計畫,對於這個問題是由於預設情況下,Oracle 設定的闕值並非捕獲所有的sql語句,所以無法看到某些sql曆史執行計畫乃正常現象。在Oracle 9i的時候,我們可以通過設定不同的快照level獲得不同程度的詳細資料。也可以單獨配置收集sql的闕值,如指定sql的執行次數,磁碟讀的次數,解析調用的數量等。所有超出這個設定的sql語句都收集到snapshot之中。Oracle
Time of Update: 2018-12-03
Oracle 監控索引特性為我們提供了一個大致判斷索引是否被使用的情形。之所以這麼說,是因為在Oracle 10g 中收集統計資訊時會導致索引被監控,此並非sql語句而產生。而在11g則不會出現類型的情形。其次對於存在子表存在外鍵的情形,對於主表進行操作時是否會導致索引被監控呢?下面描述的是這個話題。 1、普通監控索引的情形--示範環境SQL> select * from v$version where rownum<2;BANNER-------------------
Time of Update: 2018-12-03
Metasploit中關於Oracle的攻擊模組預設並不完全,需要自己做一些工作。本文主要記錄在搭建環境的中的一些錯誤(作業系統Backtrack 5)。在預設情況下使用oracle的一些攻擊功能會出現類似如下錯誤:ary module execution completed msf > use auxiliary/admin/oracle/oracle_login msf auxiliary(oracle_login) > set RHOST 192.168.0.91
Time of Update: 2018-12-03
在某些特定的情形下,有時候需要從用戶端串連到RAC中指定的執行個體,而不是由用戶端Load_balance來動態選擇或者是通過伺服器端的監聽器根據負載情形來轉寄。對此我們可以通過為tnsnames.ora中特定的網路服務名添加instance_name子項,或者是單獨建立一個指向所需執行個體的網路服務名,下面描述這兩種情形。 一、測試環境-->Oracle 版本SQL> select * from v$version where rownum<2;BANNER-
Time of Update: 2018-12-03
Migrate database from single instance to Oracle RAC # Preparation before restore# Backup database# check listener# check ASM disk group free space is sufficient.# the following steps was completed sucessful on Oracle 10g RAC + Suse Linux 10.Synopsis:
Time of Update: 2018-12-03
基於RAC環境中使用的應用程式,有時候希望某個特定的應用程式僅僅運行在RAC的子節點,或者說為某些應用程式分配一個首要節點。對此,Oracle 10g可以使用services來實現。 一、叢集配置在使用services之前,需要首先檢查叢集的配置是否正確。下面的命令輸出了資料庫ORCL運行於三個不同的節點。srvctl config database -d ORCLserver01 ORCL1 /u01/app/oracle/product/10.1.0/db_1server02
Time of Update: 2018-12-03
1.子程式是有名字的PL/SQL語句塊,包含預存程序和函數,其優點(模組化 可重用性 可維護性 安全性)。2.預存程序:create [or replace] procedure_name(argument1 [mode1] datatype1,argument2 [mode2] datatype2..)is[as]PL/SQL Block;3.預存程序的調用:a.SQL>set serveroutput onSQL>exec
Time of Update: 2018-12-03
今天遇到一個問題:Code:select row_no, roleid, roleName from (select roleid, roleName, rank() over(order by sum(decode(roundrs, 1, 40, 2, 20, 3, -10, 0, 20, 0)) + 50 desc, sum(decode(roundrs, 1, 1, 0)) desc, sum(decode(roundrs, 3,
Time of Update: 2018-12-03
轉自:http://blog.csdn.net/pan_tian/article/details/7699599 前言:這兩天安裝了另外的一個Oracle產品,重啟後,發現監聽Listener起不來,重裝後正常了,配置網路服務和監聽後,在 X:\oracle\product\10.2.0\db_1\NETWORK\ADMIN目錄下卻找不到listener.ora和tnsnames.ora,頗感奇怪,但是配置的網路服務卻能在PL\SQL Dev中訪問,開啟PL\SQL
Time of Update: 2018-12-03
1.資料定義語言 (Data Definition Language)(DDL):Data definition language 這些命令主要是被資料庫管理者用來建立和刪除資料庫實體的。 例如:create,alter,drop命令等等;2.資料操縱語言(DML):Data manipulation language 向表中插入紀錄,修改紀錄 例如:insert,update,delete,select..fro update命令等等;3.資料查詢語言(DQL):Data query
Time of Update: 2018-12-03
1、取得表中第6到第10條記錄的值 1.1 第一種方法,使用minus語句 假設ddl語句如下: 以下是引用片段: CREATE TABLE T(ID VARCHAR2(4) PRIMARY KEY, VALUE INT) 那麼第一種方法就是取出前5條,再取出前10條,然後採用集合運算的方法把前10條減去前5條就OK了,SQL語句如下 以下是引用片段: SELECT * FROM T WHERE ROWNUM <= 10 MINUS SELECT * FROM T
Time of Update: 2018-12-03
create table TABLE1 ( ID VARCHAR2(10) not null, GRZHYE NUMBER(10,2), GMSFHM VARCHAR2(18), RYLB varchar2(10), CARDNO VARCHAR2(20) ); comment on column TABLE1.ID is '個人編號'; comment on column TABLE1.GRZHYE is '個人賬戶餘額'; comment on column
Time of Update: 2018-12-03
層次查詢的概念文法格式: select [level],column, expr... from table [where condition] start with condition connect by [prior column1= column2 | column1 = prior column2];層次查詢是通過start with和connect by子句標識的:1、其中level關鍵字是可選的,表示等級,1表示root,2表示root的child,其他相同的規則。2、
Time of Update: 2018-12-03
沒事試用了一下Navicat家族的新產品Navicat Premium,他集 Oracle、MySQL和PostgreSQL管理如一體,個人感覺很強悍(感覺速度很快)!突發奇想,Oracle能不能匯入 MySQL呢?先試試看:1)建立了一個Oracle串連和MySQL串連2)工具 ->
Time of Update: 2018-12-03
分組函數作用於一組資料,並對一組資料返回一個值。組函數類型Avg平均值Count返回不為空白的總記錄數Max最大值Min最小值SQL> select avg(salary),max(salary),min(salary),sum(salary) from employees;AVG(SALARY) MAX(SALARY) MIN(SALARY) SUM(SALARY) ----------- ----------- -----
Time of Update: 2018-12-03
過濾:使用WHERE 子句,將不滿足條件的行過濾掉。SQL> --where子句的使用,加上過濾的條件, 緊跟著from 表名之後SQL> --where文法 select* |{distinct|express|clomn} from 表名 where 過濾條件SQL> select empno from emp wheredeptno=20; --條件是有大小寫區分的,是字串必須要加''SQL> select * from emp wherejob='clerk';
Time of Update: 2018-12-03
常見的資料庫物件1、表:基本資料存放區集合,由行和列組成2、視圖:從表中抽出的邏輯上相關的資料集合3、序列:提供有規律的數值4、索引:提高查詢的效率5、同義字:給對象起別名使用者定義的表:a)使用者自己建立並維護的一組表b)包含了使用者所需的資訊資料字典:c)由 Oracle Server 自動建立的一組表d)包含資料庫資訊命名規則:表名和列名:必須以字母開頭必須在 1–30 個字元之間必須只能包含 A–Z, a–z, 0–9, _, $, 和
Time of Update: 2018-12-03
有時候會將一列和一系列值相比較。最簡單的辦法就是在where子句中使用子查詢,在where子句中可以使用兩種格式的子查詢1、 使用in操作符2、
Time of Update: 2018-12-03
總是覺得自己寫的oracle筆記特別垃圾,可是有說不清該怎麼去寫,有建議的告訴一聲啊,本人在此謝過啦!Sql函數分為兩種:單行函數、多行函數單行函數:操作資料對象接受參數返回一個結果只對一行進行變換每行返回一個結果可以轉換資料類型可以嵌套參數可以是一列或一個值單行函數可以分為:字元函數: 大小寫控制函數【LOWER、UPPER、 INITCAP】 SQL>select lower('REDY')