oracle体系结构:
一、数据库系统性能相关
案例一:
由于业务停机维修,需提前关闭数据库,待维修完成之后再次把数据库启动,关注日志宝成,保证成功启动
步骤:
1、停止监听:lsnrctl stop
2、数据库关闭:>shutdown immediate;
3、业务维修完成之后重启打开监听:lsnrctl start
4、打开数据库:>startup
5、查看诊断日志路径:>select * from v$diag_info;
6、进入路径,查找到alter_SID.log日志,查看是否有报错,解决确保成功启动
案例二:
业务系统需求,需要增加物理内存,增加内存之后,调整sga,pga的内存参数
思路:通过调整参数文件参数来进行调整PFILE、SPFILE
步骤:
1、查看目前sga和pga的大小
>show parameter sga;
>show parameter pga;
2、开始修改参数:
>alter system set sga_max_size=60000M scopy=spfile;
>alter system set pga_aggregate_target=20000M scopy=spfile;
3、重启数据库
案例三:
误改了SGA参数,导致数据库无法启动
pfile:静态初始化参数文件。spfile:动态初始化参数文件。
思路:通过pfile来完成spfile的重建
1、找到spfile参数文件:¥ORACLE_HOME/dbs
2、以nomount方式启动>startup nomount
3、创建pfile>create pfile='pfile.ora' from spfile='spfiletdr.ora';
4、手工打开pfile中的相关参数
5、以修改后的pfile文件替换spfile
>create spfile='spfiletdr.ora' from pfile='pfile.ora';
6、退出数据库重新启动
二、物理结构相关
案例四:(防止控制文件损坏造成数据库无法打开,一般使用多路复用,多个控制文件,存放在不同分区磁盘里面)
目前控制文件只有2个,再增加一个控制文件。
步骤:
1、查看控制文件的路径>show parameter control;
2、关闭数据库
3、进入控制文件路径复制多一份控制文件 cp
4、以nomount方式启动
5、修改control_files参数
>alter system set control_files='/u01/app/oracle/oradata/tdr/control01.ctl','/u01/app/oracle/oradata/tdr/control02.ctl','/u01/app/oracle/oradata/tdr/control03.ctl' scopy=spfile;
6、关闭并正常启动数据库
7、检查控制文件参数是否成功修改
案例五:
由于性能问题,目前redo日志组不足,请在增加3组重做日志
步骤:
1、查看日志文件组信息>select * from v$log (默认3个 redo)
2、查看日志文件组成员信息以及文件路径>select * from v$logfile (默认一个成员)
3、添加组:
>alter database add logfile group 6 '/u01/app/oracle/oradata/tdr/redo01.log' size 500M;
4、添加组成员
>alter database add logfile member '/u01/app/oracle/oradata/tdr/redo02.log' to group 6
案例六:
由于空间不足,删除两组重做日志文件,清理空间
5、删除组成员
>alter database drop logfile member '/u01/app/oracle/oradata/tdr/redo02.log'
6、删除组
>alter database drop logfile group 6;
案例七:
考虑到数据的重要性以及可恢复,打开数据库的归档日志
步骤:
1、查看归档日志是否打开
>archive log list;
2、如果没有开启,打开归档日志设置
首先以mount状态开启
>startup mount
>alter database archivelog;
>alter database open;
3、如果需要关闭归档日志
以mount状态开启,关闭,打开数据库>alter database noarchivelog;
4、归档模式需要设置两个参数:归档大小和目录
>show parameter recover;
>alter system set db_recover_file_dest_size=50g;
>alter system set db_recover_file_dest='/u01/app/oracle';
三、逻辑结构相关
案例八:
查看表空间的使用情况,如果达到80%以上,扩展器空间
步骤:
1、查找到对应的表空间文件
>select file_name,tablespace_name from dba_data_files;
2、修改表空间的大小
(1)直接resize修改带下
>alter databse datafile '表空间文件' resize 1200m;
(2)添加表空间文件
>alter tablespace 表空间名 add datafile ‘新表空间文件’ size 200m autoextend off;
案例九:
新创建1个业务表空间:表空间名chenxz,大小200g,自动扩展关闭,多个数据文件
步骤:
1、创建表空间
>create tablespace chenxz datafile '路径文件名01.dbf' size 200g autoextend off;
2、添加其他文件
>alter tablesapce chenxz add datafile '路径文件名02.dbf' size 200g autoextend off;
案例十:
业务系统上线,需要创建1个临时表空间给新用户使用:表空间名chentemp,大小10g,自动扩展关闭
1、创建
>create temporary tablespace chentemp datafile '路径文件名.dbf' size 10g autoextend off;
案例十一:
业务系统上线,需要新建用户:用户名chenxz 密码chenxz,默认表空间:chenxz:默认临时表空间:chentemp,权限dba
步骤:
1、新建
>create user chenxz identified by chenxz default tablespace chenxz temporary tablespace chentemp ;
2、授权
>grant dba to user
案例十二:
业务系统下线,需要清理用户表空间信息:删除用户chenxz,表空间chenxz
步骤:
1、删除用户>drop user chenxz cascade;
2、删除表空间>drop tablespace chenxz including contents and datafiles;