程式員對ORACLE,雖然不象ORACLE DBA那樣牛,但也要掌握些基本的東西,因此小結之.
1 格式化輸出
比如 col name(要顯示的欄位) for a20
2 查看命令參數
show parameter
查看SGA大小
show sga
3 啟動資料庫
nomount方式:該方式只有在建立資料庫或重建控制檔案時使用,當nomount的時,只是啟動執行個體而不開啟資料庫,控制檔案也不開啟的,此時
會分配SGA,開啟後台進行,開啟警報檔案和追蹤檔案.
mount方式的時候,主要在資料庫維護階段使用,如對錶空間進行修複,修改資料檔案,移動資料檔案等.此時,將資料庫與已啟動的執行個體關聯起來.
利用初始化參數開啟控制檔案.
open方式則啟動執行個體,開啟控制檔案,開啟所有的聯機的資料檔案和聯機重做記錄檔
改變狀態
alter database open;
如果要設定為唯讀,可以
alter database read only;
修複為可用alter database read write;
4 將資料庫設定為限制模式
設定為限制模式後,就是其他使用者不能登陸了,一般用來維護..
startup restrict
順帶介紹用select sid,serial#,username,type from v$session
查出使用者的sid和serial#,然後用
alter system kill session ('sid','serial');來殺死一個使用者進程.
5 關閉資料庫
分為shutdown immediata,shutdown normal,shutdown transcation,shutdown normal等,具體的有經典的四個模式對比表
其中
shutdown normal:等於一個商場裡,商場已經關門,工作人員會不給新的人進入了(不允許新串連),但不會幹涉目前正在商場的人,會
等他們購物完畢.
shutdown transcational :不允許新的串連了,對於在商場購買的人,才允許他們購買,否則閑人全部趕走,正在購買的人會等到交易完畢後
再走人,就是把事務進行完.
shutdown immediate:即等於有人賣非法東西,有人來查了,此時要把交易復原,之後關門.
shutdown abort:商店起火,所有東西中斷
6 資料字典的相關操作
操作舉例
比如查看當前資料庫的名等資訊,可以這樣
select name,created,log_mode,open_mode from v$database;
查看版本
select host_name,instance_name,version from v$instance;
查看控制檔案
select * from v$controlfile;
查看重做日誌配置資訊
select group#,member,status,archived from v$log;
查看重做日誌具體位置
select * from v$logfile;
查看歸檔資訊
archive log list
查看錶空間資訊
col tablespace_name for a15
select tablespace_name,block_size,status,contents,logging from dba_tablspaces;
查看錶空間具體位置資訊
col file_name for a40
select file_id,file_name,tablespace_name,status from dba_data_files;
控制檔案的備份
alter database backup controlfile to 'd:\xxxx\xxx.bak';
7 重做記錄檔
獲得資訊
查看重做日誌配置資訊
select group#,member,status,archived from v$log;
增加重做記錄檔組(注意放在不同的磁碟上)
alter database add logfile
('c:\xxxxx\redo03a.log','d:\xxxx\redo03b.log') size 15M;
這裡是增加了第3個記錄檔組,裡面有兩個成員了,大小是15M
刪除某個不是當前活動的記錄檔組
alter database drop logfile group 3;
當要刪除當前活動紀錄組的時候,要先切換命令
alter system switch logfile;