Oracle学习-启动与关闭

Oracle启动分为3种过程,关闭分为四种方式


启动

1、nomount 模式【加载实例和spfile(参数文件)】
路径:cd $ORACLE_HOME/dbs
查看:strings spfile实例.ora【它不是文本文件,是二进制文件】  
strings spfile$ORACLE_SID.ora

ecom.__db_cache_size=188743680   【数据缓存大小】
ecom.__java_pool_size=4194304     【JAVA池大小】
ecom.__large_pool_size=4194304     【大池大小】
ecom.__shared_pool_size=83886080    【共享池大小】
ecom.__streams_pool_size=0           【流池大小】
*.audit_file_dest='/oracle/app/admin/ecom/adump'  【审计文件存放路径】
*.background_dump_dest='/oracle/app/admin/ecom/bdump' 【进程捕获文件存放路径】
*.compatible='10.2.0.1.0'  【当前库版本号】
*.control_files='/oracle/app/oradata/ecom/control01.ctl','/oracle/app/oradata/ecom/control02.ctl','/oracle/app/oradata/ecom/control03.ctl' 【控制文件路径】
*.core_dump_dest='/oracle/app/admin/ecom/cdump' 【核心的捕获文件存放路径】
*.db_block_size=8192 【块大小】
*.db_domain=''        【域名字】
*.db_file_multiblock_read_count=16 【一次最多可以读多少块】
*.db_name='ecom'  【库名字】
*.db_recovery_file_dest='/oracle/app/flash_recovery_area' 【闪回区域】
*.db_recovery_file_dest_size=2147483648  【闪回区域大小:2147483648/1024/1024/1024=2G】
*.dispatchers='(PROTOCOL=TCP) (SERVICE=ecomXDB)' 【开启的TCP网络协议,和监听有关系】
*.job_queue_processes=10   【工作进程数,后台的计划任务】
*.open_cursors=300 【开启的游标数】
*.pga_aggregate_target=94371840 【PGA大小】
*.processes=150  【开启的最大进程数】
*.remote_login_passwordfile='EXCLUSIVE'  【登录验证的方式】
*.sga_target=285212672  【SGA大小】
*.undo_management='AUTO'   【uodo表空间管理的方式】
*.undo_tablespace='UNDOTBS1' 【当前回滚表空间】
*.user_dump_dest='/oracle/app/admin/ecom/udump' 【用户捕获文件存放路径】

2、mount  加载控制文件(记录数据文件和日志文件的位置)
到Mount状态,加载完控制文件,目的是往后加载,加载日志文件和控制文件。


控制文件路径:cd $ORACLE_BASE/oradata/$ORACLE_SID/
查看:strings control01.ctl 

数据文件和日志文件路径
表空间名称


3、open   加载日志文件和数据文件
所有的数据库都会有日志文件,日志文件记录着你所有的动作,通过日志才能保证你数据库的完整性。
数据文件,咱们建的表,往表里插入的数据,在操作层面全是插入到数据文件中。

路径:cd $ORACLE_BASE/oradata/$ORACLE_SID/

oracle 单实例单库,一个实例上只能创建一个库
mysql  单实例多库

窗口1
SQL> shutdown immediate;
cd $ORACLE_BASE/admin/$ORACLE_SID/bdump

tail -f -n 200 alert_$ORACLE_SID.log【oracle的一些改变都会放在alert日志中,验证启动流程】

窗口2
SQL> startup


关闭

shutdown normal 需要等待所有事务/进程全部结束 才能关数据库【严谨性最好,但是没有人用】
shutdown transactional   需要等待,但在等待过程中,先把空闲事务进程自动关闭,活动的等人家工作完毕了,再关闭。

上面2种基本很少使用

shutdown immediate  关闭之前同步数据【该同步数据的同步,没有同步的就释放掉,对于你当前的操作,它会告诉你失败了】(生产关闭数据库常用)
以上3种,第3种方式关闭速度最快啊。这种方式不会丢数据。
【oracle为了严谨性, insert update delete操作后,要加上commit,才能生效 (开2个窗口,不commit操作,举个例子)】


客户操作完毕,打了commit操作,传输到服务器端,先写在内存中,然后往硬盘中写,因为内存的数据容易丢。
客户操作完毕,没有打commit操作,传输到服务器端,先写在内存中,现在我一重启,这些操作没有提交,就失效了。

窗口1
insert操作,不commit;
窗口2
shutdown normal;【一直卡着不动】

举例:
窗口1
insert操作,不commit;
窗口2
shutdown immediate;【提交的数据会同步到磁盘,但是没有提交的数据,直接丢弃了。没有丢失数据,会告诉你操作失败了。】


shutdown abort  强制关闭数据库相当于断电(它的速度最快,此动作非常危险,容易失数据)





启动数据库
startup 直接打此命令默认选项为open直接打开数据库
startup nomount 只启动实例(装载实例和打开参数文件)
startup mount  挂载数据库(装载实例和打开控制文件,激活某些功能,用户不能存取数据库可以进行实例或数据的恢复处理)

alter database mount 改变数据库从nomount状态到mount状态
alter database open 打开数据库(此时才可以正常对数据库进行读写)
alter database open read only 将数据库打开到只读状态(用得特别少)

startup force  重启数据库 【先shutdown abort ,然后startup ,生产中不会用,特别危险】

----------------------------------------------------------

生产关库:有些大哥直接在操作系统中直接reboot,这么操作库很容易出现问题,无法恢复
正常关闭过程:
1、关闭应用
2、查看数据库备份
3、正常关监听
4、正常关库shutdown immediate  【如果特别慢,可以编写脚本实现】
5、重启操作系统


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值