重庆思庄Oracle、Redhat认证学习论坛
标题: 新手的日常积累 [打印本页]
作者: 王硕 时间: 2014-11-17 22:41
标题: 新手的日常积累
1.查看系统进程
select sid ,serial#,username,program from v$session;
2.查看用户进程
select sid ,serial#,username,program from v$session where username is not null;
linux 系统查看
ps --ef|grep LOCAL=NO
ps --ef|grep LOCAL=NO |wc -l 进程数
2.1 后台进程
select name,description from v$bgprocess;
linux
ps-ef|grep ora_
2.2正在连接的进程
select pid,pname from v$process;
3.共享
show parameter shared_pool
4.java池
show paramerter java
5.数据缓冲区
show parameter db_cache_
6.大池
show paramerer large_
7.流池
show parameter steam_
8.创建文件地址
show parameter db_create_file_dest
9.增加日志文件
alter database add logfile group 4;
10.日志文件位置
select member from v$logfile
11.查找文件
find / -name
例如查找u01下的 grid文件
find /u01 -name grid
12.查看裸设备
raw -qa
13.useradd命令
我在命令行界面输入 useradd grid 时,显示 bash:useradd:command not found
解决:重新打开一个终端
useradd grid
passwd grid
14.[root@localhost ~]# useradd -g dba -m -d /u01 grid
useradd: warning: the home directory already exists.
[root@localhost ~]# su - grid
-bash-3.2$
解决方法: cp -a /etc/skel/. /u01
15.删除用户
在使用linux时,经常会出现好多原先加的帐户未删除的情况,给系统运行带来隐患,因此一定要彻底删除。
进入root用户,输入
cd /etc
在这个目录下输入
cat passwd
会出现很多用户,绝大部分是系统用户,是不能删的,一般最下面的是用户自己原先添加的帐户。这些帐户已经用
userdel 用户名
这个命令删过,但是仍存在关联文件。所以要用另一种方法:
进入
cd /usr
cd sbin (某些系统版本为bin文件夹)
在这里输入
./userdel -r 用户名 (前面的./一定要加上)
就可以彻底删除了。
16.查看实例
select instance_name,status from v$instance;
作者: 王硕 时间: 2014-11-17 22:41
查看linux ssh服务信息及运行状态
标签:linux ssh服务 查看ssh服务信息
关于ssh服务端配置有不少文章,例如 linux下ssh服务配置,这里仅列举出一些查看ssh服务相关信息的常用命令.
rpm -qa | grep ssh 可以看到系统中ssh安装包
rpm -ql openssh-3.5p1-6 查看该安装包安装信息(如安装路径,配置文件等)
ps -e | grep ssh 查看ssh服务有没有运行,如果有,可以看到类似以下内容:
2254 ? 00:00:00 sshd
这证明ssh已经在运行了,进程名为sshd
如果没有运行,可以通过以下命令运行之:
root]#/etc/rc.d/init.d/sshd start
root]#service sshd start
再看下这个ssh服务的网络连接情况:
root]#netstat -ntlp
如果看到如下内容:
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 22109/sshd
这说明sshd已经能够正常工作了,如果利用客户端(SecurCRT,putty等)连接不上,尝试关闭防火
墙试试: service iptables stop
如果sshd没问题 ip没问题
试试 win7 任务管理器重启net服务
作者: 郑全 时间: 2014-11-18 09:17
不错呀
作者: bikong123 时间: 2014-11-18 10:24
很赞。绝对原创。滴水穿石,这叫“功夫”!
加油!这样坚持下去,一定会在不久的将来看到阳光的!
作者: 王硕 时间: 2014-11-20 08:06
linux 分区设定
/分区是放的Linux操作系统的所有文件,就像是windows的C盘一样;
/home主要是放用户文件,一般没什么重要东西;
/boot是放的系统启动所需的最基本的文件;
/root是放的root用户的用户文件;
/etc下放的是系统的配置文件及一些脚本文件、命令文件等;
/usr目录下是一些应用程序的文件,如果你要安装程序最好放到这下面。
作者: 王硕 时间: 2014-11-20 19:09
新建grid 用户/HOME下,没有grid 文件夹
解决
sudo userdel -r grid
sudo useradd grid -m -s /bin/bash
sudo passwd grid
作者: 王硕 时间: 2014-11-21 21:43
oracle 11g RAC 常用命令整理分享
1)、检查集群状态:
[grid@rac02 ~]$ crsctl check cluster
2)、所有 Oracle 实例 —(数据库状态):
[grid@rac02 ~]$ srvctl status database -d 实例名
3)、检查单个实例状态:
[grid@rac02 ~]$ srvctl status instance -d racdb -i racdb1
Instance racdb1 is running on node rac01
4)、节点应用程序状态:
[grid@rac02 ~]$ srvctl status nodeapps
5)、列出所有的配置数据库:
[grid@rac02 ~]$ srvctl config database
6)、数据库配置:
[grid@rac02 ~]$ srvctl config database -d racdb -a
7)、ASM状态以及ASM配置:
[grid@rac02 ~]$ srvctl status asm
[grid@rac02 ~]$ srvctl config asm -a
8)、TNS监听器状态以及配置:
[grid@rac02 ~]$ srvctl status listener
[grid@rac02 ~]$ srvctl config listener -a
9)、SCAN状态以及配置:
[grid@rac02 ~]$ srvctl status scan
[grid@rac02 ~]$ srvctl config scan
10)、VIP各个节点的状态以及配置:
[grid@rac02 ~]$ srvctl status vip -n rac01
[grid@rac02 ~]$ srvctl status vip -n rac02
[grid@rac02 ~]$ srvctl config vip -n rac01
[grid@rac02 ~]$ srvctl config vip -n rac02
11)、节点应用程序配置 —(VIP、GSD、ONS、监听器)
[grid@rac02 ~]$ srvctl config nodeapps -a -g -s -l
12)、验证所有集群节点间的时钟同步:
[grid@rac02 ~]$ cluvfy comp clocksync -verbose
13)、集群中所有正在运行的实例 — (SQL):
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;
14)、所有数据库文件及它们所在的 ASM 磁盘组 — (SQL):
15)、ASM 磁盘卷:
16)、启动和停止集群:
以下操作需用root用户执行。
(1)、在本地服务器上停止Oracle Clusterware 系统:
[root@rac01 ~]# /u01/app/11.2.0/grid/bin/crsctl stop cluster
注:在运行“crsctl stop cluster”命令之后,如果 Oracle Clusterware 管理的
资源中有任何一个还在运行,则整个命令失败。使用 -f 选项无条件地停止所有资源并
停止 Oracle Clusterware 系统。
另请注意,可通过指定 -all 选项在集群中所有服务器上停止 Oracle Clusterware
系统。如下所示,在rac01和rac02上停止oracle clusterware系统:
[root@rac02 ~]# /u01/app/11.2.0/grid/bin/crsctl stop cluster –all
在本地服务器上启动oralce clusterware系统:
[root@rac01 ~]# /u01/app/11.2.0/grid/bin/crsctl start cluster
注:可通过指定 -all 选项在集群中所有服务器上启动 Oracle Clusterware 系统。
[root@rac02 ~]# /u01/app/11.2.0/grid/bin/crsctl start cluster –all
还可以通过列出服务器(各服务器之间以空格分隔)在集群中一个或多个指定的
服务器上启动 Oracle Clusterware 系统:
[root@rac01 ~]# /u01/app/11.2.0/grid/bin/crsctl start cluster -n rac01 rac02
使用 SRVCTL 启动/停止所有实例:
[oracle@rac01 ~]#srvctl stop database -d racdb
[oracle@rac01 ~]#srvctl start database -d racdb
作者: 王硕 时间: 2014-11-21 21:45
select name,count(subject) cc from a where score>80
group by name
having cc>2;
作者: 王硕 时间: 2014-11-25 11:30
/etc/rc.local与 profile文件区别
两者称为登录脚本,内含许多的全局变量,同时引导一些启动脚本(/etc/profile.d/*.sh),作用全体用户
登录账号时启用的是$home/.profile或者$home/.bash_login或者$home/.bash_profile
/rc.local桌面环境启动前启用,相当于win下的计算机脚本
两者的作用时间不同,很多时候某些脚本需要在系统启动前运行。
bashrc标识的,交互shell开启时启用
作者: 王硕 时间: 2014-11-27 22:27
Oracle通过软连接裸设备建库[em53]
首先,在vm虚拟机上添加一块硬盘,进入系统创建分区,我们以sdc1来划分lv
[root@Oracle ~]# fdisk -l –查看现在有分区
确保有空余硬盘
创建vg
[root@oracle ~]# vgcreate oradata /dev/sdc1 创建pv [root@oracle ~]# pvcreate /dev/sdc1
查看pv信息
[root@oracle ~]# pvdisplay /dev/sdc1
查看vg信息
[root@oracle ~]# vgdisplay
创建lv
[root@oracle ~]# lvcreate -n system01 -L 200M oradata
[root@oracle ~]# lvcreate -n undotbs01 -L 200M oradata
[root@oracle ~]# lvcreate -n control01 -L 50M oradata
[root@oracle ~]# lvcreate -n redo01 -L 100M oradata
[root@oracle ~]# lvcreate -n redo02 -L 100M oradata
查看lv
[root@oracle ~]# lvscan
ACTIVE ‘/dev/oradata/system01′ [200.00 MB] inherit
ACTIVE ‘/dev/oradata/undotbs’ [200.00 MB] inherit
ACTIVE ‘/dev/oradata/redo01′ [100.00 MB] inherit
ACTIVE ‘/dev/oradata/redo02′ [100.00 MB] inherit
ACTIVE ‘/dev/oradata/control01′ [52.00 MB] inherit
赋权
[root@oracle ~]# cd /dev/mapper
[root@oracle mapper]# ll
total 0
crw——- 1 root root 10, 63 Aug 21 14:28 control
brw-rw—- 1 root root 253, 4 Aug 21 18:38 oradata-control01
brw-rw—- 1 root root 253, 2 Aug 21 18:22 oradata-redo01
brw-rw—- 1 root root 253, 3 Aug 21 18:22 oradata-redo02
brw-rw—- 1 root root 253, 0 Aug 21 18:20 oradata-system01
brw-rw—- 1 root root 253, 1 Aug 21 18:21 oradata-undotbs
[root@oracle mapper]# chown -R oracle:oinstall /dev/mapper/oradata*
[root@oracle ~]# cd /dev/mapper
[root@oracle mapper]# ll
crw——- 1 root root 10, 63 Aug 21 14:28 control
brw-rw—- 1 oracle oinstall 253, 4 Aug 21 18:38 oradata-control01 类似格式
[root@oracle ~]# cd /dev/oradata/
[root@oracle oradata]# ll
lrwxrwxrwx 1 root root 29 Aug 21 18:38 control01 -> /dev/mapper/oradata-control01 类似格式
绑定裸设备
[root@oracle oradata]# raw /dev/raw/raw1 /dev/mapper/oradata-system01 –注意,之前是没有/dev/raw目录的,执行后会自动创建
dev/raw/raw1: bound to major 253, minor 0
[root@oracle oradata]# raw /dev/raw/raw2 /dev/mapper/oradata-undotbs01
[root@oracle oradata]# raw /dev/raw/raw3 /dev/mapper/oradata-redo01
[root@oracle oradata]# raw /dev/raw/raw4 /dev/mapper/oradata-redo02
[root@oracle oradata]# raw /dev/raw/raw5 /dev/mapper/oradata-control01
为了保证重启后,可以挂载裸设备,修改下面文件,添加内容
# This file and interface are deprecated.
# Applications needing raw device access should open regular
# block devices with O_DIRECT.
# raw device bindings
# format: <rawdev> <major> <minor>
# <rawdev> <blockdev>
# example: /dev/raw/raw1 /dev/sda1
# /dev/raw/raw2 8 5
/dev/raw/raw1 /dev/mapper/oradata-system01
/dev/raw/raw2 /dev/mapper/oradata-undotbs01
/dev/raw/raw3 /dev/mapper/oradata-redo01
/dev/raw/raw4 /dev/mapper/oradata-redo02
/dev/raw/raw5 /dev/mapper/oradata-control01
重启裸设备服务,验证是否能挂载
[root@oracle ~]# /etc/init.d/rawdevices restart
Assigning devices:
/dev/raw/raw1 –> /dev/mapper/oradata-system01
/dev/raw/raw1: bound to major 253, minor 0
/dev/raw/raw2 –> /dev/mapper/oradata-undotbs
/dev/raw/raw3 –> /dev/mapper/oradata-redo01
/dev/raw/raw4 –> /dev/mapper/oradata-redo02
/dev/raw/raw5 –> /dev/mapper/oradata-control01
done
给新创建的裸设备增加权限,以使oracle能使用
[root@oracle ~]# cd /dev/mapper
[root@oracle mapper]# ll
total 0
crw——- 1 root root 10, 63 Aug 21 14:28 control
brw-rw—- 1 oracle oinstall 253, 4 Aug 21 18:38 oradata-control01 类似格式
[root@oracle mapper]# ls -l /dev/raw
crw-rw—- 1 root disk 162, 1 Aug 21 19:43 raw1 类似格式
这地方的权限不能直接使用chown –R oracle:oinstall /dev/raw/raw*来修改,由于由于/dev下的文件都是动态建立的,所以在OS重启后,属主仍会变成root:disk,要解决这个问题,可以把上面的命令写入到50-udev.permissions文件中, 这样每次开机后可以重新改变属主。
修改/etc/udev/permissions.d/50-udev.permissions文件
采用:/raw搜索
将raw/*:root:disk:0660
修改为raw/*:oracle:oinstall:0660,这个的意思是修改裸设备的默认属主为oracle:oinstall,默认的mode是0660。
修改完后再通过chown –R oracle:oinstall /dev/raw/raw*来赋权。
[root@oracle ~]# cd /dev/raw/
[root@oracle raw]# ll
total 0
crw-rw—- 1 oracle oinstall 162, 1 Aug 21 19:43 raw1
crw-rw—- 1 oracle oinstall 162, 2 Aug 21 19:43 raw2
crw-rw—- 1 oracle oinstall 162, 3 Aug 21 19:43 raw3
crw-rw—- 1 oracle oinstall 162, 4 Aug 21 19:43 raw4
crw-rw—- 1 oracle oinstall 162, 5 Aug 21 19:43 raw5
随后创建软连接
[oracle@oracle prod2]$ pwd
/u01/app/oracle/oradata/prod2
[oracle@oracle prod2]$ ln -s /dev/raw/raw1 system01.dbf
[oracle@oracle prod2]$ ln –s /dev/raw/raw2 undotbs01.dbf
[oracle@oracle prod2]$ ln –s /dev/raw/raw3 redo01.rdo
[oracle@oracle prod2]$ ln –s /dev/raw/raw4 redo02.rdo
[oracle@oracle prod2]$ ln –s /dev/raw/raw5 control01.ctl
作者: 王硕 时间: 2014-11-27 22:28
undo 保存修改前的数据 。另外一个用户访问时 undo构造一个cr原始的块
作者: 王硕 时间: 2014-11-27 22:46
Buffer Cache专题
1.Buffer Cache的重要参数配置
select component,current_size,min_size FROM v$sga_dynamic_components;
2.使用advice来确认buffer cache的大小
SELECT size_for_estimate "Cache Size (MB)",size_factor,buffers_for_estimate "Buffers",
estd_physical_read_factor est_read_factor,
estd_physical_reads estd_phy_red,estd_physical_read_time est_phy_red_t
FROM v$db_cache_advice
WHERE NAME='DEFAULT' AND block_size=(SELECT VALUE FROM v$parameter WHERE NAME='db_block_size');
3.一个对象占用buffer的具体情况
select
o.object_name,
decode(state,0,'free',1,'xcur',2,'scur',3,'cr', 4,'read',5,'mrec',
6,'irec',7,'write',8,'pi') state,
count(*) blocks
from x$bh b, dba_objects o
where b.obj = o.data_object_id
--and o.object_name = 'T2'
group by o.object_name, state
order by blocks desc;
4.对象使用pool的具体情况(考虑了各种池子的情况)
select
o.object_name,
decode(state,0,'free',1,'xcur',2,'scur',3,'cr', 4,'read',5,'mrec',
6,'irec',7,'write',8,'pi') state,
count(*) blocks
from x$bh b, dba_objects o
where b.obj = o.data_object_id and state <> 0
group by o.object_name, state
order by blocks asc;
5.寻找热块
SELECT
obj object,
dbarfil file#,
dbablk block#,
tch touches
FROM
x$bh
WHERE
tch > 10
ORDER BY
tch asc;
6.整个数据库所有文件中block的总和
select
sum(blocks)
from
dba_data_files;
7.空闲空间的比例,最好控制在10%以内
select decode(state,0, 'FREE',1,decode(lrba_seq,0,'AVAILABLE','BEING USED'),3, 'BEING USED', state) "BLOCK STATUS",count(*)
from x$bh
group by decode(state,0,'FREE',1,decode(lrba_seq,0,'AVAILABLE','BEING USED'),3, 'BEING USED', state);
8.最浪费内存的前10个语句占所有语句的比例,建议控制在5%以内
select sum(pct_bufgets) "Percent"
from (select rank() over ( order by buffer_gets desc ) as
rank_bufgets,to_char(100 * ratio_to_report(buffer_gets) over (),'999.99') pct_bufgets from v$sqlarea )
where rank_bufgets < 11;
9.找出消耗物理IO资源最大的的SQL语句
select disk_reads, substr(sql_text,1,4000) from v$sqlarea order by disk_reads asc;
select BUFFER_GETS, substr(sql_text,1,4000) from v$sqlarea order by BUFFER_GETS asc;
10.9、清空buffer cache
alter system flush buffer_cache;
作者: 王硕 时间: 2014-11-29 13:01
一致性读需要读回滚段的数据,
[em54]
先开一个session对测试表执行update操作,不要commit。
另外开一个session对测试表执行select操作
,你会发现逻辑读变大!
作者: 王硕 时间: 2014-11-29 13:06
双机两个节点的进程数量不一样
一节点很多,二节点很少,
且活动的会话一直在一节点,二节点只有一两个活动会话(还是用PL/SQL连接上去的)
问题:客户端连接是使用的tnsnames.ora,是否连的scan ip?还是直接连的固定节点?
原因:连接字符串原来配置的是两个VIP地址,把字符串改成SCAN
作者: 王硕 时间: 2014-11-29 13:07
密码延迟验证
[em57]
从11g开始,如果一个用户使用不正确的密码尝试登录数据库,
那么随着登录失败次数的增加,每次登录验证前延迟等待的时间也会增加。
显然这是一个安全性上的考虑,但有时候也会带来验证的性能问题。
如果同时大量的连接采用错误的密码,基本上这个用户的登录就会被完全HANG住。
作者: 王硕 时间: 2014-11-29 13:10
sql>set timing onsql>set autotrace on
作者: 王硕 时间: 2014-11-29 13:10
系统块大小
[em56]
dumpe2fs dev/sda1
作者: 王硕 时间: 2014-11-29 22:55
http://blog.csdn.net/guduchangjian/article/details/20447737
作者: 王硕 时间: 2014-12-5 21:01
查找会话
select sid from v$mystat where rownum=1
主机名
Select object_name from dba_objects where Object=51905
数据库名
Show parameter servers
主机ip 可能有4,6,8个网卡
netstat -tulnp|grep 1521
欢迎光临 重庆思庄Oracle、Redhat认证学习论坛 (http://bbs.cqsztech.com/) |
Powered by Discuz! X3.2 |