Oracle_052_lesson_p4

Managing the Database Instance

管理數據庫

Oracle Database 11g Release 2 management framework components:
1、Database instance
2、Listener
3、Management interface:
Database Control
Management agent (when using Grid Control)

$ . oraenv
ORACLE_SID = [orcl] ? orcl

$ emctl stop dbconsole
Oracle Enterprise Manager 11g Database Control Release 11.2.0

$ echo $ORACLE_SID
export $ORACLE_SID=tech1

em啓動:emctl start dbconsole
em停止:emctl stop dbconsole
訪問em:https://192.168.133.120:1158/em

管理工具:
sqlplus、sql developer 、 PL/SQL、shell 腳本

例:
sqlplus hr/hr
#Name of this file: batch_sqlplus.sh
#Count employees and give raise.
sqlplus hr/hr <<EOF
select count() from employees;
update employees set salary = salary
1.10;
commit;
quit
EOF

$ ./batch_sqlplus.sh

例:
script.sql:
select * from departments where location_id = 1400;
quit

$ sqlplus hr/hr @script.sql

Initialization Parameter Files

data二進制文件:spfileorcl.ora
text文本文件:initorcl.ora

DB啓動順序:
cd $ORACLE_HOME/dbs/
(1) spfile'+SID'.ora 先查找是否有此文件,有則讀取並啓動,不再查找。沒有則向下查找
(2) pfile.ora 查找是否有此文件,有則讀取並啓動,不再查找。沒有則向下查找
(3) init'+SID'.ora 查找是否有此文件,有則讀取並啓動,不再查找。沒有則啓動失敗

cat inittech1.ora -->可見指針:spfile='+DATA/tech1/spfiletech1.ora'

SQL>show parameter spfile
SQL> create pfile from spfile; 改變爲文本啓動
SQL>create spfile from pfile; 改變爲服務參數啓動
SQL>create spfile from memory;
SQL>startup force ; 強制重啓

ASMCMD工具
desc v$parameter (內存裏)
desc v$spparameter (啓動後的啓動參數)
show parameter db_files;
show parameter processes;
show parameter memory_target;

簡單的初始化參數:
basic:
CONTROL_FILES
DB_BLOCK_SIZE
PROCESSES
UNDO_TABLESPACE

Advanced:
DB_CACHE_SIZE
DB_FILE_MULTIBLOCK_READ_COUNT
SHARED_POOL_SIZE

Oracle_052_lesson_p4

Oracle_052_lesson_p4

Oracle_052_lesson_p4
PGA.......... target 總用戶大小

修改初始化參數
1、static 參數
SQL> alter system set processes=350 scope=spfile; scope=spfile必須加,修改後也要重啓才生效。

2、dynamic 參數
select ...... scope=spfile;
select ...... scope=memory;
select ...... scope=both;
select後不加 scope,表示both;

SQL> SELECT name , value FROM V$PARAMETER;
SQL>SHOW PARAMETER SHARED_POOL_SIZE;
SQL> show parameter para

Static parameters:
Can be changed only in the parameter file
Require restarting the instance before taking effect
Account for about 110 parameters

Dynamic parameters:
Can be changed while database is online
Can be altered at:
Session level
System level
Are valid for duration of session or based on SCOPE setting
Are changed by using ALTER SESSION and ALTER SYSTEM commands
Account for about 234 parameters

SQL> ALTER SESSION SET NLS_DATE_FORMAT ='mon dd yyyy';

Session altered.

SQL> SELECT SYSDATE FROM dual;

SYSDATE

jun 18 2009

SQL> ALTER SYSTEM SET SEC_MAX_FAILED_LOGIN_ATTEMPTS=2 COMMENT='Reduce from 10 for tighter security.' SCOPE=SPFILE;
System altered.

數據庫起停
shutdown --> nomount --> mount --> open
Oracle_052_lesson_p4

Oracle_052_lesson_p4

Oracle_052_lesson_p4

Oracle_052_lesson_p4

1、shutdown abort ; 強制關閉DB;

2、startup nomount 或加pfile='....'
ps -ef |grep ora_

3、SQL> show parameter control_files;
SQL> select from v$instance;
SQL>select
from v$database; 此時會報錯

4、SQL> alter database mount;
起停順序:
startup nomount ;
startup mount; 此時會驗證控制文件;
startup open;

select name from v$datafile;
select number from v$logfile;

5、SQL>alter database open; 此時開啓數據庫,驗證數據文件;
SQL> select status from v$instance;

如果直接startup ,則直接進入OPEN狀態;

安裝了GRID,纔會有srvctl 工具, 使用srvctl工具來啓停DB;
srvctl start database -d tech1 -o mount;
srvctl status database -d tech1;
srvctl stop database -d tech1 -o immediate;

關閉DB ,查看會話用戶數:select count(*) from v$session;
常用shutdown immediate 關閉DB;
Oracle_052_lesson_p4

Oracle_052_lesson_p4

日誌log
trace目錄下,有LOG文件,日誌及trace file;
ADR診斷知識庫, .trc和.trm文件

oracle 用戶下: adrci工具
show alert -tail -f 實時告警監控

Dynamic Performance Views 動態性能視圖
位於shared pool 共享池中
v$開頭的視圖,gv$開頭的全局視圖
擁有者:sys用戶
v$fixed_table;通過v$fixed_table 可查詢所有動態性能視圖名稱
SQL> SELECT sql_text, executions FROM v$sql WHERE cpu_time > 200000;
SQL> SELECT * FROM v$session WHERE machine = 'EDRSR9P1' and logon_time > SYSDATE - 1;
SQL> SELECT sid, ctime FROM v$lock WHERE block > 0;

靜態性能視圖
dictionary 數據字典
SELECT * FROM dictionary;
Oracle_052_lesson_p4

DBA :所有的
ALL
:用戶自己的,及授權訪問的
USER_:用戶自己的

SELECT table_name, tablespace_name
FROM user_tables;

SELECT sequence_name, min_value, max_value, increment_by
FROM all_sequences
WHERE sequence_owner IN ('MDSYS','XDB');

SELECT USERNAME, ACCOUNT_STATUS
FROM dba_users
WHERE ACCOUNT_STATUS = 'OPEN';

DESCRIBE dba_indexes;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章