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

首頁 > 數據庫 > Oracle > 正文

Oracle切換為歸檔模式的流程及遇到的問題

2024-08-29 13:53:34
字體:
來源:轉載
供稿:網友
不廢話,直接如題了。

查看當前數據庫模式
連接進入數據庫,鍵入以下命令:

SQL> archive log list;
可查看當前數據庫的模式,若“數據庫日志模式    非存檔模式”則有必要進行以下的切換流程。

在切換之前,請確保以下參數的設置
log_archive_dest_n 參數設置歸檔日志目標,其中n用數字替換。在Oracle9i中n的范圍是1~5,在Oracle10g中n可以取值1~10。設置方式如下:

SQL> alter system set log_archive_dest_1="location=path" scope=both;
其中,path是存儲歸檔日志文件的文件夾路徑。最后的scope=both是為了將設置應用到當前數據庫實例,以及將參數設置保存到SPFILE中,數據庫重啟時直接加載SPFILE中的參數信息。

可以設置多個歸檔日志目標。設置多個目標,在進行歸檔的時候歸檔日志文件可以同時保存成多個歸檔版本,設置多個目標是個好習慣,雖然在問題出現之前似乎沒有必要^_^

關閉數據庫
SQL> shutdown immediate
關閉數據庫一般不會出現什么問題,但在數據庫投入使用之后,關閉數據庫必須是迫不得已的(即使你是故意關閉它也要表現得很迫不得已,呵呵)——最好確保關閉是沒有人正在使用數據庫,要不然,有你等的^_^。

啟動數據庫為掛起(mount)狀態
SQL> startup mount
行至此步,真正的問題才出現。mount了無數次始終startup不上,說是監聽程序無法監聽到你當前的例程了。當然,如果監聽程序配置得當,此類問題是不會在這里出現的。既然是監聽程序出現問題,那么就從這里入手進行解決。在oracle數據庫的安裝目錄下(路徑可能如:E:/oracle/PRoduct/10.2.0/db_1/NETWORK/ADMIN)可以找到listener.ora這種參數文件,可用記事本打開它們進行編輯和保存。當然直接手工修改這個文件并非明智之舉,因為其中的括號可以扼殺你無數的腦細胞。在安裝oracle時一般都會默認安裝Net Manager這個組件,它可以幫助你輕松地配置監聽程序的煩人參數:

Oracle Net配置 》監聽程序 》LISTENER,在窗體右邊最上邊的下拉框中選擇“數據庫服務”。如果你尚未監聽數據庫服務,那么這就是你解決問題的關鍵所在。添加數據庫,全局數據庫和SID設置為與tnsnames.ora文件中的SERVICE_NAME相同的值(注:tnsnames.ora文件與listener.ora文件在同一個目錄下)。保存,則在listener.ora中就會多出一些設置,如下:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = ORCL)
      (ORACLE_HOME = E:/oracle/product/10.2.0/db_1)
      (SID_NAME = ORCL)
    )
  )
紅色部分正式監聽程序中未配置完整的內容,現在配置好它,則以上無法使數據庫進入掛起狀態的問題就可以解決了。注意,以上假設tnsnames.ora文件中的SERVICE_NAME就是ORCL。當然,配置好監聽程序參數后并未馬上應用到監聽程序中,我們還需要重新載入監聽程序,進入命令行:

C:/>lsnrctl
LSNRCTL> reload
重新連接一次數據庫,則結果是“已連接到空閑例程”。此時再startup mount,則可順利進入掛起狀態。

在掛起狀態的數據庫例程中切換模式
SQL> alter system archivelog;
提示“數據庫已更改”。在打開數據庫后,用archive log list可以查看當前模式:數據庫日志模式    存檔模式。

打開數據庫
SQL> alter database open;
掛起狀態的數據庫并非真實可用的狀態,只有打開的數據庫才是運行中可使用的例程。

結尾工作
打開自動歸檔

SQL> alter system set log_archive_start = true; scope=both;

手工歸檔;

SQL> alter system switch logfile; --可進行手工歸檔檢測以上設置是否已經被應用到當前數據庫中

設置快閃區大小

SQL> alter system set db_recovery_file_dest_size=5368709102;  --5G



其他問題
在切換模式的過程中我還碰到一個問題,即在我用寫字板打開SPFILE時無意中按了保存。小小的保存帶來大大的問題,SPFILE是一種二進制文件,寫字板雖然能打開正常瀏覽大部分內容卻無法讀取文件中第一行的文件標識(正常情況下用寫字板打開文件第一行是亂碼,關鍵?。14?,得,SPFILE就被改成普通文本了,人是好讀了,但Oracle不認識。沒辦法,重新建一個唄。

重建SPFILE需要系統中的PFILE。PFILE好的地方是它是文本文件^_^一般在建數據庫的同時就已經創建了它,它所在的路徑可能如下:E:/oracle/product/10.2.0/admin/orcl/pfile/。在此路徑下有一個以init.ora.為文件名開頭的文件,該文件的文件名結尾的部分是一串數字(默認情況下)。以sysdba的身份連接到數據庫空閑例程(沒有SPFILE數據庫無法啟動打開,只能連接到空閑例程如:conn / as sysdba),重建SPFILE的命令如下:

SQL> create spfile='E:/oracle/product/10.2.0/db_1/dbs/SPFILEORCL.ORA' from pfile='E:/oracle/product/10.2.0/admin/orcl/pfile/init.ora.************';
若重建成功,則提示“文件已創建”。創建新的SPFILE后數據庫就能正常啟動了,但是,以后請記住用系統命令alter system set...... scope=spfile;去修改SPFILE的內容。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 绥化市| 乌兰察布市| 筠连县| 南丹县| 察哈| 海淀区| 手机| 中卫市| 连云港市| 南木林县| 万盛区| 湟源县| 基隆市| 扎鲁特旗| 乐东| 琼结县| 吴川市| 定远县| 衡山县| 铅山县| 荣昌县| 准格尔旗| 陕西省| 清丰县| 巨鹿县| 沂水县| 浦江县| 云龙县| 鹤岗市| 布拖县| 北辰区| 丰城市| 揭西县| 罗甸县| 衡水市| 渭南市| 多伦县| 福州市| 霞浦县| 梅州市| 梧州市|