oracle学习笔记

 

1.oracle server包含instance和database是多对一的关系;SGA当instance启动的时候分配,是一个总体的,PGA当一个server process(当有一个客户端连接时就有一个server process,而background process是处理数据库后台的进程)启动的时候分配。
2.SGA包含shared pool,datavbase buffer cache,redo log buffer,large pool,java pool等。可以动态调整SGA_MAX_SIZE。select component,granule_size from v$sga_dynamic_components;SGA参数:DB_CACHE_SIZE,LOG_BUFFER,SHARED_POOL_SIZE,LARGE_POOL_SIZE,JAVA_POOL_SIZE。shared_pool:存储最常执行的sql语句和data definitions。shared pool包括library cache(存储经过编译解析后的sql语句和pl/sql语句)和data dictionary cache(保存数据库控制信息的,比如一些视图、对表的权限啊)两大部分。database buffer cache:部分数据文件的拷贝,cache命中。 redo log buffer:每对数据有一次改变,就有一条log。large pool:rman备份,i/o,并行处理等的时候会用到。
3.user process:客户端进程,server process:响应user process,background process:后台进程。ps -ef |grep oracle。tnslsnr侦听进程。不同计算机通信走tcp/ip,同一台计算机走ipc或者lo。DBWn:把SGA中database buffer cache中已经修改过的脏buffer写到data file;LGWR:把redo log buffer中的东西写到redo log file中,写redo log先于写data file,redo log是循环覆盖写的,为了防止覆盖,可以将redo logfiles内容写到archiveelog中;SMON:实例恢复等,监控系统;PMON:监控进程;CKPT:检查点;ARCn:把redo log写到archived log。tablespace-datafile-segment-extent-blocks,oracle的一个block是操作系统block的整数倍。
4.sqlplus /nolog;conn / as sysdba;lsnrctl start;
5.show parameter sga(会把包含sga的参数都显示出来);pfile是一个文本文件initSID.ora,$ORACLE_HOME/dbs目录下;unique key对应一个SGA,是oracle_home和sid哈希后得到的。controlfile在/u02/Femas下。spfile-spfileSID.ora是一个二进制文件,可以使用 strings spfileSID.ora可以提取二进制文件,和pfile在同一个目录,spfile是由oracle server维护的,不能直接编辑,需要用sqlplus命令去编辑。create spfile from pfile;
6.修改spfile:alter system set parameter=value <comment='text'><deferred><scope=memory|spfile|both><sid='sid'|*>;如果修改后想还原默认值:alter system reset parameter scope='' sid='sid';
7.startup,优先找spfileSIDora,找不到的话找spfile.ora,找不到再找initSID.ora,再找不到的话要手工指定:startup pfile=$ORACLE_HOME/dbs/initDBA1.ora;(只能使用pfile,如果想使用spfile,可以在空白pfile里写入spfile=$ORACLE_HOME/dbs/spfilexxx.ora)shutdown->nomount(instance started,先读spfile,分配SGA,启动后台进程,startup nomount)->mount(实际就是把一个instance和一个database挂接起来的过程,根据spfile中的CONTROL_FILES参数找到控制文件,在控制文件中包含了很多数据库的信息,alter database mount就能把数据从nomount到mount)->open(打开联机数据文件和重做日志文件alter database open)157
8.alter database open read only;startup restrict;alter system enable restricted session;select * from v$session,desc v$transaction;alter system kill session '15,6'('sid,serialnumber');关闭数据库,首先把sga中的数据写到数据文件和redolog file中,然后数据库关闭所有联机数据文件和重做日志文件,此时控制文件仍然是被打开的;第二阶段,unmount database,关闭控制文件,此时instance还是存在的;第三阶段,关闭instance,释放内存。

 

9.alertSID.log(路径由BACKGROUND_DUMP_DEST定义,可以通过alterfile恢复pfile,那些参数都在alterlog里面有,字符串要加引号),background trace file(SID_processname_PID.trc),user trace file(SID_ora_PID.trc),alter session set sql_trace=true;

10.创建口令文件:orapwd file=$ORACLE_HOME/dbs/orapwxxx password=oracle entries=10;在初始化参数文件里加入REMOTE_LOGIN_PASSWORDFILE='EXCLUSIVE';
11.手工创建数据库:选instance名字SID,选字符集,设环境变量,创建初始化参数文件,启动数据库到nomount阶段,执行create database命令,建表空间,跑脚本建数据字典。
12.数据字典:只读的表和视图,你创建一个表,数据库自动在dd里做更改,dd存储在system表空间里,所属用户为sys。dd包含基表(create database)和数据字典视图(catalog.sql,catproc.sql),desc user_tables,desc all_tables,desc dba_objects;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值