??xml version="1.0" encoding="utf-8" standalone="yes"?> 具体实现如下Q?br />
Q-操作pȝ认证Q?br />
配置sqlnet.ora文g中的参数QSQLNET.AUTHENTICATION_SERVICESQ?NTS) Q-口o文g认证Q?br />
配置sqlnet.ora文g中的参数QSQLNET.AUTHENTICATION_SERVICESQ?NONE) 另解Q?br />
如果用的是Winpȝ的话Q操作系l里面有一个ora_dbal,q个l里?br />
Members can connect to the Oracle database as a DBA without a password
Q-口o文g认证Qoracle认证认ؓ操作pȝ用户是不可信ȝQ如果要讉K数据库,必须q行再次认证?/p>
spfile(pfileQ文件参敎ͼREMOTE_LOGIN_PASSWORDFILE=('NONE')
q个时候,只要你登陆操作系loracle用户后,可以直接conn /as sysdba登陆数据库了。但是不能通过oracle的clientȝ接连?as sysdba。如客户端SQLPLUSw或者其它客L软g直接conn /as sysbd ?/p>
spfile(pfileQ文件参敎ͼREMOTE_LOGIN_PASSWORDFILE=('EXCLUSIVE')?'SHARED')
q个时候需要配|口令文件PWDorcl.ora。(orcl为数据库SIDQ可以通过orapwd命oq行配置口oQ具体用法man orapwd?br />
q种情况下,是口o认证模式Q不能用本地用户conn /as sysdba q个时候会报错QORA-01031 权限不。你必须使用conn sys/pwd@orcl as sysdbaq行登陆Q就是说必须提供用户名和密码才能登陆?orcl 为SIDQ?/p>
pȝ默认是操作系l认证模式?/p>
Lq个l里的所有成员,q样sys登陆׃定要正确的密?/p>
本文来自CSDN博客Q{载请标明出处Qhttp://blog.csdn.net/luohuijun619/archive/2009/10/24/4724510.aspx
]]>
而Database是指存储在磁盘上的一l物理文?
2、Oracle数据库的启动主要包含3个步骤:
Q?Q启动数据库到nomount(未加?状态; startup nomount
Q?Q启动数据库到mount(加蝲)状态; alter database mount
Q?Q启动数据库到open(打开)状态; alter database open
3、启动的W一步,Oracle首先L参数文gQpfile/spfileQ,然后Ҏ参数文g中的讄Q创建实例,分配内存Q?br /> 启动后台q程?/p>
4、Oracle首先spfile<sid>.ora文g作ؓ启动参数文gQ如果该文g不存在,则选择spfile.ora,
然后是init<sid>.ora文g?/p>
5、在SQL*PLUS中通过show parameter spfile命o来检查数据库是否使用了spfile文g?/p>
6、参数文件中Q通常需要最的参数?db_name,讄了这个参C后,数据库实例就可以启动?/p>
7、查看参数文件缺省\径:
show parameter dump_dest
show parameter control_files
show parameter db_name //昄实例?br />
show paramter compatible //昄兼容
8、在使用RMANQRecovery ManagerQ时存在更ؓҎ的情况,Oracle允许在不存在参数文g的情况下启动一个实例,
数据库的 db_name会被~省命名为DUMMY
9、LSNRCTL> status //查看监听状?br /> LSNRCTL> start //启动监听
10、关闭数据库 shutdown immediate 而非 shutdown, shutdown 会不正常关闭
shutdown 正常关闭Q等待所有的用户断开q接
shutdown immediate 使用q个命oq每个用户执行完成当前的SQL语句后立x开q接
shutdown transactional 执行Transaction关闭Q迫使用户在当前执行完成后断开q接
shutdown abort l止实例Q停止所有的操作。恢复破坏的文gQ数据库文g不能同其他数据库文g保持一?/p>
11、启动数据库到mount状?br />
SQL>alter database mount;
在mount数据库过E中QOracle需要找到控制文件ƈ锁定控制文g。如果控制文件全部丢失此时就会报出如下错误:
ORA-00205:error in identifying controlfile,check alert log for more info
12、启动数据库open阶段
SQL>alter database open;
13、SCN (System Change Number) pȝ改变?br /> //获取当前SCN select dbms_flashback.get_system_change_number from dual;
14、查?(Checkpoint) 减少崩溃恢复(Crash Recovery)旉
二、参数及参数文g
1、初始化参数的分c,分ؓ3c:推导参数、操作系l依赖参数和可变参数
2、推导参?Derived Parameters)
推导参数通常来自于其他参数的q算Q依赖其他参数得出。所以这cd数通常不需要修攏V如果强制修改,那么修改g覆盖推导倹{?br />
常见的此cd数有很多Q例如,SESSION参数Q在Oracle文档中,该参数按以下公式q算得出Q?br />
SESSION = (1.1*PROCESSES) + 5
~省情况下,当PROCESSES被修ҎQ此参数会自动计ƈ生效
3、操作系l依赖参?br /> 某些参数的有效值或取D围依赖或者受限于操作pȝQ如db_cache_size参数Q设|Oracle使用的内存大,该参数的最大值就?br /> 受限于物理内存。这一cd数通常被称为操作系l依赖参数?/p>
4.可变参数
可变参数通常可以调整Q有些设|的是限制条Ӟ如OPEN_CURSORSQ有的参数是讄定wQ如DB_CACHE_SIZE{。这cd数通常可以
为DBA或最l用戯_从而生限制性能变化Q对Oracle臛_重要?/p>
5、初始化参数通常q有一些其他分cL?br /> a.按照修改方式划分Q初始化参数又可以分为静态参数和动态参数?br /> 静态参数只能在参数文g中修改,在重新启动后方能生效Q动态参数可以动态调_调整后通常可以立即生效?br /> b.按照获取方式不同Q初始化参数又可以分为显C参数和隐式参数?br /> 昄参数可以通过v$parameter查询得到Q而隐含参数通常?#8220;_”开养I必须通过查询pȝ表方能获得这些参数?/p>
6、SPFILE的搜索顺?br />
重新启动数据库,使用startup命oQOracle会按照以下序在缺省目录中搜烦参数文g?br />
(1) spfile<ORACLE_SID>.ora,其缺省目录如?
UNIX: $ORACLE_HOME/dbs/
NT: %ORACLE_HOME%\database
(2) spfile.ora,其缺省目录如?
UNIX: $ORACLE_HOME/dbs/
NT: %ORACLE_HOME%\database
(3) init<ORACLE_SID>.ora, 其缺省目录如:
UNIX: $ORACLE_HOME/dbs/
NT: %ORACLE_HOME%\database
创徏了spfile,重新启动数据库,Oracle会按序搜烦以上目录Qspfile׃自动生效?/p>
7、警报日志文?br />
控制警报日志文g位置的初始化参数是BACKGROUND_DUMP_DEST:
SQL> show parameter background_dump_dest
其缺省文件名为alert_<sid>.log
三、数据字?/p>
1、数据字典由4部分l成Q内部RDBMS(X$)表、数据字典表、动态性能(V$)视图和数据字典视?/p>
2、数据字典表(Data Dictionary Table)用以存储表、烦引、约束以及其它数据库l构的信息?br />
q些对象通常?$"l尾(如tab$、obj$、ts${?
sql.bsq是非帔R要的一个文Ӟ其中包含了数据字典表的定义及注释说明Q该文g位于$ORACLE_HOME/rdbms/admin目录下?/p>
3、动态性能视图(Dynamic Performance View) 记录了数据库q行时信息和l计数据
从Oracle 8开始,GV$视图开始被引入Q其含义为Global V$,除了一些特例外Q每个V$视图都有一个对应的GV$视图存在?/p>
注意,每个V$视图都包含类D句:
where inst_id = USERENV('Instance')
用于限制q回当前实例信息
4、Oracle的X$表信息可以从v$fixed_table中查刎ͼ
SQL> select count(*) from v$fixed_table where name like 'X$%';
四、内存管?/p>
1、SGA 指系l全局?System Global Area)
一块用于加载数据、对象ƈ保存q行状态和数据库控制信息的一块内存区域,在数据库实例启动时分配,当实例关闭时释放Q?br />
每个实例都拥有自qSGA?/p>
2、数据缓冲区 (Buffer Cache) 的大由初始化参数db_cache_size (8i中是db_block_size*db_block_buffers)军_
3、对于SGA各部分设|,可以从数据库的视图中查询得到Q?br />
select * from v$sga;
show sga
4、SGAd受参数SGA_MAX_SIZE讄的媄?br />
show parameter sga_max_size
Variable Size 包括 shared_pool_size、java_pool_size和large_pool_size部分
五、Buffer Cache ?Shared Pool 原理
Buffer Cache ?Shared Pool是SGA中的最重要和最复杂的两个部?/p>
1、在Buffer Cache中,Oracle通过几个链表q行内存理Q其中最为熟知的是LRU List和Dirty List(也经常被UCؓWrite List,?i开?
因ؓ法的改变,也被UCؓCheckpoint Queue)Q各UList上存攄是指向具体Buffer的指针?/p>
六、重?Redo)
1、重?Redo)和撤?Undo)是Oracle的重要特性,用以保证事务的可恢复性和可撤消性?/p>
2、在数据库中,Redo的功能主要通过3个组件来实现:Redo Log Buffer、LGWR后台q程和Redo Log File(在归档模式下,
Redo Log File最l会写出为归档日志文?
3、日志文件的状态:CURRENT、ACTIVE、INACTIVE和UNUSED
(1).CURRENT
指当前的日志文gQ该日志文g是活动的Q当前正在被使用的,在进行崩溃恢复时QCURRENT的日志文件是必须的?br />
(2).ACTIVE
指活动的非当前日志,该日志可以已l完成归档也可能没有归档Q活动的日志文g在Crash恢复时会被用到?br />
(3).INACTIVE
指非zd日志Q该日志在实例恢复时不再需要,但是在介质恢复时可能会用到?br />
日志是否完成归档Q可以根据V$LOG.ARCHIVED字段q行判断
select * from v$log;
(4).UNUSED
指该日志从未被定入,q类日志可能是刚被添加到数据库或者在RESETLOGS之后被重|。被使用之后Q该状态会被改变?/p>
七、等待事?/p>
1、通过查询V$EVENT_NAME视图
select count(*) from v$evnet_name;
2、等待事件可以分为空?idle){待和非I闲(non-idle){待事g
.I闲事g指Oracle正等待某U工作,在诊断和优化数据库的时候,不用q多注意q部分事件?br />
.非空闲等待事件专门针对Oracle的活动,指数据库d或应用运行过E中发生的等待,在调整数据库的时候应该关注与研究