如何使用C#监控oracle数据库

如何使用C#监控oracle数据库,第1张

这种思路不好,实现不了。

需要换一种想法。

例如:

1C#写一个实时监控程序,Oracle写包和触发器

2监控程序的作用是实时的调用包,然后返回相关数据

3触发器的作用是,当某个表有数据插入或者删除,或者某个字段被修改了会直接触发。将想要写的数据,写进指定表或视图。

整体思路是:

当某个表有变动,触发器就触发并写入数据到指定表或视图。

一段时间后,C#监控程序调用Oracle的包,包从指定表或视图获取数据,然后将数据返回到监控端,监控端再触发特定的C#代码。

注意点: 1当拥有SUPER权限的用户连接时,init_connect设定的sql语句不会被执行 2务必保证init_connect设定的sql语句没有任何错误,要不然连接会出错。 3此参数可以让局部变量像全局变量那在配置文件设置属性: 全局、字符串、可动态修改 一.示例1 SET GLOBAL init_connect='SET AUTOCOMMIT=0'; 还可以在命令行或选项文件中设置该变量。要想使用选项文件设置变量,应包括下述行: [mysqld] init_connect='SET AUTOCOMMIT=0' 请注意init_connect的内容并不为拥有SUPER权限的用户执行;实际是内容设置错误(包含错误查询,例如语法错误),这样使所有连接失败。不为SUPER用户执行,使SUPER用户可以打开连接并固定init_connect。 二、示例2 此参数可以用于做登陆审计。 mysql TABLE `wsz` ( `i` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`i`) ) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=latin1 mysql SET GLOBAL init_connect="SET AUTOCOMMIT=0;insert into testwsz values ('');"; Query OK, 0 rows affected (000 sec) 退出后用普通用户登陆: [seezoo@dbaviewcn ~]$ /home/seezoo/mysql/mysql50134/bin/mysql -S /home/seezoo/mysql/mysql50134/mysqlsock Welcome to the MySQL monitor Commands end with ; or /g Your MySQL connection id is 25 Server version: 5134 Source distribution Type 'help;' or '/h' for help Type '/c' to clear the current input statement mysql select @@autocommit; +--------------+ | @@autocommit | +--------------+ | 0 | +--------------+ 1 row in set (000 sec) mysql select from testwsz; +---+ | i | +---+ | 1 | | 2 | | 3 | | 4 | | 5 | +---+ 5 rows in set (000 sec) 用root用户登陆后发现相关值没修改: [seezoo@dbaviewcn ~]$ /home/seezoo/mysql/mysql50134/bin/mysql -uroot -S /home/seezoo/mysql/mysql50134/mysqlsock Welcome to the MySQL monitor Commands end with ; or /g Your MySQL connection id is 26 Server version: 5134 Source distribution Type 'help;' or '/h' for help Type '/c' to clear the current input statement mysql select from testwsz; +---+ | i | +---+ | 1 | | 2 | | 3 | | 4 | | 5 | +---+ 5 rows in set (000 sec) mysql select @@autocommit; +--------------+ | @@autocommit | +--------------+ | 1 | +--------------+ 1 row in set (000 sec) [seezoo@dbaviewcn ~]$ /home/seezoo/mysql/mysql50134/bin/mysql -S /home/seezoo/mysql/mysql50134/mysqlsock Welcome to the MySQL monitor Commands end with ; or /g Your MySQL connection id is 27 Server version: 5134 Source distribution Type 'help;' or '/h' for help Type '/c' to clear the current input statement mysql select @@autocommit; +--------------+ | @@autocommit | +--------------+ | 0 | +--------------+ 1 row in set (000 sec) mysql select from testwsz; +---+ | i | +---+ | 1 | | 2 | | 3 | | 4 | | 5 | | 6 | +---+ 6 rows in set (000 sec)

ACCESS数据库本身貌似没有这样的东西。

给你两个建议吧:

1·数据库加密,并统一程序中对表的 *** 作入口,在入口处记录成功的改动。另外,进来合理化表结构,形成数据对账,这样能分析是程序改动还是外部改动。

2·ASP+ACCESS安全性太差了,建议至少更换数据库。MSSQL MYSQL ORACLE哪个都有类似的功能。

以上就是关于如何使用C#监控oracle数据库全部的内容,包括:如何使用C#监控oracle数据库、监控/审计有哪些用户连接mysql数据库 init_connect、access数据怎么监控等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9800318.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存