8月4
創建數據庫用dbca圖形界面創建。
Listener監聽服務 工作在1521端口 一個監聽可以為所有的數據庫服務,除了瀏覽器,em服務是和數據庫一對一的。
OEM企業管理器:OEM for db control emctl對em 的控制命令 emca修改配置 lsnrctl管理監聽
Em:emctl start | stop |status dbconsole
Portlist.ini
Listener:
Lsnrctl然後回車
Lsnrctl start |stop |status |service
數據庫database:
如果是showdown 就用
啟動實例:
$ ls $ORACLE_HOME/dbs/spfileorcl.ora
SQL> shutdown immediate 關閉
SQL> startup nomount 不加載狀態
SQL> select status from v$instance;
SQL> select * from v$sgainfo;
SQL> select * from hr.employees;
SQL> conn hr/hr
SQL> startup mount或
SQL> show parameter control_files 顯示控制文件的參數值
SQL> select status from v$instance;
SQL> select * from v$controlfile;
SQL> select name from v$datafile;
SQL> select * from hr.employees;
SQL> conn hr/hr
SQL> startup或alter database open;
SQL> select status from v$instance;
SQL> select * from hr.employees;
SQL> conn hr/hr
關閉數據庫:
SQL> shutdown normal 正常關閉
SQL> shutdown transactional 事務性關閉
SQL> shutdown immediate 立即關閉
SQL> shutdown abort 異常關閉
控制腳本:
$ vi /etc/oratab
$ vi $ORACLE_HOME/bin/dbstart 批量啟動 可以掃描系統裏的所有數據庫
$ vi $ORACLE_HOME/bin/dbshut 批量關閉
重啟數據庫:
SQL> startup force 強行重啟
startup force = shutdown abort + startup
startup force mount = shutdown abort + startup mount
練習:
熟悉3個服務的啟動和關閉
參數管理
參數文件:
$ ls $ORACLE_HOME/dbs/spfileorcl.ora
預先備份:
$ cp spfileorcl.ora spfileorcl.ora.bak
不可以通過vi直接修改!
查看參數:
SQL> show parameter
SQL> select NAME, VALUE from v$parameter;
修改參數:
動態參數:當前內存的值改完立即生效,並寫入到參數文件中。
$ strings $ORACLE_HOME/dbs/spfileorcl.ora|grep reource_limit
SQL> show parameter RESOURCE_LIMIT
SQL> alter system set RESOURCE_LIMIT=true;
SQL> show parameter RESOURCE_LIMIT
$ strings $ORACLE_HOME/dbs/spfileorcl.ora|grep reource_limit
靜態參數:只寫入文件,內存裏的值不允許被修改,重啟數據庫可以看到。
$ strings $ORACLE_HOME/dbs/spfileorcl.ora|grep processes
*.processes=150
SQL> show parameter processes 值為150
SQL> alter system set processes=300 scope=spfile; scope指範圍
SQL> show parameter processes 值為150
$ cat $ORACLE_HOME/dbs/spfileorcl.ora
*.processes=300
重啟數據庫,靜態參數修改生效:
SQL> shutdown immediate
SQL> startup
SQL> show parameter processes 值為300
session級別修改參數: 動態參數在 會話級別修改 不會保存在參數文件中
SQL> select sysdate from dual;
SQL> alter session set nls_date_format=‘dd-mon rr‘;
SQL> select sysdate from dual; 只影響當前會話,不影響系統
SQL> conn / as sysdba
SQL> select sysdate from dual; 恢復默認設置
文本格式pfile/二進制格式spfile格式轉換:
SQL> create pfile=‘/home/oracle/initorcl.ora‘ from spfile;
$ cat /home/oracle/initorcl.ora
$ mv $ORACLE_HOME/dbs/spfileorcl.ora $ORACLE_HOME/dbs/spfileorcl.ora.bak
SQL> shutdown immediate
SQL> create spfile from pfile=‘/home/oracle/initorcl.ora‘;
$ strings $ORACLE_HOME/dbs/spfileorcl.ora
指定參數文件啟動數據庫:
SQL> startup pfile=‘/home/oracle/initorcl.ora‘
練習:
修改resource_limit和processes參數。並在alert log中找到對應的信息。
警告日誌和後臺進程的轉儲文件
$ find /u01 -name alert_*.log
$ vi /u01/app/oracle/diag/rdbms/orcl/orcl/trace/alert_orcl.log
SQL> show parameter dump
練習:
查看alert log中最近一次啟動/關閉實例的詳細信息。
查看alert log中記錄的用戶對參數所做的修改。
8月4