導航:首頁 > 編程大全 > oracle怎麼管理資料庫

oracle怎麼管理資料庫

發布時間:2023-03-13 03:08:04

① 如何利用腳本文件來管理Oracle資料庫

第一步:創建腳本文件。
在Oracle資料庫重,創建腳本文件的方式很多。如可以直接在記事本中創建腳本文件,也可以通過SQL*Plus工具直接創建。不過,筆者的意見是,在SQL*Plus中直接創建腳本文件的話,比較麻煩。這主要是因為在SQL*Plus工具中,命令編輯能力非常有效。如不能夠使用鍵盤上的箭頭鍵定位輸入的位置,不能夠使用DEL鍵刪除輸入的內容等等。而且閱讀起來也比較困難。
第二步:編輯腳本文件。
在我們使用腳本文件的時候,往往需要根據實際情況,對其進行稍微的調整。對腳本文件進行編輯,也有兩種方式。一是通過SQL*Plus工具,二是第三方獨立的腳本編輯軟體。
對於一些調整不大的腳本文件,我們可以直接利用SQL*Plus工具打開,然後進行編輯。但是,對於需要進行大量修改的腳本文件,則筆者建議資料庫管理員採用第三方獨立的腳本編輯軟體。原因很簡單,就如同上面所說的那樣,SQL*Plus工具腳本命令編輯功能非常的薄弱。若採用這個工具對現成的腳本語句進行編輯的話,則可能工作量還是重新編寫一個來的輕。所以,資料庫管理員要根據實際的情況,選擇合適的腳本編輯工具。
另外,在編輯的過程中,要注意語法的正確性。特別是要注意,不能夠改變其固有的格式。如不要不小心刪除了最後的「/」符號結束。
第三步:運行腳本文件。
腳本建立好之後,如何運行腳本呢?在Oracle系統中也提供了許多方式。資料庫管理員可以根據自己的使用習慣來進行選擇。
一是通過Start語句來調用腳本文件。其語法是Start Filemame[相關參數]。在運行這個命令的時候,需要注意幾個問題。
1、腳本文件的擴展名問題。上面在建立腳本文件的時候,筆者就跳掉過,為了在SQL*Plus等工具中可以直接調用這個腳本文件,最好能夠把擴展名改為Oracle資料庫能夠接受的擴展名。默認情況下,擴展名設置為SQL即可。
2、腳本文件的路徑問題。若用戶在利用Start調用腳本文件的時候,若沒有清楚的指名保存路徑的話,則SQL*Plus工具會現在當前的目錄中進行查找;若沒有的話,則會根據環境變數中確定的目錄中進行查找。而一般情況下,我們把腳本文件都會獨立存放。所以,在使用Start命令執行腳本文件的時候,最好能夠註明腳本文件的絕對路徑名。防止語句執行錯誤。
另外@命令也可以起到跟Start命令一樣的作用。只不過,前者的使用范圍更廣一點。@命令可以脫離SQL*PLUS工具而使用。如可以直接在微軟操作系統中的命令行方式下使用。當然,這操作系統要事先部署了Oracle資料庫環境。
二是可以直接利用SQL*Plus工具打開文本文件,執行腳本語句。然後點擊「文件」、「執行」命令執行這個腳本語句。這種方式的好處就是,系統會主動提示用戶需要輸入的參數。

總之,腳本文件是我們管理Oracle資料庫的一大利器。我們好好利用腳本文件,可以提高Oracle資料庫的管理效率。畢竟,每次在需要的時候,都去編寫命令是一件很麻煩的事情。而腳本文件的最大好處,就是可以提高語句的重復利用,節省我們編寫語句、調試測試的時間。

② 怎麼管理oracle的表空間和數據文件

SQL> conn sys/xin as sysdba
已連接。
SQL> set wrap off
SQL> set linesize 100
1. 一些基本的操作
(1) 查看錶空間:
SQL> select * from v$tablespace;
(2) 查看數據文件:
SQL> select * from v$datafile;
(3) 查看tablespace 和data files之間的對應關系(通過表空間的號連接在一起):
SQL> select t1.name,t2.name
2 from v$tablespace t1, v$datafile t2
3 where t1.ts#=t2.ts#
4 ;
(4) 更改表空間
SQL> alter tablespace users
2 add datafile 'E:\ORACLE\ORADATA\XINER\USERS02.DBF' size 10m;
表空間已更改。
2. 管理表空間
在oracle 里將表空間分為系統表空間和非系統表空間。
(1) 系統表空間包括系統表,數據字典,以及系統回滾段等信息。
查看系統回滾段:
SQL> select * from dba_rollback_segs;
(2) 非系統表空間用來分離段(分開臨時數據和永久性數據,索引和表放在不同的表空間等等)可以給系統的性能帶來
好處,同時可以控制分配給用戶的空間限額。
控制用戶對空間的使用:
SQL> alter user HR
2 quota 10m on users;
用戶已更改。
(3) 如何創建表空間:([]均表示可選)
create tablespace xxx
[datafile 'xxx']---OMF時可以不指定
[size xxx--kb,mb]
[extent management local/dictionary]
[default storage(xxx)]
dictionary-managed tablespaces在oracle 9i 里已經不建議使用。
SQL> create tablespace ice
2 datafile 'e:\oracle\oradata\xiner\ice.dbf' size 5m
3 extent management dictionary
4 default storage(
5 initial 100k
6 next 100k
7 pctincrease 10)
8 offline;
表空間已創建。
如果表空間管理指定為Local型,則不能使用default storage。此時不會和數據字典表打交道,不會和系統表產生
資源爭用,也不會產生回滾數據(因為不涉及修改系統表),其次也不會有遞歸的資源爭用。
SQL> create tablespace ice1
2 datafile 'e:\oracle\oradata\xiner\ice1.dbf' size 5m
3 extent management local
4 uniform size 1m;
表空間已創建。
SQL> create tablespace ice2
2 datafile 'e:\oracle\oradata\xiner\ice2.dbf' size 5m
3 extent management local autoallocate;
表空間已創建。
(4) Undo 表空間用來存儲undo段,不能包括其他的數據對象,使用locally管理。
undo 段主要用來保存數據改變的舊值,可以回滾transcation(rollback)。
SQL> show parameter undo
SQL> create undo tablespace ice3
2 datafile 'e:\oracle\oradata\xiner\ice3.ora' size 5m
3 extent management local
4 uniform size 1m; //此時不能定義uniform size
uniform size 1m
*
ERROR 位於第 4 行:
ORA-30024: CREATE UNDO TABLESPACE 的說明無效
SQL> del 4
SQL> run
1 create undo tablespace ice3
2 datafile 'e:\oracle\oradata\xiner\ice3.ora' size 5m
3* extent management local
表空間已創建。
不能在回滾表空間建立表對象(不能放其他的數據對象):
SQL> create table tt1
2 (id int)
3 tablespace ice3;
create table tt1
*
ERROR 位於第 1 行:
ORA-30022: 無法在撤消表空間中創建段
(5) 臨時表空間用來支持排序,不能包括永久的數據對象,建議使用locally管理。
SQL> create temporary tablespace ice4
2 tempfile 'e:\oracle\oradata\xiner\ice4.ora' size 5m
3 extent management local;
表空間已創建。
SQL> create table tt1
2 (id int)
3 tablespace ice4;
create table tt1
*
ERROR 位於第 1 行:
ORA-02195: 嘗試創建的PERMANENT對象在TEMPORARY表空間中
(6) 預設的臨時表空間:
SQL> alter database default temporary tablespace ice4
資料庫已更改。
臨時表空間不可以被置為offline,也不能指定為read only,不可以被刪除,除非用另外一個表空間代替它。
SQL> alter talbespace ice4 offline
alter talbespace ice4 offline
*
ERROR 位於第 1 行:
ORA-00940: 無效的 ALTER 命令
SQL> alter tablespace ice4
2 read only;
alter tablespace ice4
*
ERROR 位於第 1 行:
ORA-03217: 變更 TEMPORARY TABLESPACE 無效的選項
(7) offline狀態:對數據文件改名or搬動數據文件的位置or對資料庫進行部分的修復
(7) offline狀態:對數據文件改名or搬動數據文件的位置or對資料庫進行部分的修復
SQL> alter tablespace users offline;
表空間已更改。
SQL> alter tablespace users online;
表空間已更改。
不可以置為offline狀態的表空間包括:system表空間(如果要對系統表空間的文件進行改變則要關閉資料庫);
包括active undo 段的表空間;預設的臨時表空間
(8) read only 表空間:對表空間只能進行讀操作;數據對象可以從表空間刪除
SQL> alter tablespace users read only;
表空間已更改。
(9) 刪除表空間:
SQL> create table tt1
2 (id int)
3 tablespace ice;
表已創建。
SQL> drop tablespace ice1;
表空間已丟棄。
SQL> drop tablespace ice2
2 including contents and datafiles;
表空間已丟棄。
(10) resize表空間:自動擴張(autoextend on)、手動(resize)
3. 管理數據文件
(1) 移動data files:
表空間必須是offline(使用alter tablespace xxx rename datafile 'xx' to 'xx');
目標數據文件必須已經存在;
如果是不能處於offline狀態的表空間則要關閉資料庫,將其啟動到mount狀態,同時目標數據文件必須已經存在。
(使用alter database rename file 'xx' to 'xx')
(2) 配置OMF文件來創建表空間的時候DB_CREATE_FILE_DEST會將數據文件存放在預設的位置。如果想要更改位置則用
alter system set db_create_file_dest='xx';
用OMF創建表空間:create tablespace xxx; 刪除:drop tablespace xxx;

閱讀全文

與oracle怎麼管理資料庫相關的資料

熱點內容
蘋果公司企業架構 瀏覽:152
順豐錄音文件管理在哪裡 瀏覽:521
象山新建網站製作有哪些步驟 瀏覽:686
什麼app可以查化妝品的日期 瀏覽:174
中國移動香港的網路制式 瀏覽:752
編程在五行中屬什麼 瀏覽:54
中青校園app可以發什麼文章 瀏覽:397
主文件組可以存放哪些類型的文件 瀏覽:678
有沒有id和賬號和密碼 瀏覽:5
形勢和政策用什麼app 瀏覽:340
統贏編程nc文件輸出路徑設定 瀏覽:849
什麼繪畫app塗色不會蓋住線稿 瀏覽:767
如何自學計算機編程序 瀏覽:38
word2003如何去掉底色 瀏覽:539
dnf85版本野豬套 瀏覽:655
iphone3gs微信41 瀏覽:646
js判斷value是否為空 瀏覽:323
製作網站開發公司 瀏覽:153
阿里巴巴app怎麼開發 瀏覽:781
3d12版本vr材質 瀏覽:184

友情鏈接