目前分類:Oracle (119)

瀏覽方式: 標題列表 簡短摘要


先查詢測試表格(tmp01)的相關資料,會使用模糊查詢是因為我在實驗上發現如果有INDEX,它會被載入Buffer Cache,而不會是Table
SQL> select object_id,object_name from dba_objects where object_name like upper('%tmp_01%');
 OBJECT_ID   OBJECT_NAME

keven 發表在 痞客邦 留言(0) 人氣()


將測試資料庫export出來時,中間發現了EXP-00091的錯誤:
EXP-00091: Exporting questionable statistics.

原因是Client端的Characterset與Server端不一致,先查詢Server的Characterset:

keven 發表在 痞客邦 留言(0) 人氣()


今天查詢V$ARCHIVE_PROCESSES時發現兩台機器的值不一樣

Serve A:
SQL> select * from V$ARCHIVE_PROCESSES;

keven 發表在 痞客邦 留言(0) 人氣()


可以利用Shell將return值寫入檔案A,
但是檔案A的內容是定義一個帶有return值的Sqlplus變數,
當我們用Sqlplus去執行檔案A時,就會產生一個自訂的變數。

keven 發表在 痞客邦 留言(0) 人氣()


DB:Oracle 11gR2(11.2.0.1)

今天學習關閉listener的log監控時,發現找不到預設的log檔。
預估的路徑:$ORACLE_HOME/network/log/listener.log

keven 發表在 痞客邦 留言(0) 人氣()


Oracle預設的日期格為為'YYYY-MM-DD',例:2012/08/14,可以依下例的方法改變日期格式:

一、Session級別,只對自己當前的Session有效:
  alter session set nls_date_format='yyyy/mm/dd'; 

keven 發表在 痞客邦 留言(0) 人氣()


TEMPORARY TABLE會依據不同的使用者,分配各自獨立的Temp Segment,
如此一來,就可以讓不同的使用者,獨自操作Temporary Table,而不會互相干擾。
而在創建Temporary Table有一個指定參數,可以決定什麼時候要刪除資料。

keven 發表在 痞客邦 留言(0) 人氣()


使用者反應ERP無法登入,但是過一下子又可以登入,又不是全部的人都無法登入,
所以有可能是請檢查登入數是否超過SESSIONS參數之值,可使用下列方式解決:

1、SQL> alter system set processes=800 scope=spfile;

keven 發表在 痞客邦 留言(0) 人氣()


在$ORACE_HOME/dbs/有一個密碼文件檔(Password File),名稱為orapw.ora。
有了Password file及參數remote_login_passwordfile,使用者才能以遠端用sysdba/sysoper的特權模式登入。

remote_login_passwordfile的設定值:

keven 發表在 痞客邦 留言(0) 人氣()

[oracle@sent02 oracle]$ ./exp.sh

Export: Release 9.2.0.4.0 - Production on Fri May 23 09:02:44 2008

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

keven 發表在 痞客邦 留言(0) 人氣()


有時候我們只能在有SQL*Plus的環境下使用,如果遇到需要DDL的時候,
可以用DBMS_METADATA.GET_DDL(,)。

例如:

keven 發表在 痞客邦 留言(0) 人氣()


varchar2 的在SQL中最大長度為4000,並非最大限制32676

SQL> edit
已將 檔案 afiedt.buf 寫入

keven 發表在 痞客邦 留言(0) 人氣()


定義跳脫字元,可以解決需要特殊字元變為一般的字元。

利用escape可以指定我們自定義的跳脫字元。
例如下面的兩段SQL,出來結果是一樣的。

keven 發表在 痞客邦 留言(0) 人氣()


declare
  type a is ref cursor;  --自訂一個ref cursor類型,名稱為a
  rc a;  --定義變數rc為a類型
  b varchar2(100);

keven 發表在 痞客邦 留言(0) 人氣()

SELECT col1, col2, count(*) FROM t1 GROUP BY col1, col2  HAVING count(*) > 1;
SELECT * FROM t1 a where a.rowid > (SELECT min(b.rowid) FROM t1 b WHERE b.col1=a.col1);

以上兩種SQL都可以。

keven 發表在 痞客邦 留言(0) 人氣()


編輯 /etc/oratab

將  testdb:/opt/oracle/112:N 改成 testdb:/opt/oracle/112:Y或者新增  *:/opt/oracle/112:Y

keven 發表在 痞客邦 留言(0) 人氣()


如何查詢export的dmp文件字元集:

用Oracle的exp工具導出的dmp檔案包含了字元集的資訊,可以用UltraEdit打開(16進制

keven 發表在 痞客邦 留言(0) 人氣()


當要刪除過期的備份記錄時,出現ERROR,訊息如下:

RMAN> DELETE FORCE NOPROMPT OBSOLETE;

keven 發表在 痞客邦 留言(0) 人氣()


今天在測試機上啟動DB時,出現失敗訊息如下:

SQL> startup
ORA-00119: invalid specification for system parameter LOCAL_LISTENER

keven 發表在 痞客邦 留言(0) 人氣()


零、作業系統:Oracle Enterprise Linux 6.2
    Database:11gR2(11.2.0.1.0)

一、設定Linux IPv6的位址:

keven 發表在 痞客邦 留言(0) 人氣()