1、Oracle 数据库常用操作手册ORACLE 数据库常用操作手册第一章 SHELL篇1. RAC维护命令1.1. RAC启动与停止启动单一节点数据库srvctl start nodeapps -n srvctl start asm -n srvctl start instance -d -i emctl start dbconsole停止单一节点数据库emctl stop dbconsolesrvctl stop instance -d -i srvctl stop asm -n srvctl stop nodeapps -n 开启关闭监听lsnrctl stoplsnrctl start或s
2、rvctl stop listener -n srvctl start listener -n 停止启动服务srvctl stop service -d gzedusrvctl start service -d gzedu停止启动全局数据库srvctl stop database -d basesrvctl start database -d base关闭整个群集数据库root权限crs_stop -all 或crsctl stop crs启动整个群集数据库root权限crs_start all或crsctl start crs停止群集守护进程/etc/init.d/init.crs stop
3、在Oracle环境中,当RAC不同节点间的时间差超过30秒时,会导致oracle数据库反复重启或者状态异常.重新启动整个数据库群集Usage: crs_stop resource_name . -f -q attrib=value . crs_stop -c cluster_member . -q attrib=value . crs_stop -all -qcrs_stop -all crs_start -allcrs_stop ora.oradb3.gsd1.2. RAC配置修改修改VIP地址oifcfg getif -globaloifcfg setif -global eth0/192
4、.168.1.0:publicoifcfg iflist/etc/init.d/init.crs stopsrvctl modify nodeapps -n rac1 -A 192.168.1.191/255.255.255.0/eth01.3. RAC数据库检查查看群集数据库状态srvctl status database -d crs_stat -t检查单一节点状态srvctl status nodeapps -n 所有实例和服务的状态srvctl status database -d racdb单个实例的状态srvctl status instance -d racdb -i racdb
5、2在数据库全局命名服务的状态srvctl status service -d racdb -s racdb_taf特定节点上节点应用程序的状态srvctl status nodeapps -n linux1ASM 实例的状态srvctl status asm -n linux1列出配置的所有数据库srvctl config database显示 RAC 数据库的配置srvctl config database -d racdb显示指定集群数据库的所有服务srvctl config service -d racdb显示节点应用程序的配置 (VIP、GSD、ONS、监听器)srvctl confi
6、g nodeapps -n linux1 -a -g -s -l显示 ASM 实例的配置srvctl config asm -n linux1查询vote的路径磁盘信息crsctl query css votedisk查看节点状态srvctl status nodeapps -n oradb3srvctl status instance -d gzedu -i gzedu1检查crs健康情况crsctl check crscrsctl start resourcesgsdctl stopgsdctl status2. 数据库维护命令2.1. 数据库的启动与停止正常启动单机数据库su - ora
7、clelsnrctl startsqlplus /nologconnect /as sysdbastartupsqlplus /nolog connect /as sysdba startup nomount alter database mount alter database open startup的几个选项 nomount只启动实例,不安装和打开数据库 mount启动实例、安装数据库但不打开数据库,此参数用于修改数据库的运行模式或进行数据库恢复,如更改数据库的为归档模式:alter database archivelog; alter database open; archive lo
8、g listread only只读属性 read write读写属性 open打开数据库 restrict表示数据库以受限制方式打开 pfile选项,用于参数文件破坏,或者另外指定参数文件,如:startup pfile=/u01/user/proddb.ora force以强制方式启动数据库,可以用于重新启动数据库 以上参数可以联合使用启动管理控制台$emctl start dbconsole启动iSQLPLUS$isqlplusctl start停止单机数据库sqlplus /nologconnect /as sysdbashutdown immediateshutdown有四个参数 no
9、rmal 需要等待所有的用户断开连接immediate 等待用户完成当前的语句 transactional 等待用户完成当前的事务 abort 不做任何等待,直接关闭数据3. 数据的导入与导出3.1. 数据导入imp fromuser=tutor1 touser=tutor1 file=gzdec-tutor1-060221.dmp;imp open_teacher/teacher987 file=db4_TJXJY_070723.dmp fromuser=tjxjy touser=open_teacher tables=(bbs,rbbs)imp open_netcsou/netcsou98
10、7 file=db4_netcsou_070713.dmp fromuser=netcsou touser=open_netcsou grants=n3.2. 数据泵导入impdp directory=backup_dir dumpfile=base-base_msgz-091111.dmp schemas=base_msgz include=TABLE:in(RAC_USER_ROLE) logfile=base_msgz_export.logimpdp tt_gd_lms/888888 directory=expdp_dir dumpfile=gzedu-gd_lms-090810.dmp
11、 schemas=gd_lms remap_schema=gd_lms:tt_gd_lms remap_tablespace=gd_lms:tt_gd_lmsimpdp directory=backup_dir dumpfile=base-base_msgz-091111.dmp schemas=base_msgz parallel=4 table_exists_action=replace tables=RAC_USER_ROLE impdp directory=backup_dir dumpfile=base-base_msgz-091111.dmp schemas=base_msgz i
12、nclude=TABLE:in(RAC_USER_ROLE) logfile=base_msgz_export.logimpdp fvdb/fvdb directory=admin_dir dumpfile=FVDB.DMP schemas=fvdb remap_tablespace=fvdb:ts_fvdb logfile=fvdb_export.log3.3. 数据导出备份整个数据库exp system/manager inctype=complete file=gzdec-tutorl-070428.dmp增量型”增量导出exp system/manager inctype=increm
13、ental file=gzdec-tutorl-070428.dmp累计型”增量导出exp system/manager inctype=cumulative file=gzdec-tutorl-070428.dmp 导出一个完整数据库exp system/manager file=bible_db log=dible_db full=y导出数据库定义而不导出数据exp system/manager file=bible_db log=dible_db full=y rows=n导出一个或一组指定用户所属的全部表、索引和其他对象exp system/manager file=seapark l
14、og=seapark owner=seaparkexp system/manager file=seapark log=seapark owner=(seapark,amy,amyc,harold)exp system/fitness1388 file=gzedu_open-bayi_new.dmp owner=open_bayi3.4. 数据泵导出在命令行中使用要注意使用转意字符因为 ( )会被认为特殊字符expdp directory=test dumpfile=sfca09.dump logfile= sfca09.log schemas=sfcdata include=table:li
15、ke SFCA%expdp directory=erp schemas=wfl content=data_only exclude=table:IN(WFS_TB_FCSMAIL,WFS_TB_WFMAS,WFS_TB_WFDTL) dumpfile=wfl16.dump logfile=wfl16.loginclude/exclude 例子:include=table:”in(DB,TS)”或者include=table:”like %E%”或者include=function,package,procedure,table:”=EMP”或者exclude=SEQUENCE,TABLE:”I
16、N (EMP,DEPT)”expdp schemas=base_digischool directory=backup_dir dumpfile=base-base_digischool-20091118.dmp parallel=4 logfile=base_digischool_export.log4. Linux下常命令查杀所有oracle进程ps -ef|grep ora_|grep -v grep|awk print $2 |xargs kill -9显示Oracle 的Unix 进程 ps -ef|grep ora_|grep -v grep 查看消耗CPU 时间最长的进程: ps
17、 -ef|grep oracle|sort +6|tail按照此列排序来获得当前高CPU 占用的用户。例如: ps auxgw|sort +2|tail 显示Oracle 的活动连接用户数量 ps -ef|grep $ORACLE_SID|grep -v grep|grep -v ora_|wc -l 5. AIX下常用命令显示aix 中的服务器设备信息 在AIX 中也可以使用lsdev 命令来查看硬件设备信息。 lsdev -C 在AIX 下查看系统核心参数 我们需要使用lsattr 命令。例如: lsattr -El sys0 aix 下显示内存大小: /usr/sbin/lsattr -
18、E -l sys0 -a realmem 使用Aix 的svmon 工具 IBM AIX 提供一个叫做 svmon 的工具。这个工具显示服务器上的所有内存的使用情 况,包括页交换和内存使用。例如: svmonsvmon -P pid显示文件被进程谁占用fuser -u /dev/lv_index2_2gAIX下查看逻辑卷的大小dbfsize /dev/rlv_gzdec01_2gLinux 下看内核限制参数ulimit -aAIX内存优化参数和命令集查看内存参数vmo -a |grep strict_maxclient strict_maxclient = 1vmo -a |grep lru_
19、file_repage lru_file_repage = 1vmo -a |grep minperm% minperm% = 10vmo -a |grep maxclient% maxclient% = 20vmo -a |grep maxperm% maxperm% = 20vmo -a |grep minfree minfree = 960vmo -a |grep maxfree maxfree = 1088vmo -a |grep strict_maxclientvmo -a |grep lru_file_repagevmo -a |grep minperm%vmo -a |grep
20、maxclient%vmo -a |grep maxperm%vmo -a |grep minfreevmo -a |grep maxfreevmo -a |grep strict_maxpermoradb1上设置的优化值vmo -p -o v_pinshm=1vmo -p -o maxpin%=75oradb2上设置的优化值vmo -p -o v_pinshm=1vmo -p -o maxpin%=75vmo -p -o minperm%=3vmo -p -o maxclient%=8vmo -p -o maxperm%=8vmo -p -o minperm%=5vmo -p -o maxp
21、erm%=90vmo -p -o maxclient%=90vmo -p -o minperm%=10 -o maxperm%=20 -o maxclient%=20 -o strict_maxperm=1 -o strict_maxclient=1应用的需求,因此需要进行一些调整。AIX操作系统中,一般将内存的使用分成两个部分,一个部分用于应用程序运行使用,称为计算内存(Computational),另一部分用于文件缓存,称为文件缓存(Non-Comp),AIX操作系统通过 minperm%,maxperm%, maxclient%, strict_maxclient, lru_file_r
22、epage,minfree, maxfree, 等参数控制系统的内存使用.在SAP应用环境下建议将以上参数设置为: vmo -p -o strict_maxclient=0 vmo -p -o lru_file_repage=0 vmo -p -o minperm%=3 vmo -p -o maxclient%=8 vmo -p -o maxperm%=8 vmo -p -o minfree=CPU数量*120 vmo -p -o maxfree=CPU数量*128如果CPU数量是12,则minfree=1440, maxfree=1536 使用AIX 并行I/O (Concurrent I/
23、O) 来提高数据库的性能numperm 和numclient是一个比较好的系统信息,表示的是当前内存中基于文件的page占的百分比. 从中可以判断当前可能的page replacement的机制. 如果numperm和numclient在minperm和maxperm/maxclient之间, 参考lru_file_repage, 如果lru_file_repage=0, 将先replace文件类型的page, 如果lru_file_repage=1, 系统会平衡计算型和文件型page的repage情况来决定监控AIX内存使用情况列出内存占用率排名前15名的进程和相关信息svmon -Pt15
24、 | perl -e while()print if($.=2|$&!$s+);$.=0 if(/-+$/)显示内存使用信息10行vmstat 1 10avm Active virtual pagesavm定义为the number of virtual-memory working segment pages that have actually been touched. 此值可能会比实际物理内存的frame要大,因为一些active virtual memory可能会被写入到paging space中. 表示的是当前进程使用的stack,变量,共享内存段等类型的内存,但是不包括进程可能打
25、开的文件所占用的内存.fre Size of the free list fre物理内存实际剩余的page数目pi Pages paged in from paging spacepo Pages paged out to paging space 正常情况下pi和po不应该持续为非0值;fr Pages freed (page replacement).sr Pages scanned by page-replacement algorithm 正常情况下fr和sr基本一致;r Average number of runnable kernel threads over the sampli
26、ng interval. Runnable refers to threads that are ready but waiting to run and to those threads already running. 正常情况下一般r5b Average number of kernel threads placed in the VMM wait queue (awaiting resource, awaiting input/output) over the sampling interval.wa CPU idle time during which the system had
27、outstanding disk/NFS I/O request(s). See detailed description above. b和wa正常的情况下都不大,高的wa(I/O wait)和高的b(在队列中等待的线程数目)有可能是paging in和out导致的.工程经验avm可以作为长期监控系统内存使用率的趋势分析,如果你有监控软件, 长时间监控avm可以给你很好的内存使用的趋势. 虽然它不代表实际系统用了多少内存,但是作为趋势判断还是非常有效的. 判断内存是否缺少内存的一个工程依据: fre少于minfree并且有持续的page in和page out出现. 其它的值:fr,sr,r
28、,b,wa可以作为一些参考的值.vmstat -s作为page ins, page outs, paging space page ins和paging space page outs,应该不会有大量的增长vmstat -vnumperm 和numclient是一个比较好的系统信息,表示的是当前内存中基于文件的page占的百分比. 从中可以判断当前可能的page replacement的机制. 如果numperm和numclient在minperm和maxperm/maxclient之间,参考lru_file_repage, 如果lru_file_repage=0, 将先replace文件类型
29、的page, 如果lru_file_repage=1, 系统会平衡计算型和文件型page的repage情况来决定svmon -GIn use work表示的是正在使用的work类型的内存; in use pers表示的是正在使用的persistent类型的内存(JFS类型); in use clnt表示的正在使用的client类型的内存(包括remote文件系统和Enhanced JFS类型)查看用户连接的负载均衡状态select instance_name,host_name,NULL AS failover_type,NULL AS failover_method,NULL AS fail
30、ed_over FROM v$instance UNION SELECT NULL,NULL,failover_type,failover_method,failed_over FROM v$session WHERE username=BASE_TUTOR;select instance_name,host_name,NULL AS failover_type,NULL AS failover_method,NULL AS failed_over FROM v$instance UNION SELECT NULL,NULL,failover_type,failover_method,failed_over FROM v$session WHERE username=SYSTEM;AIX 下mount NSF文件nfso -o nfs_use_reserved_ports=1AIX下使用nmon 每10分抓一次资源使用情况./nmon_aix53 -f -s 600 -c 10000第二章 SQL语句篇
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1