OCA读书笔记(4) - 管理数据库实例

Objectives:

•Start and stop the Oracle database and components
•Use Oracle Enterprise Manager
•Access a database with SQL*Plus
•Modify database initialization parameters
•Describe the stages of database startup
•Describe database shutdown options
•View the alert log
•Access dynamic performance views
--------------------------------------------------------------------------------------------------

1.启动企业管理器

su - grid
lsnrctl start

su - oracle
emctl status dbconsole
emctl start dbconsole

https://machinename:port/em
port can be found in $ORACLE_HOME/install/portlist.ini

firefox https://easthome:1158/em

2.使用SQL*Plus
alter user scott account unlock identified by tiger;
sqlplus /nolog;
conn scott/tiger;

help index
help @

当前会话生效
define _editor='vi'
ed

永久生效
cd $ORACLE_HOME/sqlplus/admin
vi glogin.sql

col empno for 9999
col ename for a8
col job for a10
col mgr for 9999

set pagesize 100
set linesize 140

3.初始化参数文件
二进制(服务器参数文件):$ORACLE_HOME/dbs/spfileorcl.ora
文本(初始化参数文件):$ORACLE_HOME/dbs/initorcl.ora

sid: vi .bash_profile

根据二进制创建文本:
create pfile from spfile;
/u01/app/oracle/product/11.2.0/db/dbs/init<ORACLE_SID>.ora

根据文本创建二进制:
create spfile from pfile;
/u01/app/oracle/product/11.2.0/db/dbs/spfile<ORACLE_SID>.ora

select name, value from v$parameter;
select name, value from v$parameter where name like '%asm%';

show parameter asm;

静态参数:只允许改参数文件
动态参数:可以改内存也可以改参数文件
alter session set * = *;(会话级别) -- 当不指定scope时,内存和参数文件都改变
alter system set * = * scope = spfile/memory/both;(系统级别)

select distinct issys_modifiable from v$parameter;
IMMEDIATE--立即生效
FALSE--重启生效(静态)
DEFERRED--延迟生效

class 2
-------------------------------------------------------------------
4.数据库启动和关闭

1) NoMount-Instance started
实例:内存和后台进程
读取参数文件:$ORACLE_HOME/dbs/spfileorcl.ora
rm -rf initorcl.ora
mv spfileorcl.ora /u01/app/oracle
sqlplus / as sysdba
shutdown abort
startup

echo $ORACLE_SID
先找spfileorcl.ora,再找initoracl.ora,找不到报initoracl.ora找不到
mv /u01/app/oracle/spfileorcl.ora $ORACLE_HOME/dbs/spfileorcl.ora

startup nomount
ipcs -m

----------------------------------------------------
su - grid
crs_stat -t
srvctl stop database -d orcl -o abort
srvctl remove database -d orcl

tail -f alert.log
----------------------------------------------------
演示:更改参数文件之后启动NoMount

2) Mount:
alter database mount;
读取控制文件
show parameter db_name
alter database backup controlfile to trace as '/u01/app/oracle/control.bak'

vi /u01/app/oracle/control.bak
startup nomount;

create pfile from spfile;

cd $ORACLE_HOME/dbs/

vi initorcl.ora -- modify db_name to 'orcl1'

sqlplus / as sysdba;

shutdown immediate;

startup nomount;

create spfile from pfile;

alter database mount; -- error

shutdown immediate;

vi initorcl.ora -- modify db_name back to 'orcl'
startup nomount;

create spfile from pfile;
alter database mount;
演示:创建新的数据库,相互挂载;
控制文件中的名字和参数文件中的名字一致即为挂载。

cd $ORACLE_BASE/diag
vi alert_orcl.log
演示:校验控制文件的完整性和一致性
完整性:实际存在的控制文件要和参数文件中定义的一致
一致性:多份控制文件中内容必须一致

!cp new old

3) 打开数据库
alter database open;
读取控制文件中定义的数据文件和日志文件
校验校验数据文件和日志文件的完整性
校验控制文件,数据文件,日志文件的一致性

4) Shutdown

Abort -- 非一致性关闭

Immediate
强制执行检查点和关闭文件(直接rollback)

Transactional
强制执行检查点和关闭文件
等待当前事务结束(commit[显式和隐式],rollback)

Normal
强制执行检查点和关闭文件
等待当前所有事务结束
等待当前所有会话结束(关闭连接才算会话结束)

默认是Normal

5.查看告警日志

警告日志文件位置:ORACLE_BASE/diag/rdbms/oradb1/oradb1/trace

6.动态性能视图
来源于内存和控制文件
select name from v$fixed_table where name like '%V$%'
desc dba_objects
select object_name, object_type from dba_objects where object_name='V$INSTANCE';
desc dba_synonyms
select owner, synonym_name, table_name from dba_synonyms where synonym_name='V$INSTANCE';
select object_name, object_type from dba_objects where object_name='V_$INSTANCE';
desc dba_views;
select text from dba_views where view_name='V_$INSTANCE';

select * from dictionary;
select * from dict;

dba_  仅dba可见,包含所有
all_  当前用户可以访问的所有,包括自己和和经过授权的别人的
user_ 当前用户拥有的所有

上一篇:Vladik and Entertaining Flags CodeForces - 811E (并查集,线段树)


下一篇:14 CSS题目附答案