新闻资讯

    系统元数据

    不论是 ,MySQL 还是 SQL ,在数据库软件安装和数据库创建的时候,都会自动创建一大堆表以及其他诸如视图、函数、存储过程之类的对象。这些系统级的表包括的是实例和实例所用到的物理和逻辑属性的元数据, 和 MySQL 把这些表统称为数据字典(data ),在 SQL 中则是称为系统表( )。

    在 SQL 2005 及之后的版本,大部分的系统对象都保存在 数据库中, 少部分保存在 数据库中。 中,数据字典表是保存在 和 表空间中。在 MySQL 中,则是保存在数据库里。

    从 SQL 2005 开始是无法再直接访问系统表了,目录视图( views)取代系统表作为新的访问系统元数据的统一的接口。在 中数据字典表名都是加密过的,藉此来减少表被直接访问或修改,同样的, 也创建了一系列的视图用于给DBA和开发人员访问元数据, 称这些视图为数据字典视图(data views)

    目录视图的定义存储在 SQL 的 数据库中,这些系统视图归属于一个特别的名为 sys 的 用户架构之下(user )并能从任意数据库中访问到。例如,要查看一个 SQL 实例中存在的所有的数据库,以在任意数据库下使用下面语句查询:

    SELECT * FROM sys.databases;

    要查出任意一个数据库中的所有对象,则可以使用 sys. 目录视图:

    SELECT * FROM sys.objects;

    中,数据字典从属于 用户 SYS。不过不同于 SQL 的时候每个数据字典视图都存在有三种不同的形式,分别提供三个不同级别的信息。数据字典视图也就存在三个不同的类型,从视图名的前缀就能看出视图能带来什么样的信息:

    修改表空间名字_qq空间情侣空间名字_oracle修改表字段名字

    下面的例子展示的两个查询反回的结果就是不一样的:

    SELECT table_name, tablespace_name FROM user_tables; 
    SELECT table_name, tablespace_name FROM dba_tables;

    第一个只显示执行查询的用户自己创建的表而第二个则会显示数据库中存在的所有的表。

    MySQL 中需要授予用户访问数据库的权限去查询元数据。

    其中以开头的是引擎特有的元数据。MySQL 并没有把数据字典划分级别,而是统一的放在一张表里处理。例如,想查询某个库里所有的表,可以用如下SQL:

    oracle修改表字段名字_qq空间情侣空间名字_修改表空间名字

    SELECT * FROM information_schema.tables WHERE table_schema='库名'

    启动与配置参数

    在 SQL 安装的时候,同时也会往 注册表里面添加一些记录,这些注册表键值指定了实例所需要的各种参数。比如,有的注册表键值指定了错误 日志的保存目录, 另外的指定了默认的备份目录等等。SQL 在运行的过程中会使用到这些注册表键值。另外还能给 .EXE 指定一些启动参数,包括追踪标志(trace flags),这些附加的参数决定了实例启动之后的行为。除了注册表键值和启动参数之外,SQL 还包括大量的内部配置参数,用于对实例进行调优。比如说“max ”就属于这些参数之一,它可用来调整实例所能使用的最大内存。这些系统配置参数也是保存在系统元数据表( )中的。

    下面的方法都可以用来修改 SQL 配置参数:

    的配置参数来自两个对于启动实例和打开数据库都是非常重要的操作系统文件, 第一个文件是初始化参数文件 ( file),第二个是控制文件( file)。 初始化参数文件所包括的参数决定怎么样创建实例。记住 实例只包括内存结构和后台进程。参数文件包括的值决定了 要给自己分配多少内 存,可以同时有多少用户可以连接到数据库等等。 在读取到这个文件之后才会在内存中建立数据库实例。

    参数文件可以是一个纯文本的ASCII文件或者是二进制文件,纯文本参数文件称为pfile,名字为 init.ora, 其中的 SID 就是实例的 SID 了(参照“实例名不 SID”小节)。二进制参数文件称为 ,名字为 .ora。 纯文本参数文件和二进制参数文件之间最大的差别就是当使用pfile 的时候修改表空间名字, 只在实例启动的时候读取一次,后续对pfile 的修改都要等到实 例重启之后才能生效。而使用时, 能在实例运行期间修改其内容。你可以通过 或者是手工的修改这些初始化参数,使用pfile 时,DBA 可以直接使用文本编辑器进行修改,也可以通过 ALTER 命令来修改。只是使用pfile时这些参数的修改是无法保存下来的,同时能修改的也只是一些动态的参数,而使用则可以将这 些修改保存到文件中永丽保留下来。

    控制文件是实例启动之后 第二个要读取的文件。控制文件所存放的位置也是由参数文件中的参数来指定的。控制文件是一个很小的二进制文件,它包括了不数据库相关的关键的信息,其中包括数据文件和重做日志文件的名字不位置、表空间信息以及检查点信息, 使用控制文件来找到数据文件,然后才能打开供用户访问。控制文件损坏或者是不存在的话数据库都是无法打开的。考虑到控制文件的重要性,通常的做法都是设置多份相同的控制文件拷贝以保证容错能力,多路控制文件中的所有控制文件都会同时的被更新。

    修改表空间名字_qq空间情侣空间名字_oracle修改表字段名字

    最后,第三种 数据库要使用的文件就是密码文件( file)了,这个文件保存了拥有启动和关闭数据库权限的用户帐户的用户名和密码。

    MySQL的配置参数主要来自命令行启动参数和配置文件f。所有的命令行参数都可以在配置文件中设置。例如可以在命令后加 -- 参数来指定数据文件所在的目录,也可以在f中添加配置项来指定

    在类UNIX系统中,MySQL按照以下的顺序来搜索配置文件。

    /etc/f/etc/mysql//f$/f~/.f

    用户也可以用SET命令实时设置系统参数。例如想要设置系统最大连接数,可以用以下的任意一条命令:

    SET GLOBAL max_connections = 1000;
    SET @@global.max_connections = 1000;

    oracle修改表字段名字_修改表空间名字_qq空间情侣空间名字

    如果想要改变用户级别的配置,则可以用以下的任意一条命令,这样改变的配置只会影响在此用户会话期间:

    SET SESSION sql_mode = 'TRADITIONAL';
    SET @@session.sql_mode = 'TRADITIONAL';
    SET @@sql_mode = 'TRADITIONAL';

    动态视图

    除了数据字典视图之外, 还提供大量称为动态性能视图( Views)的 视图,这些视图可以用来查看实例的内存结构或者是控制文件的内容。不数据字典视图不同的是,动态性能视图的内容不是来自于静态的数据表,而是来自服务器内存中实时的数据。这些数据在实例启动的时候开始积累,贯穿于整个实例的生命周期之内,在实例重启或是关闭的时候消失。另外一个不同点就是 DBA 只能在数据 库打开并在线的时候才能查看数据字典视图,而动态性能在实例启动运行之后就能够查看了。部分的动态性能视图只能在数据库MOUNT 之后才能查看。这些视图 常被称为 V$视图,因为它们的名字都是以V$开头的。例如,下面的查询可以显示 实例使用的初始化参数:

    SELECT NAME, description, VALUE FROM v$system_parameter;

    qq空间情侣空间名字_修改表空间名字_oracle修改表字段名字

    下面的查询显示当前会话相关的信息:

    SELECT username, command, schemaname, osuser, machine FROM v$session;

    在 SQL 中,动态管理视图( Views, DMV)也同样可以显示实例内存中大量信息。和 动态性能视图一样,DMV 也不存在对应的数据表,也在系统重启之后会重新记录。DMV 属于 SYS 架构 ()修改表空间名字,名字以”dm_”开头, 下面的代码显示 SQL 实例当前的会话情况:

    SELECT * FROM sys.dm_exec_requests

    MySQL 有三种方法显示动态性能信息。例如同样要显示当前的会话信息,第一种是用SHOW 命令:

    SHOW PROCESSLIST;

    第二种是通过访问库相关的表:

    SELECT * FROM information_schema.processlist;

    第三种是访问库的相关表:

    SELECT * FROM performance_schema.threads;

网站首页   |    关于我们   |    公司新闻   |    产品方案   |    用户案例   |    售后服务   |    合作伙伴   |    人才招聘   |   

地址:北京市海淀区    电话:010-     邮箱:@126.com

备案号:冀ICP备2024067069号-3 北京科技有限公司版权所有