Data Guard表空间和数据文件管理

一、添加表空间或者添加数据文件
1)备库的STANDBY_FILE_MANAGEMENT=auto时
主库执行create tablespace fei_2 datafile ‘/u01/oradata/first/fei_02.dbf’ size 1m;
就可以实现在主备库中都实现表空间和数据文件的添加,无需人工干预
2)备库的STANDBY_FILE_MANAGEMENT=MANUAL时
主库执行create tablespace fei_1 datafile ‘/u01/oradata/first/fei_01.dbf’ size 1m;
备库分三步操作
select name from v$datafile;–获得命名异常的数据文件
alter database create datafile ‘/u01/oracle/dbs/UNNAMED00006’ as ‘/u01/oradata/first/fei_01.dbf’;
RECOVER MANAGED STANDBY DATABASE DISCONNECT;
二、删除表空间或者数据文件
1)备库的STANDBY_FILE_MANAGEMENT=auto时
在主库上执行drop tablespace fei_1 including contents and datafiles;
备库同时会删除表空间和数据文件,无需人工干预
2)备库的STANDBY_FILE_MANAGEMENT=MANUAL时
主库执行drop tablespace fei_1 including contents and datafiles;
需要手工在备库上删除相应数据文件rm /u01/oradata/first/fei_01.dbf
三、数据文件重命名
无论STANDBY_FILE_MANAGEMENT=auto/manual都需要人工干预
主库上需要执行操作
1)ALTER TABLESPACE fei_02 OFFLINE;
2)!mv /u01/oradata/first/fei_02.dbf /u01/oradata/first/xifenfei.dbf
3) alter tablespace fei_2 rename datafile ‘/u01/oradata/first/fei_02.dbf’ to ‘/u01/oradata/first/xifenfei.dbf’;
4) alter tablespace fei_2 online;
备库需要执行操作
1)shutdown immediate
2)startup mount
3)!mv /u01/oradata/first/fei_02.dbf /u01/oradata/first/xifenfei.dbf
4)alter system set standby_file_management=manual;–如果是manual无需操作
5)alter database rename file ‘/u01/oradata/first/fei_02.dbf’ to ‘/u01/oradata/first/xifenfei.dbf’;
6)alter system set standby_file_management=auto;–根据实际需求
7)ALTER DATABASE OPEN;–11G
8)ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;

Solaris系统管理命令

A
—————————————————————————————-
acctcom–查找和打印进程统计文件
adb–通用调试器
addbid–创建或扩展书目数据库
admin,scci-admin–创建和管理SCCI历史文件
aedplot–各种绘图仪的图形过滤器
alias,unalias–创建和删除假名
answerbook2–联机文档系统
appletviewer–浏览Java小程序
apropos–通过关键字查找命令
ar–维护可移植档案和库
arch–显示当前主机的体系结构
as–汇编器
asa–将FORTRAN回车控制输出转换成可打印的格式
at, batch–以后执行命令
atoplot–各种绘图仪的图形过滤器
atq–显示在指定时间运行的排队的作业
atrm–删除由at或batch假脱机的作业
audioconvert–转换音频文件格式
audioplay–播放音频文件
audiorecord–录制音频文件
awk–模式扫描和处理语言
B
—————————————————————————————-
banner–制作告示
basename, dirname–显示路径名部分
batch–以后执行命令
bc–二进制计算器
bdiff–比较大文件
bfs–扫描大文件
bg–控制进程执行
bgplot–各种绘图仪的图形过滤器
biff–通知收到邮件消息
break, continue–外壳内置函数,用以中断循环
C
—————————————————————————————-
cal–显示日历
calendar–提醒服务
cancel–取消打印请求
case, switch, select–从操作列表进行选择的内置函数
cat–连接并显示文件
cc–C 编译器
cd,chdir, pushd, popd, dirs–改变工作目录
cdc, sccs-cdc–改变SCCS增量更改的增量更改说明
chdir–改变工作目录
checheq–排版数学测试
checknr–检查nroff和troff输入文件的错误
chgrp–改变文件组所有权
chkey–改变用户的安全RPC密钥对
chmod–改变文件的权限模式
chown–改变文件所有权
cksum–写文件校验和及尺寸
clear–清除终端屏幕
cmp–比较两个文件
col–反向换行过滤器
com, sccs-comb–组合SCCS增量更改
comm–选择或丢弃两个文件中相同的行
command–执行简单的命令
compress, uncompress, zcat–压缩、解压缩文件或显示扩展文件
continue, break–外壳内置函数
cp–拷贝文件
cpio–拷进和拷出文件档案
cpp–C语言预处理器
corntab–用户表文件,按年代顺序排列
crtplot–各种绘图仪的图形过滤器
crypt–加密或解密文件
csh–带有类C语法的外壳命令解释器
csplit–在上下文的基础上拆分文件
ct –登录到远程终端
ctags–创建一个标记文件,以与ex和vi一起使用
cu–调用另一个UNIX系统
cut–剪切文件每行中选择的字段
D
—————————————————————————————-
date–写日期和时间
dc–桌面计算器
delta, sccs-delta–对SCCS文件生成增量更改
deroff–删除nroff/troff, tbl和eqn结构
df–报告空闲磁盘块和文件的数量
dhcpinfo–显示通过DHCP收到的参数值
diff–逐行显示两个文本文件之间的不同
diff3–比较3个文件之间的差别
diffmk–标记troff输入文件的版本之间的差别
dircmp–目录比较
dirname–提供路径名称部分
dirs–更改工作目录
dis–目标代码反汇编程序
disable–禁用LP打印机
dispgid–显示所有合法组名称列表
dispuid–显示所有合法用户名称的列表
dos2unix–将DOS格式的文本文件转换为ISO格式
download–下载主机上驻留的PostScript字体
dpost–PostScript打印机的troff后处理器
du–汇总磁盘的使用
dumbplot–各种绘图仪的图形过滤器
dump–为外壳脚本转储目标文件的选定部分
dumpcs–显示当前地区的代码集表
dumpkeys–转储键盘转换表
E
—————————————————————————————-
echo–将参数写到标准输出
ed, red–文本编辑器
edit–文本编辑器(ex的变体,用于临时用户)
egrep–用完整的正则表达式搜索某个模式的文件
eject–从驱动器中弹出光盘或者磁盘之类的媒体
elfdump–转储目标文件的选定部分
enable, disable–启用/禁用LP打印机
env–为命令调用设置环境
eqn, neqn, checkeq–排版数学测试
eval–执行其他命令的外壳内置函数
ex–基于显示的文本编辑器
exec, eval, source–执行其他命令的外壳内置函数
exit, return, goto–让外壳忽略它的步骤顺序的外壳内置函数
expand, unexpand–将制表符展开为空格符,或反过来
export–外壳内置环境变量函数
exportfs–将exprotfs选项转换为共享/非共享命令
expr–计算表达式
exstr–从源文件中提取字符串
F
—————————————————————————————-
factor–得到数字的素因子
false–提供真值
fastboot, fasthalt–不检查磁盘而重现启动/暂停系统
fc–处理命令历史列表
fdformat–格式化磁盘或者PCMCIA存储卡
fg–控制进程执行
fgrep–在文件中搜索固定字符串
file–确定文件类型
filesync–同步常规、目录或特殊文件
find–查找文件
finger–显示关于本地和远程用户的信息
fmt–简单文本格式化程序
fmtmsg–在标准错误或者系统控制台上显示消息
fnattr–更新和检查与FNS命名对象有关的属性
fnbind–将引用绑定在FNS名称上
fnlist–显示FNS上下文中的名称和引用绑定
fnlookup–显示绑定在FNS名称上的引用
fnrename–重新命名FNS名称的绑定
fnsearch–搜索有特定属性的FNS对象
fnunbind–从FNS名称中解除引用的绑定
fold–折叠行的过滤器
for,foreach,repeat–内置重复函数
from–显示新到达的邮件消息的日期与发件人
ftp–文件传输程序
function–定义外壳函数的外壳内置命令
G
—————————————————————————————-
gcore–获取运行进程的核心映像
gencat–创建格式化的消息目录
genmsg–从源文件中抽取消息来生成消息源文件
get, sccs-get–检索SCCS文件的版本
getconf–获取配置值
getfacl–显示任意文件的信息
getopt–分析命令选项
getoptcvt–转换到getopts来分析命令选项
getopts–分析实用程序选项
gettext–从消息数据库中检索文本字符串
gigiplot–各种绘图仪的图形过滤器
glob–展开词列表的外壳内置函数
goto–外壳内置函数
gprof–显示调用图形配置文件数据
graph–画图形
grep–在文件中搜索一种模式
groups–打印用户组的成员
grpck–密码/组文件检查程序
H
—————————————————————————————-
hash,rehash,unhash,hashstat–计算目录内容的内部哈希表
hashcheck,hashmake–报告拼写错误
hashstat–计算目录内容的内部哈希表
head–显示文件的前几行
help,sccs-help–寻求关于SCCS错误或警告消息的帮助
history, fc–处理命令历史列表
hostid–打印当前主机的数字标识符
hostname–设置或打印当前主机系统名
hp7221plot, hpplot–各种绘图仪的图形过滤器
I
—————————————————————————————-
iAPX286,i286,i386,i486,i860–获取处理器类型真值
iconv–代码集转换实用程序
if,test–条件判断
implot–各种绘图仪的图形过滤器
indxbib–生成书目数据库的倒序索引
install–安装命令
Intro, intro–命令及应用程序介绍
ipcrm–删除消息队列、信号量集或共享的内存ID
ipcs–报告进程间通信机制状态
isainfo–描述指令集结构
isalist–显示这个平台的本机指令集
J
—————————————————————————————-
jar–Java归档工具
javac–Java编译器
javadoc–Java API文档生成器
javah–C头文件和占位文件生成器
javald–创建Java应用程序包装
javap–Java类文件反汇编程序
jdb–Java调试器
jobs, fg, bg, stop, notify–控制进程执行
join–关系数据库运算符
jre–Java运行阶段解释器
jsh–标准和作业控制外壳及命令解释器
K
—————————————————————————————-
kbd–键盘命令
kdestroy–消除Kerberos证明书
Kerberos–介绍Kerberos安全系统
keylogin–使用keyserv解密并存储密钥
keylogout–用keyserv删除存储的密钥
kill–结束进程或对进程发信号
kinit–Kerberos登录命令
klist–列出当前持有的Kerberos证明书
ksh,rksh–korn外壳,一个标准的/限制的命令和编程语言
ksrvtgt–使用服务密钥获取并存储Kerberos授权证明书
L
—————————————————————————————-
last–显示注册和注销信息
lastcomm–按相反的顺序显示最近执行的命令
ld–目标文件的链接编辑器
ldapadd–ldap条目添加和修改工具
ldapdelete–ldap删除条目工具
ldapmodify, ldapadd–ldap条目添加和修改工具
ldapmodrdn–ldap修改条目RDN工具
ldapsearch–ldap搜索工具
ldd–列出可执行文件或者共享对象的动态从属关系
ld.so.1–动态对象的运行阶段链接程序
let–用于计算一个或多个算术表达式的外壳内置函数
lex–为词汇任务生成程序
limit,ulimit,unlimit–设置或获取可用系统资源的限制
line–读一行
lint–C程序验证器
listusers–列出用户登录信息
ln–生成文件的硬链接或符号链接
loadfont–显示或改变X86显示卡字体信息
loadkeys, dumpkeys–加载或转储键盘转换表
locale–获取地区特定的信息
localedef–定义地区环境
logger–向系统日志中添加条目
login–登录到系统中
logname–返回用户的登录名
logout–外壳内置函数,从登录会话中退出
look–在系统目录中查找字词或在存储列表中查找行
lookbib–在书目数据库中查找引用
lorder–查找目标或库档案的顺序关系
lp–提出打印请求
lpc–行式打印机控制程序
lpq–显示打印队列的内容
lpr–提交BSD打印请求
lprm–从打印队列中删除打印请求
lpstat–显示关于打印服务状态的信息
lptest–生成行式打印机脉动模式
ls–列出目录的内容
M
—————————————————————————————-
m4–宏处理器
mach–显示当前主机的处理器类型
machid–获取处理器类型的真值
mail, rmail–读取邮件或向用户发送邮件
mailcompat–为Solaris邮箱提供兼容性
mailq–打印邮件队列
mailstats–打印Sendmail收集的统计信息
mailx, mail, Mail–交互式消息处理系统
make–维护、更新和重新生成相关程序和文件
makekey–创建加密密钥
man–查找并显示参考手册页
mconnect–连接到SMTP邮件服务器套接字
mcs–控制目标文件的注释节
mesg–允许或拒绝消息
mkdir–生成目录
mkmsgs–创建gettxt使用的消息文件
mkstr–通过传送C源文件消息来创建错误消息文件
more, page–在文本文件中浏览或翻页
msgfmt–从消息文件中创建消息目标
mt–磁带控制
mv–移动文件
N
—————————————————————————————-
native2ascii–本机到ASCII转换器
nawk–新模式扫描和处理语言
neqn–排版数学测试
newaliases–为邮件别名文件重新建立数据库
newform–改变文本文件的格式
newgrp–登录到一个新组
news–打印新闻条目
nice–通过修改后的调度优先级调用命令
nis+, NIS+, nis–网络信息命名服务的新版本
niscat–显示NIS+表及对象
nischgrp–改变NIS+对象的组拥有者
nischmod–更改NIS+对象的访问权限
nischown–更改NIS+对象的拥有者
nischttl–更改NIS+对象的存活时间
nisdefaults–显示NIS+默认值
niserror–显示NIS+出错信息
nisgrep–搜索NIS+表
nisgrpadm–NIS+组管理命令
nisln–符号链接NIS+对象
nisls–列出NIS+目录的内容
nismatch,nisgep–搜索NIS+表
nismkdir–创建NIS+目录
nispasswd–更改NIS+密码信息
nisrm–从命名空间中删除NIS+对象
nisrmdir–删除NIS+目录
nistbladm–管理NIS+表
nistest–使用条件表达式返回NIS+命名空间的状态
nl–行编号过滤器
nm–输出目标文件的名称列表
nohup–运行命令,不受挂起的影响
notify–控制进程的执行
nroff–为显示或行式打印机格式化文档
O
—————————————————————————————-
od–八进制转储
on–在本地环境中执行远程系统的命令
onintr–响应信号的外壳内置函数
optisa–确定最优指令集
P
—————————————————————————————-
pack, pcat, unpack–压缩和解压文件
page–浏览或翻阅文本文件
pagesize–显示内存页面的大小
passwd–改变登录密码和密码属性
paste–合并文件中的对应行或后续行
patch–将改变应用于文件
pathchk–检查路径名
pax–可移植档案文件的互换
pcat–压缩和解压文件
pcmapkeys–在文本模式中为PC控制台设置键盘扩展映射和扫描码转换
pcred–Proc工具
pdp11–获取处理器类型真值
pfiles, pflags–Proc工具
pg–文件细读过滤器
pgrep, pkill–查找进程或对进程发信号
pkginfo–显示软件包信息
pkgmk–生成可安装的软件包
pkgparam–显示软件包参数值
pkgproto–生成原型文件条目,作为pkgmk命令的输入
pkgtrans–转换软件包的格式
pkill–查找进程或对进程发信号
pldd–Proc工具
plimit–获取或设置运行进程的资源限制
plot,aedplot,atoplot,bgplot,crtplot,dumbplot,gigiplot–各种绘图仪的图形
过滤器
pmap–Proc工具
popd–改变工作目录
postdaisy–Diablo 630菊花轮文件的PostScript转换器
postdmd–DMD位图文件的PostScript转换器
postio–PostScript打印机的串口
postmd–PostScript打印机的矩阵显示程序
postplot–plot(4)图形文件的PostScript转换器
postprint–文本文件的PostScript转换器
postreverse–反转PostScript文件的页码顺序
posttek–Tektronix 4014文件的PostScript转换器
pr–打印文件
prex–在一个进程或内核中控制跟踪
print–外壳内置函数,输出字符到屏幕或者窗口
printenv–显示当前环境变量
printf–写格式化输出
priocntl–显示或设置指定进程的调度参数
proc,pflags,pcred,pmap,pldd ,psig ,pstack,pfiles ,pwdx,pstop,prun,
pwait,pfree,ptime–proc工具
prof–显示配置文件数据
prs,sccs-prs–显示SCCS文件中的修改表信息
prun–Proc工具
ps–报告进程状态
pig,pstack,pstop,ptime,ptree–Proc工具
pushd–改变工作目录
pvs–显示动态目标的内部信息
pwait–Proc工具
pwd–返回工作目录名
pwxd–Proc工具
R
—————————————————————————————-
ranlib–将档案转换成随机存取的库
rcp–远程文件复制
rdist–远程文件分布程序
read–从标准输入读入一行
readonly–外壳内置函数,防止指定变量被重新赋值
red–文本编辑器
refer–通过书目数据库扩展和添加引用
regcmp–编译正则表达式
rehash–计算目录内容的内部哈希表
remote_shell, remsh–远程外壳
renice–改变正在运行的进程的优先级
repeat–外壳内置函数,重复某个操作
reset–设置或者恢复终端特性
return–外壳内置函数, 跳过操作序列
rksh–Korn外壳,一种标准/受限的命令和程序设计语言
rlogin–远程登录
rm,rmdir–删除目录项
rmail–读电子邮件或者向用户发送电子邮件
rmdel–删除SCCS文件中的增量更改
rmdir–删除目录项
rmic–Java RMI占位程序编译器
rmiregistry–注册远程Java对象
roffbib–格式化和显示书目数据库
rpcgen–IPC协议编译器
rsh,remsh,remote shell–远程外壳
rup–显示远程系统的主机状态(RPC版本)
uptime–显示本地系统的主机状态
rusage–显示命令使用资源的情况
rusers–显示登录到远程系统上的用户
rwho–显示登录到本地系统上的用户
S
—————————————————————————————-
sact–显示SCCS文件的编辑活动状态
sag–系统活动图
sar–显示系统活动
sccs–源代码控制系统(SCCS)的前端
sccs-admin,admin–创建和管理SCCS历史文件
sccs-cdc,cdc–修改SCCS增量更改的注释
sccs-comb,comb–合并SCCS的增量更改
sccs-delta,delta–对SCCS文件进行修改
sccsdiff–比较同一个SCCS文件的两个版本
sccs-get,get–获取某个版本的SCCS文件
sccs-help,help–请求有关SCCS错误或警告消息的帮助
sccs-prs,prs–显示SCCS历史文件中指定的部分
sccs-prt,prt–显示SCCS文件的增量更改表信息
sccs-rmdel,rmdel–删除SCCS文件中的增量更改
sccs-sact,sact–显示SCCS的编辑活动状态
sccs-sccsdiff,sccsdiff–比较同一个SCCS文件的两个版本
sccs-unget,unget–撤销前一次对SCCS文件的Get
sccs-val,val–验证SCCS文件
script–记录终端会话
sdiff–并排显示两个文件之间的不同之处
sed–流编辑器
select–外壳内置函数,从操作列表中做出选择
serialver–显示序列号版本
set,unset,setenv,unsetenv,export–外壳环境变量内置函数
setfacl–修改一个或多个文件的访问控制表(ACL)
settime–改变文件的访问和修改时间
sh,jsh–标准的作业控制外壳和命令解释器
shell_builtins–外壳命令解释器内置函数
shift–外壳内置函数,移动外壳的参数列表或者字段分隔的字列表
shutdown–在指定的时间关闭系统
size–显示目标文件节的字节数
sleep–在一段时间内暂停执行
smart2cfg–Compaq Smart-2 EISA/PCI和Smart-2SL PCI 阵列控制器ioctl命令
soelim–解析和消除nroff或troff输入中的.so请求
solregis–Solaris用户注册
sort–对文本文件进行排序、合并或检查顺序
sortbib–对书目数据库进行排序
sotruss–跟踪共享库的过程调用
source–外壳内置函数,可以执行其他命令
sparc–得到处理器类型真值
spell,haskmake,spellin,hashcheck–显示拼写错误
spline–内插光滑曲线
split–将文件拆分成数据片
srchtxt–显示消息数据库的内容,或在消息数据库中搜索字符串
stop–控制进程的执行
strchg,strconf–改变或者查询流配置
strings–查找目标文件或二进制文件中可显示的字符串
strip–从目标文件中去除符号表、调试信息和行号信息
stty–设置终端的选项
sum–显示文件的校验和以及块数
sun–得到处理器类型真值
suspend–外壳内置函数,可以使当前外壳停止
switch–外壳内置函数,从操作列表中选择一种
symorder–重新排列一列符号
sysvV-make–维护、更新和重新生成程序组
T
—————————————————————————————-
t300, t200s, t4014, t450–各种绘图仪的图形过滤器
tabs–设置终端上的制表符
tail–查看文件的最后部分
talk–与其他用户交谈
tar–创建磁带档案以及添加或提取文件
tbl–为nroff或troff设置表的格式
tcopy–拷贝磁带
tee–复制标准输出
tek–各种绘图仪的图形过滤器
telnet–使用TELNET协议连到远程系统的用户界面
test–判断条件
tftp–普通文件传输程序
time–计算简单命令的时间
times–外壳内置函数,用于报告当前外壳的使用时间
timex–计算命令的时间;报告进程数据和系统活动
tip–连接到远程系统
tnfdump–把二进制TNF文件转换为ASCII文件
tnfxtract–把内核探查输出提取到跟踪文件中
touch–更改文件的访问时间和修改时间
tplot, t300, t300s, t4014, t450, tek, ver–各种绘图仪的终端输出的图形过滤器
tput–初始化终端或查询terminfo数据库
tr–转换字符
trap, onintr–外壳内置函数,用于响应硬件信号
troff–排版或设置文档格式
true, false–提供真值
truss–跟踪系统调用和信号
tset, reset–建立或恢复终端特性
tsort–拓扑排序
tty–返回用户的终端名
type–写出命令类型的说明
typeset, whence–外壳内置的命令,用于获得/设置外壳变量和函数的属性及值
U
—————————————————————————————-
u3b, u3b2, u3b5, u3b15, u370–获得处理器类型真值
ucblinks–为SunOS 4.x的兼容性添加/dev项
ul–给终端显示的文本加下划线
ulimit, unlimit–设置或获得系统资源的外壳限制
umask–获得或设置文件模式创建掩码
unalias–删除命令的别名
uname–打印当前系统名
uncompress–解压或显示展开的文件
unexpand–把空格字符转换为制表符
unget–撤销以前获得的SCCS文件
unhash–计算目录的内部哈希表目录
unifdef–从C源程序中解析和删除ifdef行
uniq–报告或过滤出文件中的重复行
units–将以标准单位表达的数量转换为其他单位
unix2dos–把文本文件由ISO格式转换为DOS格式
unlimit–设置或获取外壳系统资源的限制
unpack–解压和展开文件
unset, unsetenv–外壳内置函数,确定环境变量特性
until–外壳内置函数,在条件为真时执行操作
unzip–列出、测试和提取Zip档案中的压缩文件
uptime–显示系统运行的时间
users–显示登录用户的压缩列表
uucp, uulog, uuname–UNIX到UNIX系统文件复制
uuencode, undecode–对二进制文件编码或解码
uuglist–打印可用服务等级的列表
uulog, uuname–UNIX到UNIX的系统复制
uupick–公共的UNIX到UNIX的文件复制
uustat–uucp状态查询和作业控制
uuto, uupick–公共的UNIX到UNIX系统文件的复制
uux–UNIX到UNIX的系统命令的执行
V
—————————————————————————————-
vacation–自动答复邮件
val–验证SCCS文件
vax–获取处理器类型真值
vc–版本控制
vedit–面向屏幕的、基于ex的可视显示编辑器
ver–各种绘图仪的图形过滤器
vgrind–设置程序列表的格式
vi, view, vedit–面向屏幕的、基于ex的可视显示编辑器
view–面向屏幕的、基于ex的可视显示编辑器
vipw–编辑密码文件
volcancel–取消对当前驱动器中不存在的可卸载媒体的请求
volcheck–检查驱动器中
volmissing–提示用户,请求的卷并不在光驱或磁盘驱动器中
volrmmount–调用rmmount来安装或卸载媒体
vplot–各种绘图仪的图形过滤器
W
—————————————————————————————-
w–显示系统用户信息
wait–等待进程完成
wc–显示文件中的行、单词以及字符的数目
what–从文件中提取SCCS版本信息
whatis–显示有关命令的一行摘要信息
whence–外壳内置函数,以获得/设置外壳变量和函数属性及数值
whereis–找到一个命令的二进制文件、源文件和帮助页文件
which–显示一个命令在用户路径中的位置
while外壳内置函数,执行条件操作
who–显示用户名
whoami–显示有效的当前用户
whocalls–报告对特定过程的调用
whoisInternet–用户名目录服务
write–向其他用户发送一个消息
X
—————————————————————————————-
xargs –将一个命令的标准输出转换为另一个命令的参数
xgettxt–从C程序提取xgettxt调用字符串
xstrt–从C程序提取字符串
Y
—————————————————————————————-
yacc–另一个编译器
ypcat–显示NIS数据库中的值
ypmatch–显示NIS映射中的键值
ypasswd–更改NIS数据库中的网络密码
ypwhich–返回映射主机的NIS服务器的名称
Z
—————————————————————————————-
zcat–压缩、解压文件或显示展开后的文件
zipinfo–列出有关zip档案的详细信息

Solaris 图形化界面管理

开机进入字符界面
/usr/dt/bin/dtconfig -d
要恢复使用图形登陆界面,请使用
/usr/dt/bin/dtconfig -e
使用svcadm disable cde-login关闭图形界面
使用svcadm enable cde-login打开图形界面
如果使用的是GDM
使用svcadm disable gdm关闭图形界面
使用svcadm enable gdm重新打开图形界面
(SNV上使用gdm,S10下可能是gdm-login…)

Data Guard Failover 处理

1、flush redo
ALTER SYSTEM FLUSH REDO TO target_db_name;
Note:1)11g新加功能,如果不是11g的data gurad 则直接跳至步骤2
2)只要主库能启动到mount状态,那么Flush 就可以把没有发送的归档和current online redo 发送到备库,如果Flush成功,数据不会丢失,执行步骤2
2、检查Gap
select thread#, low_sequence#, high_sequence# from v$archive_gap;
如果有,将对应的归档文件copy到备库,在注册它
alter database register physical logfile ‘filespec1’;
检查是否存在gap,如果无记录,继续执行步骤3,否则再尝试,确实不行,则执行步骤6
3、Stop Redo Apply
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
4、Finish Apply
1)在oracle 10gR2 或之后的版本:如果在备用库上有备用库日志文件
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH [force|wait|nowait];
Note:在执行这个命令的时候,如果主库和备库之间的网络中断了。 那么备库的RFS进程就会等待网络的连接,直到TCP超时。 因此在这种情况下,就需要加上Foce 关键字
2)在oracle 10gR2之前的版本:没有备库日志文件
alter database recover managed standby database finish skip standby logfile;
Note:如果执行了这条命令,就不能在进行recover standby database;
5、将备库切换成主库
SELECT SWITCHOVER_STATUS FROM V$DATABASE;
ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY [WITH SESSION SHUTDOWN];
Note:当我们正常切换的时候,如果提示我们需要介质恢复的时候执行,则执行步骤6,否则执行步骤7
6、强行切换(激活)
1)查找主库最后归档日志
SELECT UNIQUE THREAD# AS THREAD, MAX(SEQUENCE#)
OVER (PARTITION BY thread#) AS LAST from V$ARCHIVED_LOG;
2)注册最近归档日志
ALTER DATABASE REGISTER PHYSICAL LOGFILE ‘filespec1’;
3)将主库的所有online redo copy到备库
4)Stop Redo Apply
alter database recover managed standby database cancel;
5)恢复备库
recover standby database until cancel;
Note:手工输入online redo尝试
6)激活备库
alter database activate standby database;
7、重启数据库
shutdown immediate;
startup

Solaris 10安装oracle 10.2

1、检查包
pkginfo -i SUNWarc SUNWbtool SUNWhea SUNWlibm SUNWlibms SUNWsprot SUNWsprox SUNWtoo SUNWi1of SUNWi1cs SUNWi15cs SUNWxwfnt
如果提示:ERROR: information for “SUNWi1cs” was not found类似信息请执行2
2、安装缺少包
cd /cdrom/sol_10_910_x86/Solaris_10/Product
pkgadd -d . SUNWi1cs
3、修改内核参数
vi /etc/system
set noexec_user_stack=1
set semsys:seminfo_semmni = 100
set semsys:seminfo_semmns = 1024
set semsys:seminfo_semmsl = 256
set semsys:seminfo_semvmx = 32767
set shmsys:shminfo_shmmax = 4294967295
set shmsys:shminfo_shmmin = 1
set shmsys:shminfo_shmmni = 100
set shmsys:shminfo_shmseg = 10
4、创建用户和组
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba -d /export/home/oracle -m -s /bin/bash oracle
passwd oracle
5、创建文件夹
mkdir -p /u01/oracle
chown -R oracle:oinstall /u01
chmod -R 775 /u01
6、修改用户环境变量
vi .profile
ORACLE_BASE=/u01
ORACLE_HOME=$ORACLE_BASE/oracle
ORACLE_SID=orcl
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
PATH=$PATH:$ORACLE_HOME/bin:/bin:/sbin:/usr/ccs/bin:/usr/local/bin
TEMP=/tmp
TMPDIR=/tmp
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/network/lib:/lib64:/usr/local/lib
export TMPDIR TEMP PATH NLS_LANG ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH
7、开始安装
su – oracle
export DISPLAY=192.168.1.1:0.0
/tmp/database/runInstaller
note:使用xmanager映射出图形界面

lag() lead()函数使用

1、语法
LAG (value_expression [,offset] [,default]) OVER ([query_partition_clause] order_by_clause)
LEAD (value_expression [,offset] [,default]) OVER ([query_partition_clause] order_by_clause)
2、说明
1)lag 和lead 可以 获取结果集中,按一定排序所排列的当前行的上下相邻若干offset 的某个行的某个列(不用结果集的自关联)
2)lag 和lead 有三个参数,第一个参数是列名,第二个参数是偏移的offset,第三个参数是超出记录窗口时的默认值
3)lag ,lead 分别是向前,向后
3、准备试验环境

CREATE TABLE t(t_NAME VARCHAR2(10),t_order NUMBER);
INSERT INTO t VALUES('aaaa',1);
INSERT INTO t VALUES('bbbb',2);
INSERT INTO t VALUES('cccc',3);
INSERT INTO t VALUES('dddd',6);
INSERT INTO t VALUES('eeee',4);
INSERT INTO t VALUES('ffff',5);
SELECT * FROM t;
T_NAME        T_ORDER
---------- ----------
aaaa                1
bbbb                2
cccc                3
dddd                6
eeee                4
ffff                5
6 rows selected

4、测试

SELECT T_ORDER,
LAG(T_NAME, 1,'lag_fei') OVER(ORDER BY T_ORDER) "LAG",
T_NAME,
LEAD(T_NAME, 1,'lead_fei') OVER(ORDER BY T_ORDER)"LEAD"
FROM T
ORDER BY T_ORDER;
T_ORDER LAG        T_NAME     LEAD
---------- ---------- ---------- ----------
1 lag_fei    aaaa       bbbb
2 aaaa       bbbb       cccc
3 bbbb       cccc       eeee
4 cccc       eeee       ffff
5 eeee       ffff       dddd
6 ffff       dddd       lead_fei
6 rows selected

Data Gurad switchover切换(Physical Standby Databases)

一、主库
查看当前数据库状态
select database_role,switchover_status from v$database;
当switchover_status为SESSIONS ACTIVE时
alter database commit to switchover to physical standby with session shutdown;
否则执行
alter database commit to switchover to physical standby;
切换成功关闭数据库
shutdown immediate;
startup mount;
note:11g 可以直接置于 read only 使用命令startup
开启实时应用
alter database recover managed standby database using current logfile disconnect from session;
恢复备库未利用日志
alter database recover managed standby database disconnect from session;
二、备库
查看当前数据库状态
select database_role,switchover_status from v$database;
如果是switchover_status为recovery needed或switchover latent 恢复数据库
alter database recover managed standby database disconnect from session;
切换数据库
alter database commit to switchover to primary with session shutdown;
开启数据库
startup
–查询除自己进程外的其他进程,并kill掉

SELECT 'kill -9 '||p.spid,'alter system kill session '''||v.sid||','||v.SERIAL#||''''
FROM V$SESSION v ,v$process p
WHERE v.TYPE = 'USER'
AND v.SID <> (SELECT DISTINCT SID FROM V$MYSTAT)
AND v.paddr=p.addr;

三、补充11g官方文档处理顺序和操作语句
1、主库切换
SELECT SWITCHOVER_STATUS FROM V$DATABASE;
ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY WITH SESSION SHUTDOWN;
SHUTDOWN ABORT;
STARTUP MOUNT;
2、备库切换
SELECT SWITCHOVER_STATUS FROM V$DATABASE;
ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;
ALTER DATABASE OPEN;
3、开启应用(新备库–原主库)
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;

11g data guard(PHYSICAL STANDBY)配置

一、 Preparing the Primary Database for Standby Database Creation
1、安装redhat 5.5系统和11g r2数据库,相关参数如下

Database DB_UNIQUE_NAME TNS Ip
Primary first first 192.168.1.2
Physical standby sencode sencode 192.168.1.3

2、Enable Forced Logging
2.1)查看数据库是否开启force log
select force_logging from v$database;
2.2)如果得到结果是YES,跳过2.3)
2.3)ALTER DATABASE FORCE LOGGING;
3、Enable Archiving
3.1)查看数据库是否启动归档模式
archive log list;
3.2)如果得到类此下面结果跳过步骤3.3)
Database log mode Archive Mode
Automatic archival Enabled
3.3)开启归档模式
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
4、创建Primary Database和Standby Database的tns,确保两者能够相互tnsping通
Note:tns配置成dedicated server模式
二、Step-by-Step Instructions for Creating a Physical Standby Database
1、Create a Backup Copy of the Primary Database Datafiles
方法一、冷备份
关闭Primary Database数据库(immediate)拷贝datafile、redo、undo、temp到Standby Database位置
Note:如果确保自己有能力在没有redo、undo、temp文件的情况下恢复数据库,可以只拷贝datafile(建议全拷)
方法二、rman备份
Rman 备份,然后在Standby端恢复
2、Create a Control File for the Standby Database
ALTER DATABASE CREATE STANDBY CONTROLFILE AS ‘/tmp/control01.ctl’;
Scp /tmp/control01.ctl oracle@192.168.1.3:/u01/oradata/first/
3、Create a Parameter File for the Standby Database
3.1)Create a parameter file
CREATE PFILE=’/tmp/pfile’ FROM SPFILE;
3.2)Modify the Parameter File
3.2.1)Primary Database
first.__db_cache_size=71303168
first.__java_pool_size=4194304
first.__large_pool_size=4194304
first.__oracle_base=’/u01’#ORACLE_BASE set from environment
first.__pga_aggregate_target=121634816
first.__sga_target=192937984
first.__shared_io_pool_size=0
first.__shared_pool_size=100663296
first.__streams_pool_size=4194304
*.audit_file_dest=’/u01/admin/first/adump’
*.audit_trail=’db’
*.compatible=’11.2.0.0.0′
*.control_files=’/u01/oradata/first/control01.ctl’,
‘/u01/flash_recovery_area/first/control02.ctl’
*.db_block_size=8192
*.db_domain=’dg’
*.db_name=’first’
*.db_unique_name=’first’

*.db_recovery_file_dest=’/u01/flash_recovery_area’
*.db_recovery_file_dest_size=4039114752
*.diagnostic_dest=’/u01′
*.dispatchers='(PROTOCOL=TCP) (SERVICE=firstXDB)’
*.log_archive_config=’dg_config=(first,second)’
*.log_archive_dest_1=’LOCATION=/u01/archive valid_for=(all_logfiles,all_roles)
*.log_archive_dest_2=’service=second lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=second’
*.log_archive_format=’%t_%s_%r.arc’
*.log_archive_dest_state_1=enable
*.log_archive_dest_state_2=enable
fal_server=second

*.memory_target=314572800
*.nls_language=’SIMPLIFIED CHINESE’
*.nls_territory=’CHINA’
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile=’EXCLUSIVE’
*.undo_tablespace=’UNDOTBS1′
standby_file_management=auto
3.2.2)Standby Database
second.__db_cache_size=71303168
second.__java_pool_size=4194304
second.__large_pool_size=4194304
second.__oracle_base=’/u01’#ORACLE_BASE set from environment
second.__pga_aggregate_target=121634816
second.__sga_target=192937984
second.__shared_io_pool_size=0
second.__shared_pool_size=100663296
second.__streams_pool_size=4194304
*.audit_file_dest=’/u01/admin/second/adump’
*.audit_trail=’db’
*.compatible=’11.2.0.0.0′
*.control_files=’/u01/oradata/first/control01.ctl’
*.db_block_size=8192
*.db_domain=’dg’
*.db_name=’first’
*.db_unique_name=’second’

*.db_recovery_file_dest=’/u01/flash_recovery_area’
*.db_recovery_file_dest_size=4039114752
*.diagnostic_dest=’/u01′
*.dispatchers='(PROTOCOL=TCP) (SERVICE=firstXDB)’
*.log_archive_config=’dg_config=(first,second)’
*.log_archive_dest_1=’LOCATION=/u01/archive valid_for=(all_logfiles,all_roles) db_unique_name=second’
*.log_archive_dest_2=’service=first lgwr async valid_for=(online_logfiles,primary_role)
*.log_archive_format=’%t_%s_%r.arc’
*.log_archive_dest_state_1=enable
*.log_archive_dest_state_2=enable
fal_server=first

*.memory_target=314572800
*.nls_language=’SIMPLIFIED CHINESE’
*.nls_territory=’CHINA’
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile=’EXCLUSIVE’
*.undo_tablespace=’UNDOTBS1′
standby_file_management=auto
scp /tmp/pfile oracle@192.168.1.3:/tmp/
拷贝主库密码文件到备库,确保sys密码一致
scp /u01/oracle/dbs/orapwfirst oracle@192.168.1.3:/u01/oracle/dbs/orapwsecond
4、Start the Physical Standby Database
4.1)Startup pfile=’/tmp/pfile’ mount(可以直接open,oracle会自动置于read only模式)
4.2)Add STANDBY LOGFILE
ALTER DATABASE ADD STANDBY LOGFILE (‘/u01/oradata/first/slog1.rdo’) SIZE 50M;
ALTER DATABASE ADD STANDBY LOGFILE (‘/u01/oradata/first/slog1.rdo’) SIZE 50M;
ALTER DATABASE ADD STANDBY LOGFILE (‘/u01/oradata/first/slog1.rdo’) SIZE 50M;
4.3)Start Redo Apply
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;
5、Start Primary Database
Startup pfile=’/tmp/pfile’;
6、Verify the Physical Standby Database Is Performing Properly
6.1)standby database,
SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
6.2)Primary Database
ALTER SYSTEM SWITCH LOGFILE;
SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
6.3)standby database
SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
观察SEQUENCE#在Primary Database和standby database是否一致
7、Create Spfile
create spfile from pfile=’/tmp/pfile’;(Primary Database和standby database)

LOG_ARCHIVE_DEST_n参数属性

AFFIRM和NOAFFIRM
AFFIRM保证在日志写入进程(LGWR)能够继续写入可以重用主数据库上的联机重做日志文件之前,能够同步执行并成功完成到备用目的地的归档重做日志文件或备用重做日志文件的所有磁盘I/O操作,因此,LGWR在写入到主数据库上的本地联机重做日志文件之前一直等待。需要AFFIRM来达到没有数据丢失的目的
NOAFFIRM指示将要同步地执行到归档重做日志文件和备用重做日志文件的所有磁盘I/O操作;在备用目的地上的磁盘I/O操作完成之前,可以重用主数据库上的联机重做日志文件
ALTERNATE和NOALTERNATE
当原始的归档目的地失效时,ALTERNATE指定一个可替换使用的LOG_ARCHIVE_DEST_n目的地
ARCH和LGWR
ARCH默认情况下指定ARCH进程负责将重做数据传送到归档目的地。LGWR指定LGWR进程执行日志传输操作
DB_UNIQUE_NAME和NODB_UNIQUE _NAME
DB_UNIQUE_NAME为目的地指定唯一的数据库名字
DELAY和NODELAY
DELAY指定在备用站点上归档重做数据日志和将归档重做日志文件应用到备用数据库之间的时间间隔;DELAY可以用来保护备用数据库免受损坏或错误的主数据的影响。如果没有指定DELAY和NODELAY,默认采用NODELAY
DEPENDENCY和NODEPENDENCY
DEPENDENCY允许向一个目的地传输重做数据,然后在多个被备用数据库之间共享它的归档的重做日志文件。当创建DEPENDENCY时,必须使用REGISTER和SERVICE属性
LOCATION和SERVICE
每个目的地必须指定LOCATION或SERVICE属性来标识一个本地磁盘目录(通过LOCATION)或一个远程数据库目的地(通过SERVICE),Log Transport Service可以向此数据库传送重做数据
MANDATORY和OPTIONAL
如果目的地是OPTIONAL,到此目的地的归档操作可能失败,然而仍可以重用联机重做日志文件并最终可以重写它。
如果一个MANDATORY目的地的归档操作失败,则不能重写联机重做日志文件
MAX_FAILURE和NOMAX_FAILURE
MAX_FAILURE指定在主数据库永久放弃备用数据库之前执行的重新打开尝试的最大次数
NET_TIMEOUT和NONET_TIMEOUT
NET_TIMEOUT指定在终结网络连接之前主系统上的日志写入器(log writer)进程等待来自网络服务器进程的状态所允许的秒数。默认值是180秒
QUOTA_SIZE和NOQUOTA_SIZE
QUOTA_SIZE指示本地目的地能够使用的一个磁盘设备上的512字节物理存储块的最大数量
QUOTA_USED和NOQUOTA_USED
QUOTA_USED标识在一个特定的目的地上归档的512字节数据块的数量
REGISTER和NOREGISTER
REGISTER指示归档重做日志文件的位置将记录在对应的目的地
REOPEN和NOREOPEN
REOPEN指定在归档器(archiver)进程(ARCn)或日志写入器进程(LGWR)尝试再次访问一个以前失效的目的地之前允许的最小秒数(默认值是300秒)
SYNC和ASYNC
在使用日志写入器进程(LGWR)时,SYNC和ASYNC指定网络I/O操作是同步执行还是异步执行。默认情况下,SYNC=PARALLEL,用于存在多个使用SYNC属性的目的地的情况下。所有的目的地应该使用相同的值
TEMPLATE和NOTEMPLATE
TEMPLATE为备用目的地上的归档重做日志文件或备用重做日志文件的名字定义了一个目录规范和格式模版。可以在主或备用初始化参数文件中指定这些属性,但是该属性只适用于正在归档的数据库角色
VALID_FOR
VALID_FOR根据以下的因素来标识Log Transport Service什么时候可以向目的地传送重做数据:(1)数据库当前运行在主角色还是备用角色下,(2)当前是否正在该目的地的数据库上归档联机重做日志文件、备用重做日志文件或者这两类文件。该属性的默认值是VALID_FOR= (ALL_LOGFILES, ALL_ROLES)。其他的取值包括PRIMARY_ROLE、STANDBY_ROLE、ONLINE_LOGFILES和STANDBY_LOGFILE
VERIFY和NOVERIFY
VERIFY指示archiver进程应该检验完成的归档重做日志文件内容的正确性。默认值是NOVERIFY

mysql中group by操作

在我的思想中,group by函数应该的使用应该是SELECT 列表中指定的每一列也必须出现在 GROUP BY 子句中,除非这列是用于聚合函数,但是今天帮同事调试一个mysql中的group by函数,让我大跌眼镜,当时感觉不可思议,然后回来做了个简化版试验,试验过程如下:
mysql表结构
mysql> desc t;
+——-+————–+——+—–+———+——-+
| Field | Type | Null | Key | Default | Extra |
+——-+————–+——+—–+———+——-+
| id | int(11) | YES | | 0 | |
| name | varchar(100) | YES | | NULL | |
| aa | varchar(45) | YES | | NULL | |
+——-+————–+——+—–+———+——-+
3 rows in set (0.01 sec)
插入数据
mysql> select * from t;
+——+——+——-+
| id | name | aa |
+——+——+——-+
| 1 | aaaa | bbbb |
| 1 | 1111 | 2222 |
| 1 | 2222 | 33333 |
| 1 | 2222 | 44444 |
| 2 | 2222 | 44444 |
| 2 | 2222 | 1111 |
| 3 | 2222 | 1111 |
| 1 | 2222 | 44444 |
| 1 | 2222 | 44444 |
| 1 | 2222 | 44444 |
| 3 | 2222 | aaaa |
+——+——+——-+
11 rows in set (0.00 sec)
group by 查询语句
mysql> select id,count(1) ,aa from t group by id;
+——+———-+——-+
| id | count(1) | aa |
+——+———-+——-+
| 1 | 7 | bbbb |
| 2 | 2 | 44444 |
| 3 | 2 | 1111 |
+——+———-+——-+
3 rows in set (0.00 sec)
在本试验中,一共select id,count(1),aa,结果group by按照规则,除了聚合函数(count(1))外,其他两列(id,aa)都应该包含在group by中,可是试验只是包含了id。
对试验结果的说明
1、包含在group by后面的id列的count(1)统计数据为正确的
2、按照正常思维,aa的数据不能展示出来,可是mysql选择了展示表中aa数据的第一条
3、上述2也是个人猜测,暂时未查到官方相关说明