oracle怎么写检查,怎么看oracle
如何检查oracle数据库性能
这种问题要回答好要求知识比较全面。
员工经过长期磨合与沉淀,具备了协作精神,得以通过团队的力量开发出优质的产品。成都创新互联坚持“专注、创新、易用”的产品理念,因为“专注所以专业、创新互联网站所以易用所以简单”。公司专注于为企业提供做网站、网站制作、微信公众号开发、电商网站开发,小程序设计,软件按需网站制作等一站式互联网企业服务。
1 从操作系统层次上看
看CPU 内存 swqp(交换分区)等使用率
2 从磁盘上看
主要看磁盘读写。可以用dd测磁盘读写的速度 也可以在业务高峰期检测磁盘的速率。
3 从数据库本身来看。
先要看数据库各个参数的值 。 如sga的大小,process的大小,redo日志的个数与大小等这些关系到性能的参数是否设置合理。
长期观察的方式就是看各个时期的AWR报告。里面有各种性能指标,以及按执行时间或资源排列的sql ,以及各种等待时间的排名。从这里面可以掌握数据库的长期的性能变化。
即时观察的方式就是利用各种sql 查询 数据库在当前时间的各个性能指标(AWR报告里面的各种指标也都是通过sql查询出来的)
还有对数据库整体的一个检查:
如 表的大小,表是否需要分区而没有分区,索引是否创建,索引是否失效,开发人员写的sql是否正确使用到了索引,频繁使用的sql是否有绑定变量,有频繁大批量增删改的表是否存在高水位。。。
额 总之,这个话题涉及的知识非常多,尽可能多的学习一些东西,祝你好运。
如何检查oracle服务是否启动
1、检查oracle监听服务运行状态,输入lsnrctl status命令来查看,看到提示信息TNS:no listener,表示监听没有启动,
2、监听没有启动,则需要输入lsnrctl start启动监听服务,当看到提示信息"The command completed successfully",则表示启动成功,
如何对Oracle进行安全健康检查
数据库健康检查主要涉及以下四个方面:
系统和数据库的可用性
系统和数据库的完整性
系统、数据库和应用的性能
系统备份和恢复方案评估
根据用户需求的不同,健康检查服务可能包含以下内容:
1.日志分析 检查并分析系统日志及跟踪文件,发现并排除数据库系统错误隐患,正常的日志分析对于数据库来说至关重要。
2.数据库性能分析 通过收集信息对数据库进行性能分析,得出数据库的运行状况报告,帮助用户了解数据库的健康状况,为用户的优化、扩容、升级等工作提供有力的支撑。
3.空间检测 检查数据库空间的使用情况,提供空间使用报告,为用户合理规划空间使用、充分利用资源提供建议。
4.检查Oracle/Mysql等数据库的结构、初始化参数、主要配置文件
5.检查系统和数据库判断是否需要应用最新的补丁集
6.检查数据库备份的完整性等
健康检查是数据库稳定运行的保障,业务系统都应当进行例行的健康检查工作。
Oracle的查询语句怎么写
1.create user username identified by password;//建用户名和密码oracle ,oracle
2.grant connect,resource,dba to username;//授权 grant connect,resource,dba,sysdba to username;
3.connect username/password//进入。
4.select table_name,column_name from user_tab_columns where table_name='TABLE_NAME';//查询表中的表名,字段名等等。 最后的table_name要大写。
5. 如何执行脚本SQL文件? SQL@PATH/filename.sql;
7.查询用户下的所有表 select distinct table_name from user_tab_columns; ===仅显示一列表名。
8.如何搜索出前N条记录?
select * from tablename where rownumn;--足矣。(--是注释用的标记)
9.查找用户下的所有表:select * from tab; --查询该用户下的所有表及视图(显示表名tname, 类型tabname和clusterid)
2、显示当前连接用户
SQL show user –不能用在sql窗口 只能用在command命令窗口。
3、查看系统拥有哪些用户
SQL select * from all_users;
4、新建用户并授权
SQL create user a identified by a;(默认建在SYSTEM表空间下)
SQL grant connect,resource to a;
5、连接到新用户
SQL conn a/a –或者是connect a/a
6、查询当前用户下所有对象
SQL select * from tab; --table或是view
7、建立第一个表
SQL create table a(a number);
8、查询表结构
SQL desc a
9、插入新记录
SQL insert into a values(1);
10、查询记录
SQL select * from a;
11、更改记录
SQL update a set a=2;
12、删除记录
SQL delete from a;
13、回滚
SQL roll;
SQL rollback;
14、提交
SQL commit;
select * from
(select t.*,dense_rank() over (order by cardkind) rank from cardkind t)
where rank = 2;
46. 如何在字符串里加回车?
select 'Welcome to visit'||chr(10)||'' from dual ; --‘||chr(10)||’作为换行符
53. 如何使select语句使查询结果自动生成序号?
select rownum COL from table; --主要就是oracle中引入了rownum
54. 如何知道数据裤中某个表所在的tablespace?
select tablespace_name from user_tables where table_name='TEST'; --table_name名称要大写。
select * from user_tables中有个字段TABLESPACE_NAME,(oracle);
select * from dba_segments where …;
55. 怎么可以快速做一个和原表一样的备份表?
create table new_table as (select * from old_table);
59. 请问如何修改一张表的主键?
alter table aaa drop constraint aaa_key ;
alter table aaa add constraint aaa_key primary key(a1,b1) ;
60. 改变数据文件的大小?
用 ALTER DATABASE .... DATAFILE .... ;
手工改变数据文件的大小,对于原来的 数据文件有没有损害。
61. 怎样查看ORACLE中有哪些程序在运行之中?
查看v$session表
62. 怎么可以看到数据库有多少个tablespace?
select * from dba_tablespaces;
怎么写一个脚本检查oracle数据库表空间,如果利用率超过80%,就执行一条加表空间的SQL
@echo offcls
color 03
@echo ***********************************************************************
@echo * Oracle表空间使用查看 *
@echo ***********************************************************************
@echo.
set /p databasename=数据库名:
set /p databaseusername=数据库用户名:
set /p databasepasswords=数据库密码:
set /p backupFilePath=结果文件存放路径(相对或绝对路径、可空):
@echo offcls
@echo ***********************************************************************
@echo * Oracle表空间使用查看 *
@echo ***********************************************************************
if exist %temp%\CheckTablespaces_Sobey.sql del /f /q %temp%\CheckTablespaces_Sobey.sql
if "%backupFilePath%"=="" set backupFilePath=AutoCreateLookTablespacesFolder
if not exist %backupFilePath% md %backupFilePath%
set dataFilePath=%backupFilePath%\%databasename%
if exist %dataFilePath%.sql set dataFilePath=%backupFilePath%\%databasename%%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%
@echo spool %dataFilePath%.sql%temp%\CheckTablespaces_Sobey.sql
@echo set termout off%temp%\CheckTablespaces_Sobey.sql
@echo set linesize 200%temp%\CheckTablespaces_Sobey.sql
@echo set pagesize 200%temp%\CheckTablespaces_Sobey.sql
@echo SELECT UPPER(F.TABLESPACE_NAME) "表空间名",D.TOT_GROOTTE_MB "大小(MB)",D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用",TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),'990.99') ^|^| '%' "使用比" FROM (SELECT TABLESPACE_NAME,ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES FROM SYS.DBA_FREE_SPACE GROUP BY TABLESPACE_NAME) F,(SELECT DD.TABLESPACE_NAME, ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB FROM SYS.DBA_DATA_FILES DD GROUP BY DD.TABLESPACE_NAME) D WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME ORDER BY 1;%temp%\CheckTablespaces_Sobey.sql
@echo spool off%temp%\CheckTablespaces_Sobey.sql
@echo exit;%temp%\CheckTablespaces_Sobey.sql
sqlplus %databaseusername%/%databasepasswords%@%databasename% @%temp%\CheckTablespaces_Sobey.sql
if exist %temp%\CheckTablespaces_Sobey.sql del /f /q %temp%\CheckTablespaces_Sobey.sql
color 0a
@echo.
@echo ***********************************************************************
@echo * 执行完毕,请先检查是否有错误发生。
@echo * 请在:%dataFilePath%.sql中查看详细,谢谢!
@echo ***********************************************************************
@echo.
@echo 批处理中止
pause
如何对Oracle进行健康检查
看 oracle监听是否启动 在CMD下运行如下命令就可以
lsnrctl status
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=spcc)(PORT=1525)))
TNS-12541: TNS:无监听器
TNS-12560: TNS: 协议适配器错误
TNS-00511: 无监听器
32-bit Windows Error: 61: Unknown error
LSNRCTL start listener1
启动tnslsnr:请稍候...
这表示没有启动。。
方法2:
如果是LINUX系统可以通过如下命令看进程在不在
ps -ef|grep lsn
看 oracle监听是否启动 在CMD下运行如下命令就可以
lsnrctl status
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=spcc)(PORT=1525)))
TNS-12541: TNS:无监听器
TNS-12560: TNS: 协议适配器错误
TNS-00511: 无监听器
32-bit Windows Error: 61: Unknown error
LSNRCTL start listener1
启动tnslsnr:请稍候...
这表示没有启动。。
方法2:
如果是LINUX系统可以通过如下命令看进程在不在
ps -ef|grep lsn
启动步骤:注意$代表shell命令提示符,这里的oracle是9.0以上版本。
1.$ su - oracle
2.$ sqlplus / nolog
3.sql conn / as sysdba
4.sql startup (一般不需要加参数,只要设置好环境变量)
5.sql quit (退出sql模式)
6.$ lsnrctl start (启动监听器)
关闭oracle
1.$ lsnrctl stop(关闭监听器,在这之前,应该先关闭应用程序)
2.$ sqlplus /nolog
启动步骤:注意$代表shell命令提示符,这里的oracle是9.0以上版本。
1.$ su - oracle
2.$ sqlplus / nolog
3.sql conn / as sysdba
4.sql startup (一般不需要加参数,只要设置好环境变量)
5.sql quit (退出sql模式)
6.$ lsnrctl start (启动监听器)
关闭oracle
1.$ lsnrctl stop(关闭监听器,在这之前,应该先关闭应用程序)
2.$ sqlplus /nolog
3.sqlshutdown 其参数 :shutdown有四个参数,四个参数的含义如下:
Normal 需要等待所有的用户断开连接
Immediate 等待用户完成当前的语句
Transactional 等待用户完成当前的事务
Abort 不做任何等待,直接关闭数据库
normal需要在所有连接用户断开后才执行关闭数据库任务,所以有的时候看起来好象命令没有运行一样!在执行这个命令后不允许新的连接
immediate在用户执行完正在执行的语句后就断开用户连接,并不允许新用户连接。
transactional 在拥护执行完当前事物后断开连接,并不允许新的用户连接数据库。
abort 执行强行断开连接并直接关闭数据库。
前三种方式不回丢失用户数据。第四种在不的已的情况下,不建议采用!
2经常遇到的问题:
1)权限问题,解决方法,切换到oracle用户;
2)没有关闭监听器 ,解决方法:关闭监听器
3)有oracle实例没有关闭,解决办法:关闭oracle实例
4)环境变量设置不全,解决办法:修改环境变量
网页标题:oracle怎么写检查,怎么看oracle
分享网址:http://azwzsj.com/article/dsssidd.html