database

mysql使用存储过程生成测试数据

声明存过

测试使用

生成了100w条数据。还挺快,不到1小时完成。

 

 

 

oracle session与sql历史查询

session

记录session信息的动态视图为

拣选常用字段进行展示(加粗字体可见sys用户于15年6月8日登陆)

sql语句:

 

具体执行:

sql 历史

v$sql及v$sqlarea存放着统计信息在调优时使用居多,但其sql是不全的,如果想获得完整的sql需使用v$sqltext。

关于这三个视图的区别与用途见引用文章:http://blog.itpub.net/38542/viewspace-885839/

正在执行的sql

sql语句:

具体执行:

执行过的sql

sql语句:

不再演示。

 

 

 

oracle后台进程

实例与server的概念:

Oracle实例:

Oracle实例包括一组后台进程以及这些进程所共享的内存,这些后台进程及其共享内存合起来就构成了Oracle实例.

Oracle数据库服务器:

Oracle实例和数据库合起来又构成了Oracle数据库服务器.

后台进程

1. DBWR 数据库写入进程
DBWR The Database Writer Process 进程负责将脏数据块从数据缓存(database block buffer)写回磁盘.当一个事务修改数据
块中的数据以后,不需要立即将数据块写回磁盘。由于Oracle所采用的先进机制,修改后的数据可以不用立即写回,并且及时出现故障
也不会丢失。因此,DBWR可以采取更有效写回方式,而不用再事务提交完之后立即写回。DBWR通常定时写回数据,除非数据缓冲区
需要清空或已满。
数据写回时,采用了最近最少使用原则(least-recently-used).对于支持异步I/O的系统,只需使用一个BWR进程即可,对不支持
异步IO的可以通过增加DBWR的个数来提升效率。

服务器参数文件SPFILE的参数:DB_WRITER_PROCESSES。修改它可以允许使用多个DBWR进程,但是不能超过物理cpu核数。
2. LGWR 日志写入进程
LGWR (the log writer process)负责将日志缓冲区中的数据写入重做日志。由于COMMIT操作依赖于LGWR写回日志(commit操
作触发LGWR将日志缓冲区数据写入UNDO日志),因此系统性能容易受到LGWR的影响。
3. PMON 进程监视进程
PMON(the Process Monitor Process)进程负责监视数据库的处理情况,并负责清除死掉的进程。PMON还负责重启失败的调度进
程(dispatcher process)
4. SMON 系统监视进程
SMON(the System Monitor Process)进程负责在实例启动时恢复实例,包括清除临时段以及恢复因系统崩溃而中断的事物。
SMON还可以通过合并空闲分区的方式清除数据库中的碎片
5.CKPT 检查点进程
CKPT(the Checkpoint Process)进程负责向DBWR进程发送信号,要求执行一次检查点,并更新数据库的所有数据和控制文件。
CheckPoint(检查点),是指有DBWR进程将所有修改过的数据缓冲区写回数据文件。CKPT是可选的,如果没有CKPT进程,则有LGWR代
行这些任务。
6. ARCHn 归档进程
ARCH(the Archiver Process )负责将再现重做日志复制到归档存储器。进档RDBMS运行在ARCHIVELOG模式时ARCH才有效,如果
系统没有运行在ARCHIVELOG模式,则系统失效后可能无法恢复。最后让系统运行在ARCHIVELOG模式下,此时归档进程可能有多个。
SQL>archive log list //查看是否为归档模式
可以再数据库Mount 模式下开启归档
SQL>alter database archivelog; //开启
SQL>alter database noarchivelog;//关闭
7. RECO 恢复进程
RECO (the Recovery Process)进程用于清除分布式数据库中的未决(pending)事务,它负责分布式事务中本地部分的提交与回滚
8. Dnnn 调度进程
如果选择了Multithreaded Server选项,则对使用的每个通信协议至少有一个调度进程。调度进程(the Dispatcher Process,Dnnn)
负责将用户进程的请求转发到一个可用的共享服务器进程,并负责将用户进程的请求转发到一个可用的共享服务器进程,并负责回送响应
消息。
9. Snnn 共享服务器进程
当使用共享服务器配置或MTS时,会用到共享服务器进程(the Shared Servers Process ,Snnn).这些进程如同专用服务器进程
(Dedicated Server Process),但可以被多个用户
共享。
10. LMS Oracle RAC 锁管理服务
使用RAC时,该服务用语管理集群中不同节点间的锁.
11. QMNn 队列管理进程
使用高级队列选项时(advanced queueing option),队列管理进程 (Queue Manager Process )用于管理作业队列,队列数目可以
达到10个,QMN0——QMN9

 

oracle linux安装rlwrap 使sqlplus具有回格、上下翻功能

1.安装epel源

2.安装rlwrap

3.配置alias

编辑oracle home目录的.bash_profile文件,添加:

 

 

 

 

oracle rac 常用命令

原文:http://blog.sina.com.cn/s/blog_683e8ddf0100p0mm.html

1、查看RAC数据库整体状况
$srvctl status database -d orcl
注:orcl为数据库名,可通过查询2获得
2、查询所有配置的数据库
$srvctl config database
3、显示RAC数据库的配置
srvctl config database -d orcl
4、显示指定集群数据库的所有服务
srvctl config service -d orcl
5、查询指定实例状况
srvctl status instance -d orcl -i orcl2

注:orcl2为实例名
6、查询在数据库全局命名服务的状态
srvctl status service -d orcl -s orcltest

注:orcltest为服务名
7、查询指定节点上应用程序的状态
srvctl status nodeapps -n linux1

linux为集群中的一个节点名
8、ASM实例的状态
srvctl status asm -n linux1
注:ASM:Automatic Storage Management
9、查询节点应用程序的配置-(VIP、GSD、ONS、监听器)
srvctl config nodeapps -n linux1 -a -g -s -l
注:VIP:virtual IP
   GSD:Global Service Daemon
   ONS:Oracle Notification Service
10、查询集群中所有正在运行的实例
SELECT
inst_id
, instance_number inst_no
, instance_name inst_name
, parallel
, status
, database_status db_status
, active_state state
, host_name host
FROM gv$instance
ORDER BY inst_id;

其他以后再补充。

mysql (登录)权限

对于多个不同机器访问数据库的权限,需要在权限分配时指定其主机名,并同时指定密码。

如:hadoop02、hadoop03两台机器要登录mysql,需要赋权:

使用通配符无效,这一条不太科学。以后有机会再验证:

 

oracle 查看用户、表空间及权限

一、查看用户的表空间

表:dba_users

二、查看表空间

表:dba_data_files

三、查看用户权限(注意用户名大写,否则查不到)

表:dba_sys_privs

四、查看用户角色(注意用户名大写,否则查不到)

表:dba_role_privs