oracle11g日常维护常用命令
IBMPower740小型机+11G数据库维护教程
露露Power740小型机+11G数据库维护教程硬件环境:1、Power740小型机+AIX6.1操作系统2、数据库版本:oracle 11.2.0.43、数据库安装模式:Oracle11R2+ASM+RAC(集群负载)一、开机步骤1、打开Power740小型机1和2开关机开关两台服务器都要开机,在确定小型机电源处于关闭情况下开机,如果小型机处于开机状态跳过此步骤。
2、开启集群和数据库小机开机后集群和数据库自动启动,一般不需要手工启动。
Ping 192.168.0.31\32\33\34\35 -t ping通后查询数据库状态。
通过实际IP登录小机1登录方式1:windows开始菜单-运行 telnet 192.168.0.31登录方式2:远程连接小机工具登录方式3:直接在小机操作用户名:root 密码:root#su – grid 切换到grid网格用户$crs_stat –t 查询集群状态ORACLE正常工作状态:3个gsd进程是OFFLINE 其他进程都是ONLINE。
此时完成开机和数据库启动操作,应用程序可以正常使用。
如果等待30分钟还没有正常启动,启动出现异常,可执行以下操作:#su – grid$srvctl start nodeapps -n dbserver1$srvctl start nodeapps -n dbserver2$srvctl start asm -n dbserver2$srvctl start asm -n dbserver1$srvctl start database -d lolo单独启动监听srvctl start listener -n dbserver1srvctl start listener -n dbserver23、启动客户管理系统接口远程桌面192.168.1.24->露露运营绩效管理系统->业务查询->WEB定时任务->【启动任务】4、启动EM说明:EM为ORACLE数据库WEB管理,可以不启动,不启动不影响应用程序使用。
oracle常用维护命令和技巧
常用维护命令与技巧目录操作系统命令 (3)通用操作系统命令 (3)LINUX (3)AIX (4)HPUX (6)Solaris (10)Oracle组件选项命令 (12)CRS (12)ASM (13)配置使用logminer (13)Oracle常用SQL语句 (16)SGA (16)UNDO管理 (16)dba_segments 和 dba_extents (17)查找LOB字段的信息 (18)Index (18)expdp impdp (18)怎么发现transaction table 竞争 (18)查找非缺省的参数(Non default parameter) (18)Determining Which Segments Have Many Buffers in the Pool (18)查询所有的PGA的大小 (19)CURSOR (19)compact Table space (19)Session (20)tablespace (20)ADDM (20)等待事件(wait event) (21)查询当前正在运行的SQL语句(current sql_text) (21)session sid and process sid (22)设置初始化参数 (22)操作系统命令通用操作系统命令DUMP磁盘的头部信息dd if=/dev/rhdisk28 bs=8192|od –c怎么使用truss或则trace查看运行脚本的输出:sh –x < program >debug我们要执行的程序或者命令:truss -o /tmp/mytruss <program> <any arguments>或者trace -o /tmp/mytruss <program> <any arguments> debug 子进程:truss -o /tmp/mytruss -fae <program> <any arguments> debug 一个已经运行了的进程:truss -o /tmp/mytruss -p <pid of process>或者trace -o /tmp/mytruss -p <pid of process>debug 一个已经运行了的进程的子进程truss -o /tmp/mytruss -fae -p <pid of process> LINUX检查机器内存的大小:# grep MemTotal /proc/meminfo检查机器SWAP的大小# grep SwapTotal /proc/meminfo检查可用的内存和SWAP大小# free检查可用的共享内存大小# df -k /dev/shm/检查系统的结构uname –m确定linux属于哪个厂商的那个版本# cat /proc/version确定Linux的核心# uname –r查询安装了的包# rpm -q <package_name>检查网络的流量/usr/bin/sar –n DEVAIX检查机器内存的大小:# /usr/sbin/lsattr -E -l sys0 -a realmem#svmon –G --检查内存使用情况#svmon -P -t 10 //查看最耗内存的10个进程,里面会有每个进程的详细信息。
oracle11g常用命令.
第一章:日志管理1. forcing log switchessql> alter system switch logfile;2. forcing checkpointssql> alter system checkpoint;3. adding online redo log groupssql> alter database add logfile [group 4]sql> ('/disk3/log4a.rdo','/disk4/log4b.rdo' size 1m;4. adding online redo log memberssql> alter database add logfile membersql> '/disk3/log1b.rdo' to group 1,sql> '/disk4/log2b.rdo' to group 2;5. changes the name of the online redo logfilesql> alter database rename file 'c:/oracle/oradata/oradb/redo01.log' sql> to 'c:/oracle/oradata/redo01.log';6. drop online redo log groupssql> alter database drop logfile group 3;7. drop online redo log memberssql> alter database drop logfile member 'c:/oracle/oradata/redo01.log'; 8.clearing online redo log filessql> alter database clear [unarchived] logfile 'c:/oracle/log2a.rdo'; ing logminer analyzing redo logfilesa. in the init.ora specify utl_file_dir = ' 'b. sql> execute dbms_logmnr_d.build('oradb.ora','c:\oracle\oradb\log';c. sql> execute dbms_logmnr_add_logfile('c:\oracle\oradata\oradb\redo01.log', sql>dbms_logmnr.new;d. sql> execute dbms_logmnr.add_logfile('c:\oracle\oradata\oradb\redo02.log', sql>dbms_logmnr.addfile;e. sql> executedbms_logmnr.start_logmnr(dictfilename=>'c:\oracle\oradb\log\oradb.ora ';f. sql> select * from v$logmnr_contents(v$logmnr_dictionary,v$logmnr_parameterssql> v$logmnr_logs;g. sql> execute dbms_logmnr.end_logmnr;第二章:表空间管理1. create tablespacessql> create tablespace tablespace_name datafile'c:\oracle\oradata\file1.dbf' size 100m,sql> 'c:\oracle\oradata\file2.dbf' size 100m minimum extent 550k [logging/nologging] sql> default storage (initial 500k next 500k maxextents 500 pctinccease 0sql> [online/offline] [permanent/temporary] [extent_management_clause] 2.locally managed tablespacesql> create tablespace user_data datafile'c:\oracle\oradata\user_data01.dbf'sql> size 500m extent management local uniform size 10m;3. temporary tablespacesql> create temporary tablespace temp tempfile'c:\oracle\oradata\temp01.dbf'sql> size 500m extent management local uniform size 10m;4. change the storage settingsql> alter tablespace app_data minimum extent 2m;sql> alter tablespace app_data default storage(initial 2m next 2m maxextents 999;5. taking tablespace offline or onlinesql> alter tablespace app_data offline;sql> alter tablespace app_data online;6. read_only tablespacesql> alter tablespace app_data read only|write;7. droping tablespacesql> drop tablespace app_data including contents;8. enableing automatic extension of data filessql> alter tablespace app_data add datafile 'c:\oracle\oradata\app_data01.dbf'size 200msql> autoextend on next 10m maxsize 500m;9. change the size fo data files manuallysql> alter database datafile 'c:\oracle\oradata\app_data.dbf'resize 200m;10. Moving data files: alter tablespacesql> alter tablespace app_data rename datafile 'c:\oracle\oradata\app_data.dbf'sql> to 'c:\oracle\app_data.dbf';11. moving data files:alter databasesql> alter database rename file 'c:\oracle\oradata\app_data.dbf' sql> to'c:\oracle\app_data.dbf';第三章:表1. create a tablesql> create table table_name (column datatype,column datatype] ... sql> tablespace tablespace_name [pctfree integer] [pctused integer] sql> [initrans integer] [maxtrans integer]sql> storage(initial 200k next 200k pctincrease 0 maxextents 50 sql>[logging|nologging] [cache|nocache]2. copy an existing tablesql> create table table_name [logging|nologging] as subquery3. create temporary tablesql> create global temporary table xay_temp as select * from xay; on commit preserve rows/on commit delete rows4. pctfree = (average row size - initial row size *100 /average row size pctused = 100-pctfree- (average row size*100/available data space5.change storage and block utilization parametersql> alter table table_name pctfree=30 pctused=50 storage(next 500k sql> minextents 2 maxextents 100;6.manually allocating extentssql> alter table table_name allocate extent(size 500k datafile'c:/oracle/data.dbf';7.move tablespacesql> alter table employee move tablespace users;8. deallocate of unused spacesql> alter table table_name deallocate unused [keep integer]9. truncate a tablesql> truncate table table_name;10. drop a tablesql> drop table table_name [cascade constraints];11. drop a columnsql> alter table table_name drop column comments cascade constraints checkpoint 1000;alter table table_name drop columns continue;12. mark a column as unusedsql> alter table table_name set unused column comments cascade constraints;alter table table_name drop unused columns checkpoint 1000; alter table orders drop columns continue checkpoint 1000data_dictionary : dba_unused_col_tabs第四章:索引1. creating function-based indexessql> create index summit.item_quantity on summit.item(quantity-quantity_shipped; 2. create a B-tree indexsql> create [unique] index index_name on table_name(column,.. asc/desc tablespace sql> tablespace_name [pctfree integer] [initrans integer] [maxtrans integer]sql> [logging | nologging] [nosort] storage(initial 200k next 200k pctincrease 0 sql> maxextents 50;3. pctfree(index=(maximum number of rows-initial number of rows*100/maximum number of rows4. creating reverse key indexessql> create unique index xay_id on xay(a reverse pctfree 30 storage(initial 200k sql> next 200k pctincrease 0 maxextents 50 tablespace indx;5. create bitmap indexsql> create bitmap index xay_id on xay(a pctfree 30 storage( initial 200k next 200k sql> pctincrease 0 maxextents 50 tablespace indx;6. change storage parameter of indexsql> alter index xay_id storage (next 400k maxextents 100;7. allocating index spacesql> alter index xay_id allocate extent(size 200k datafile'c:/oracle/index.dbf';8. alter index xay_id deallocate unused;第五章:约束1. define constraints as immediate or deferredsql> alter session set constraint[s] = immediate/deferred/default; set constraint[s] constraint_name/all immediate/deferred;2. sql> drop table table_name cascade constraintssql> drop tablespace tablespace_name including contents cascade constraints3. define constraints while create a tablesql> create table xay(id number(7 constraint xay_id primary key deferrablesql> using index storage(initial 100k next 100k tablespace indx; primarykey/unique/references table(column/check4. enable constraintssql> alter table xay enable novalidate constraint xay_id;5. enable constraintssql> alter table xay enable validate constraint xay_id;第六章:LOAD 数据1.loading data using direct_load insertsql> insert /*+append */ into emp nologgingsql> select * from emp_old;2. parallel direct-load insertsql> alter session enable parallel dml;sql> insert /*+parallel(emp,2 */ into emp nologgingsql> select * from emp_old;3. using sql*loadersql> sqlldr scott/tiger \sql> control = ulcase6.ctl \sql> log = ulcase6.log direct=true第七章:reorganizing data1. using expoty$exp scott/tiger tables(dept,emp file=c:\emp.dmp log=exp.log compress=n direct=y2. using import$imp scott/tiger tables(dept,emp file=emp.dmp log=imp.log ignore=y 3.transporting a tablespacesql>alter tablespace sales_ts read only;$exp sys/.. file=xay.dmp transport_tablespace=y tablespace=sales_ts triggers=n constraints=n$copy datafile$imp sys/.. file=xay.dmp transport_tablespace=ydatafiles=(/disk1/sles01.dbf,/disk2/sles02.dbfsql> alter tablespace sales_ts read write;4. checking transport setsql> DBMS_tts.transport_set_check(ts_list=>'sales_ts' ..,incl_constraints=>true;在表tran sport_set_violati ons 中查看sql> dbms_tts.isselfco ntai ned为true 是,表示自包含第八章: managing password security and resources1. controlling account lock and passwordsql> alter user juncky identified by oracle account unlock;2. user_provided password functionsql> function_name(userid in varchar2(30,password in varchar2(30, old_password in varchar2(30 return boolean3. create a profile : password settingsql> create profile grace_5 limit failed_login_attempts 3sql> password_lock_time unlimited password_life_time 30sql>password_reuse_time 30 password_verify_function verify_function sql> password_grace_time 5;4. altering a profilesql> alter profile default failed_login_attempts 3sql> password_life_time 60 password_grace_time 10;5. drop a profilesql> drop profile grace_5 [cascade];6. create a profile : resource limitsql> create profile developer_prof limit sessions_per_user 2sql> cpu_per_session 10000 idle_time 60 connect_time 480;7. view => resource_cost : alter resource costdba_Users,dba_profiles8. enable resource limitssql> alter system set resource_limit=true;第九章:Managing users1. create a user: database authenticationsql> create user juncky identified by oracle default tablespace users sql> temporary tablespace temp quota 10m on data password expire sql> [account lock|unlock] [profile profilename|default];2. change user quota on tablespacesql> alter user juncky quota 0 on users;3. drop a usersql> drop user juncky [cascade];4. monitor userview: dba_users , dba_ts_quotas第十章:managing privileges1. system privileges: view =>system_privilege_map ,dba_sys_privs,session_privs2. grant system privilegesql> grant create session,create table to managers;sql> grant create session to scott with admin option;with admin option can grant or revoke privilege from any user or role; 3.sysdba and sysoper privileges:sysoper: startup,shutdown,alter database open|mount,alter database backup controlfile,alter tablespace begin/end backup,recover databasealter database archivelog,restricted sessionsysdba: sysoper privileges with admin option,create database,recover database until4.password file members: view:=> v$pwfile_users5.O7_dictionary_accessibility =true restriction access to view or tables in other schema6. revoke system privilegesql> revoke create table from karen;sql> revoke create session from scott;7. grant object privilegesql> grant execute on dbms_pipe to public;sql> grant update(first_name,salary on employee to karen with grant option;8. display object privilege : view => dba_tab_privs, dba_col_privs9. revoke object privilegesql> revoke execute on dbms_pipe from scott [cascade constraints]; 10.audit record view :=> sys.aud$11. protecting the audit trailsql> audit delete on sys.aud$ by access;12. statement auditingsql> audit user;13. privilege auditingsql> audit select any table by summit by access;14. schema object auditingsql> audit lock on summit.employee by access whenever successful;15. view audit option : view=>all_def_audit_opts,dba_stmt_audit_opts,dba_priv_audit_opts, dba_obj_audit_opts16. view audit result: view=> dba_audit_trail,dba_audit_exists,dba_audit_object,dba_audit_session,dba_audit_statement 第十一章: manager role1.create rolessql> create role sales_clerk;sql> create role hr_clerk identified by bonus;sql> create role hr_manager identified externally; 2.modify rolesql> alter role sales_clerk identified by commission; sql> alter role hr_clerk identified externally;sql> alter role hr_manager not identified;3. assigning rolessql> grant sales_clerk to scott;sql> grant hr_clerk to hr_manager;sql> grant hr_manager to scott with admin option; 4.establish default rolesql> alter user scott default role hr_clerk,sales_clerk; sql> alter user scott default role all;sql> alter user scott default role all except hr_clerk; sql> alter user scott default role none;5. enable and disable rolessql> set role hr_clerk;sql> set role sales_clerk identified by commission; sql> set role all except sales_clerk;sql> set role none;6. remove role from usersql> revoke sales_clerk from scott;sql> revoke hr_manager from public;7. remove rolesql> drop role hr_manager;8. display role informationview: =>dba_roles,dba_role_privs,role_role_privs,dba_sys_privs,role_sys_privs,role_tab_privs,session_roles第十二章: BACKUP and RECOVERY1.v$sga,v$instance,v$process,v$bgprocess,v$database,v$datafile,v$sgasta t2. Rman need set dbwr_IO_slaves or backup_tape_IO_slaves andlarge_pool_size3. Monitoring Parallel Rollback> v$fast_start_servers , v$fast_start_transactions4. perform a closed database backup (noarchivelog> shutdown immediate> cp files /backup/> startup5. restore to a different location> connect system/manager as sysdba> startup mount> alter database rename file '/disk1/../user.dbf'to '/disk2/../user.dbf';> alter database open;6. recover syntax--recover a mounted database>recover database;>recover datafile '/disk1/data/df2.dbf';>alter database recover database;--recover an opened database>recover tablespace user_data;>recover datafile 2;>alter database recover datafile 2;7. how to apply redo log files automatically>set autorecovery on>recover automatic datafile 4;8. complete recovery:--method 1(mounted databae>copy c:\backup\user.dbf c:\oradata\user.dbf>startup mount>recover datafile 'c:\oradata\user.dbf;>alter database open;--method 2(opened database,initially opened,not system or rollback datafile>copy c:\backup\user.dbf c:\oradata\user.dbf (alter tablespace offline >recover datafile 'c:\oradata\user.dbf' or>recover tablespace user_data;>alter database datafile 'c:\oradata\user.dbf' online or>alter tablespace user_data online;--method 3(opened database,initially closed not system or rollback datafile>startup mount>alter database datafile 'c:\oradata\user.dbf' offline;>alter database open>copy c:\backup\user.dbf d:\oradata\user.dbf>alter database rename file 'c:\oradata\user.dbf'to'd:\oradata\user.dbf'>recover datafile 'e:\oradata\user.dbf' or recover tablespace user_data; >alter tablespace user_data online;--method 4(loss of data file with no backup and have all archive log >alter tablespace user_data offline immediate;>alter database create datafile 'd:\oradata\user.dbf'as'c:\oradata\user.dbf''>recover tablespace user_data;>alter tablespace user_data online9. perform an open database backup> alter tablespace user_data begin backup;> copy files /backup/> alter database datafile '/c:/../data.dbf' end backup;> alter system switch logfile;10. backup a control file> alter database backup controlfile to 'control1.bkp';> alter database backup controlfile to trace;11. recovery (noarchivelog mode> shutdown abort> cp files> startup 12.recovery of file in backup mode >alter database datafile 2 end backup; 13.clearing redo log file >alter database clear unarchived logfile group 1; >alter database clear unarchived logfile group 1 unrecoverable datafile; 14.redo log recovery >alter database add logfile group 3 'c:\oradata\redo03.log'size 1000k; >alter database drop logfile group 1; >alter database open; or >cp c:\oradata\redo02.log' c:\oradata\redo01.log >alter database clear logfile 'c:\oradata\log01.log'; 16。
oracle rac11g 基本操作
oracle rac11g 基本操作摘要:1.Oracle RAC 11g 简介2.安装和配置Oracle RAC 11g3.Oracle RAC 11g 基本操作4.管理和监控Oracle RAC 11g5.优化Oracle RAC 11g 性能6.故障排除与维护正文:一、Oracle RAC 11g 简介Oracle RAC 11g(Real Application Clusters 11g)是Oracle 数据库的一个版本,它采用了分布式架构,可以将多个服务器连接在一起,形成一个共享存储的集群。
这种架构大大提高了数据库的性能、可伸缩性和容错能力。
本文将重点介绍Oracle RAC 11g 的一些基本操作。
二、安装和配置Oracle RAC 11g1.准备工作:确保服务器硬件和软件满足Oracle RAC 11g 的最低要求。
2.下载并安装Oracle 11g 软件:从Oracle 官方网站下载相应版本的软件,并根据提示进行安装。
3.配置Oracle RAC 环境:设置Grid Infrastructure 和Oracle Home,创建数据库实例。
4.配置网络和存储:设置存储网络,配置ASM(Automatic StorageManagement)和VIP(Virtual Interface Pool)。
三、Oracle RAC 11g 基本操作1.启动和关闭数据库:使用Oracle 命令启动和关闭数据库实例。
2.创建和管理表空间:使用SQL 语句创建表空间,配置存储参数。
3.创建和管理用户:使用SQL 语句创建用户,设置权限和角色。
4.备份与恢复:使用RMAN(Recovery Manager)进行数据库备份和恢复。
四、管理和监控Oracle RAC 11g1.使用Grid Control:Oracle 提供的一个集中式管理工具,用于监控和控制RAC 环境。
2.使用OEM(Oracle Enterprise Manager):一个集成化的管理平台,用于监控数据库性能、配置参数等。
Oracle-11g日常维护手册
Oracle 11g 日常维护手册目录第1章文档说明 (4)第2章 CRS的管理 (4)2.1 RAC状态检查 (4)2.1.1 检查守护进程状态 (4)2.1.2 检查资源状态 (4)2.2 手工启动与关闭RAC (5)2.3 OCR的管理 (5)2.4 VOTING DISK的管理 (7)2.5 CSS管理 (8)2.6 管理工具SRVCTL (8)2.6.1 管理实例 (8)2.6.2 管理监听程序 (9)2.6.3 管理ASM (9)2.6.4 管理service (10)2.7 修改RAC的IP及VIP (10)2.7.1 修改外网IP及心跳IP (10)2.7.2 修改VIP (11)2.7.3 查看与删除IP (11)第3章 ASM的管理 (12)3.1 管理DG (12)3.1.1 建立与扩充disk group (12)3.1.2 mount与unmount的命令 (13)3.1.3 删除disk group (13)3.1.4 增加DISK的total_mb (13)3.1.5 DG的属性-AU大小 (13)3.1.6 DG的属性-离线删除时间 (14)3.1.7 DG的属性-兼容版本 (14)3.1.8 向ASM中添加disk的完整步骤 (15)3.2 ASMCMD (16)3.2.1 ASMCMD常用命令 (16)3.2.2 复制ASM文件 (17)3.2.3 命令lsdg (17)3.2.4 元数据备份与恢复 (18)3.3 ASM磁盘头信息备份与恢复 (18)3.4 ASM常用视图 (19)3.4.1 视图V$ASM_DISKGROUP (19)3.4.2 视图V$ASM_DISK (20)3.5 常用方法 (21)3.5.1 如何确定ASM实例的编号 (21)3.5.2 查询DG-RAW-磁盘的对应关系 (21)第4章数据库管理 (23)4.1 参数文件管理 (23)4.2 表空间管理 (24)4.2.1 表空间自动扩张 (25)4.2.2 表空间更名 (25)4.2.3 表空间的数据文件更名 (25)4.2.4 缺省表空间 (25)4.2.5 表空间删除 (26)4.2.6 UNDO表空间 (26)4.2.7 TEMP表空间 (26)4.3 重做日志文件管理 (27)4.3.1 增加REDO日志组 (27)4.3.2 删除日志组 (27)4.3.3 日志切换 (27)4.3.4 日志清理 (27)4.3.5 重做日志切换次数查询 (28)4.4 归档模式 (28)4.4.1 单实例数据库修改为归档模式的方法 (28)4.4.2 RAC数据库修改为归档模式的方法 (29)4.4.3 归档路径 (29)4.5 重建控制文件 (30)4.6 内存参数管理 (31)4.6.1 Oracle内存管理发展阶段 (31)4.6.2 自动内存管理AMM (32)4.6.3 自动共享内存管理ASMM (32)4.6.4 自动PGA管理 (32)4.7 其他管理内容 (33)4.7.1 数据库版本查看 (33)4.7.2 字符集 (33)4.7.3 创建密码文件 (33)4.7.4 关闭审计功能 (34)4.7.5 帐号管理 (34)4.7.6 profile管理 (34)第1章文档说明本文档描述了Oracle11g中常见的维护和管理方法,包括CRS、ASM、数据库等。
oracle日常维护命令
该命令显示了 ASM 例程为所有客户机数据库管理的所有磁盘。在这些磁盘中,您可能决定利用以下命令来删除一个磁盘:
alter diskgroup dskgrp1 drop disk diskb23;
export ORACLE_SID=+ASM1
export ORACLE_HOME=/u01/app/oracle/product/10.2.0/asm_1
生成报告:
@/opt/oracle10g/u01/rdbms/admin/awrrpt.sql;
修改awr收集快照的间隔和保留周期为 45分钟和10天(14400分钟),默认是1小时1次快照
begin
dbms_workload_repository.modify_snapshot_setting(retention=>14400,interval=>45);
所有实例和服务的状态
$ srvctl status database -d orcl
Instance orcl1 is running on node linux1
Instance orcl2 is running on node linux2
单个实例的状态
$ srvctl status instance -d orcl -i orcl2
SQL> alter database create datafile '/opt/oracle/product/9.2.0/dbs/UNNAMED00004'
as '/opt/oracle/oradata/primary/eygle01.dbf' reuse;
==总队==
Oracle 11g RAC维护参考
Oracle 11g RAC维护参考RAC集群,全称Real Application Clusters,译为“实时应用集群”,是Oracle提供的一种高可用、并行集群系统,RAC除了具有高可用能力还有负载均衡能力,整个RAC集群系统由Oracle Clusterware (集群软件)和Real Application Clusters(RAC)两大部分组成。
1硬件环境RAC集群的硬件环境包括主机、共享存储、网络设备。
1.1主机(节点)RAC集群环境中至少有两台主机,也就是两个节点,每个节点配置一样的硬件,至少配置两块物理网卡。
1.2网络设备网卡,每个RAC集群节点上至少配置两块物理网卡。
一块网卡用于集群内部的私有通信,集群节点间数据块的传输都是通过这块网卡,我们称之为私有网卡,IP别名Private IP;另一块网卡用于对外服务,比如数据库的查询等,我们称之为公有网卡,IP别名Public IP。
除此之外,每个节点还有第三个VIP(Virtual IP)的IP。
RAC集群正常运行时,每个节点的VIP会被分配到公有网卡上,当某个节点出现故障宕机时,这个节点的VIP会被移到其它正常运行节点的公有网卡上。
网络交换机,首先,用于连接所有节点的公有网卡以提供对外的数据库服务,其次,用于连接各个节点之间的私有网卡以传递集群节点之间的心跳数据和数据库数据块(Cache Fusion)。
1.3共享存储在RAC集群中,最重要的是共享存储,RAC是一个“多实例、单一数据库”的架构,所有的节点共享一个数据库。
数据文件、联机日志、参数文件、控制文件存放在共享存储上以保证每个节点的实例都能访问。
每个节点安装HBA卡,然后通过光纤线和存储设备连接。
2软件环境RAC集群的软件组成包含:操作系统、集群软件、数据库软件。
2.1操作系统每个节点上所安装的操作系统必须是相同版本的。
2.2集群软件Oracle Clusterware(统称为CRS/Cluster Ready Service)集群软件,负责管理整个集群环境中的硬件资源,并为上层的RAC集群提供基础服务。
centos6中搭建oracle 11g rac及常用维护命令
1、系统环境1.1、硬件环境通过mware 10,新建2个虚拟机主机名分别为rac1和rac2,每个虚拟机分配40G磁盘空间,添加两个网络适配器。
其中第二个适配器网络连接调整为自定义,两个节点保持一致即可。
Widonws本机ip:192.168.6.11.2、软件环境数据库:oracle11.2.0.4 database-x86-64GRID:oracle11.2.0.4_grid-x86-64操作系统:centos-6.3-x86_64 采用最小化安装1.3、网络环境Ip地址规划分配为1.4、共享磁盘分区计划创建三个共享磁盘sdb、sdc、sdd每个磁盘计划分三个分区2、环境准备2.1配置静态IP地址修改public网卡ip地址。
每个虚拟机第一个网卡eth0网卡做public,按规划rac1 为192.168.6.180 rac2 为192.168.6.181vi /etc/sysconfig/network-scripts/ifcfg-eth0修改红色部分DEVICE="eth0"BOOTPROTO="static" --模式由dhcp改为static 静态IPHWADDR="00:0C:29:D1:4E:A6"NM_CONTROLLED="yes"ONBOOT="yes" --由no 改为yes 开机自启TYPE="Ethernet"*UUID="e59cb6a0-deb0-4164-a2b0-8b4dcc0cb027"IPADDR=192.168.6.180 --静态ip地址NETMASK=255.255.255.0 --子网掩码GATEWAY=192.168.6.1 --网关修改私有ip地址。
每个虚拟机第二个网卡eth1做私有网卡修改红色部分,不必配置网关按规划rac1 为2.2.2.2 rac2 为2.2.2.3vi /etc/sysconfig/network-scripts/ifcfg-eth1DEVICE="eth1"BOOTPROTO="static"HWADDR="00:0C:29:D1:4E:A6"NM_CONTROLLED="yes"ONBOOT="yes"TYPE="Ethernet"*UUID="e59cb6a0-deb0-4164-a2b0-8b4dcc0cb027"IPADDR=2.2.2.2NETMASK=255.255.255.0修改完成后重启网络服务生效service network restart2.2在rac1和rac2上分别关闭防火墙service iptables stop --停止防火墙chkconfig iptables off --禁用防火墙2.3在rac1和rac2上分别修改主机名vi /etc/sysconfig/network 一个rac1,另一个rac2 重启生效HOSTNAME=rac12.4在rac1和rac2 上分别改hostsvi /etc/hosts添加对应的ip信息#public192.168.6.180 rac1192.168.6.181 rac2#private2.2.2.1 rac1-priv2.2.2.2 rac2-priv#virtual192.168.6.182 rac1-vip192.168.6.183 rac2-vip#scan192.168.6.184 cluster-scan2.5在rac1和rac2上分别执行配置内核参数vi /etc/sysctl.conf加入以下内容fs.aio-max-nr = 1048576fs.file-max = 6815744kernel.shmall = 2147483648kernel.shmmax = 68719476736kernel.shmmni = 4096kernel.sem = 250 32000 100 128net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 262144net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048586使修改参数立即生效:sysctl -p2.6在rac1和rac2上分别执行修改limitsvi /etc/security/limits.conf加入以下信息grid soft nproc 2047grid hard nproc 16384grid soft nofile 1024grid hard nofile 65536oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 655362.7在rac1和rac2上分别修改/etc/pam.d/loginvi /etc/pam.d/login加入以下信息session required /lib/security/pam_limits.sosession required pam_limits.so2.8在rac1和rac2上分别执行修改/etc/profilevi /etc/profile加入以下信息if [ $USER = "oracle" ] || [ $USER = "grid" ]; thenif [ $SHELL = "/bin/ksh" ]; thenulimit -p 16384ulimit -n 65536elseulimit -u 16384 -n 65536fiumask 022fi2.9在rac1和rac2 上分别执行禁用 selinuxvi /etc/selinux/config修改 SELINUX值SELINUX=disabled2.10在rac1和rac2上分别执行停止 ntp 服务service ntpd stopchkconfig ntpd offmv /etc/ntp.conf /etc/ntp.conf.bak2.11在rac1和rac2上分别处理/dev/shm 共享内存不足的处理df -h 查看tmpfs分区是否大于1G,如果过小需增加。
(总结)Oracle11g常用管理命令(用户、表空间、权限)
(总结)Oracle11g常⽤管理命令(⽤户、表空间、权限)1、启动oracle数据库:从root切换到oracle⽤户进⼊:su - oracle进⼊sqlplus环境,nolog参数表⽰不登录:sqlplus /nolog以管理员模式登录:sqlplus / as sysdba启动数据库startup;停⽌数据库shutdown immediate远程连接数据库sqlplus /nologconn sys/sys@ip:1521/orainstance as sysdba也可以直接运⾏:dbstart#启动数据库的脚本dbshut#停⽌数据库的脚本参考:startup [force][restrict][nomount][migrate][quiet][pfile=][mount [exclusive] x |open]shutdown注:要把Linux下的Oracle配置成服务⾃启动,请看:2、数据库监听:启动监听服务:lsnrctl start停⽌监听服务:lsnrctl stop查看监听状态:lsnrctl status3、⽤户权限管理:注:以下命令都需要DBA权限。
创建⽤户:create user ittbank identified by 123456 ;赋予⽤户的表空间权限:alter user ittbank default tablespace ittbank;;或者两条命令合并为:create user ittbank identified by 123456 default tablespace ittbank;注:刚刚创建完的新⽤户是没有任何权限的,甚⾄连登录数据库的权限都没有。
这时使⽤conn ⽤户名/密码会提⽰没有权限。
在新建⼀个⽤户之后还要对这个⽤户进⾏授权操作。
当然是要使⽤有能⼒授权的⽤户,如sys、system。
⾓⾊是指由系统权限集合。
通常给某个⽤户授予权限时如果没有⾓⾊存在的话,那么需要⼀条⼀条的操作,⾓⾊的存在就是使得授权变得很⽅便。
Oracle11G日常维护手册
日常维护手册目录1.登陆到数据库1.1.服务器端配置=( =( =( = ( = )( 1))( = ( = )( = 192.168.137.10)( = 1521)) ))= 01(((1)(1)(0111.2.01)(20)((()(2)(1)))))1名称,在客户端一定配置和他相同1实例名称,这个要和相同可以不等于客户端根据中的和地址( = ( = )( 1)( = 1521)),到这个地址去访问监听器。
然后监听器根据文件文件中的来判断是否有一个 和 相等。
如果相等,则建立客户端到标识的服务端实例的连接,在客户端上我们可以使用 命令来测试1.2. 客户端1 =( =说明( =( = ( = )( = 192.168.137.10)( = 1521)))( =( 1)()))这里的 1 就是在服务器端的1[1 ~]$ 1: 11.2.0.1.0 - 212015 14:51:49(c) 1997, 2009, . .03502: . : <> [<>][1 ~]$ 1: 11.2.0.1.0 - 212015 14:51:55(c) 1997, 2009, . .:( = ( = ( = ( = )( = 1)( = 1521))) ( = (= 1)()))(0 )1.3. 检查说明1.4.登陆数据库的方式修改登陆 认证模式默认情况下我们 安装好后是使用操作系统用户的验证,所以这里如果我们使用用户不用密码就可以登录,如果我们想使用 密码文件验证的话我们就要进入下列文件夹0111.2.01修改增加下列命令=配置了登录数据库方式[1 ~]$ 1111111使用登陆到指定数据库11111111 ;察看登陆到了哪个数据库实例v$使用用户登陆说明说明用登陆使用用户登录;/ 连接数据库111111 使用进行连接1.5.数据库的启动数据库启动方式启动实例、装载数据库、打开数据库1启动数据库实例, 该步骤只是启动了一个数据库实例. 在此状态下我们可以访问下列结构文件* v$;* v$;* v$;利用以前读取的参数文件查找控制文件,这些控制文件包含数据文件名和重做日志名,然后将数据库装载.一旦这一步完成我们就可以看到下列状态* v$;* v$;* v$;实例验证数据文件及日志文件并启动数据库;打开数据库启动过程中限制访问数据库上述命令是只有用户拥有权限才可以连接启动数据库后起的进程, v$ <>'00';1.6.关闭数据库等待用户完成工作然后关闭等待用户完成工作但是强制关闭连接立即关闭 ,当前所有做工作回滚到一致状态,断开其连接强制关闭,非干净关闭,下次重起后要回滚日志2.用户管理2.1.检察用户2.2.查看用户参数3.检查数据库基本状况3.1.检查数据库创建日期3.2.检查数据库版本信息3.3.检查实例状态其中“”表示当前的实例状态,必须为“”;“”表示当前数据库的状态,必须为“”。
!!!Oracle11g日常操作与维护手册
Oracle 11g日常操作与维护手册拟制:数据库TMG日期:2009-2-14审核:日期:批准:日期:华为技术有限公司目录第1章文档说明........................................ 错误!未定义书签。
第2章 CRS的管理....................................... 错误!未定义书签。
RAC状态检查....................................... 错误!未定义书签。
检查守护进程状态............................... 错误!未定义书签。
检查资源状态................................... 错误!未定义书签。
手工启动与关闭RAC ................................. 错误!未定义书签。
OCR的管理......................................... 错误!未定义书签。
VOTING DISK的管理................................. 错误!未定义书签。
CSS管理........................................... 错误!未定义书签。
管理工具SRVCTL .................................... 错误!未定义书签。
管理实例....................................... 错误!未定义书签。
管理监听程序................................... 错误!未定义书签。
管理ASM ........................................ 错误!未定义书签。
管理service .................................... 错误!未定义书签。
Oracle11g_新特性及常用维护工具详解
目 录
第 1 章 ORACLE11g 体系结构介绍 .................................................................. 1
1.1 ORACLE11g 的后台进程介绍 ................................................................................................1 1.2 ORACLE11g 的内存结构 .......................................................................................................2
i / 71
------------------------------------------------------------------------------------------------------------------------------------------------
Oracle11g 新特性及常用维护工具详解
------------------------------------------------------------------------------------------------------------------------------------------------
第 2 章 ORACLE11g 新特性及新功能使用 ...................................................................................4
ORACLE11gRAC日常维护
ORACLE11gRAC日常维护一背景因为项目维护人员对在LINUX环境下维护RAC时遇到一些问题,所以本文档主要简单介绍一下在LINUX操作系统下如何对ORACLE11g数据库做一些维护操作,本来只是想文字介绍一些命令,但想想没图没真相的,大家看着会晕,正好前段时间在公司服务器上搭建了RAC for LINUX环境,所以可以把图一起配上,希望大家能看着舒服点,如果能连接公司内网,也可以实际操练下,毕竟生产环境是不能随便操作的。
另外,10g与11g有一些差异,使用时需要注意一下。
二ORACLE RAC的软件架构从11gR2开始,ORACLE将集群软件做成了一个完全独立于ORACLE数据库软件(RDBMS)的一个集群组件,简称GRID(GRID不仅可以为ORACLE数据库提供集群支持,还可以为其他第三方的软件提供集群支持),GRID与RDBMS分开安装,GRID作为ORACLE数据库软件的基础。
在LINUX的RAC操作系统下ORACLE用户用于管理ORACLE数据库,GRID用户用于管理GRID组件,这点与WINDOWS不同,WINDOWS 只有一个ADMINISTRATOR用户全权管理GRID与ORACLE数据库软件。
ORACLE RAC 软件架构图我们由下向上解释一下上图中RAC的一些结构。
1,RAC的运行离不开共享存储,ORACLE管理共享存储的方式有多种,上图中就包含了最常见的两种:ASM(Automatic Storage Management)、RAW(裸设备)。
ORACLE 从10g后就力推ASM方式,但OCR(ORACLE集群注册表)和VOTE(仲裁盘)在10G 与11gR1还不能实现ASM管理(OCR与VOTE是GRID运行的基础),所以使用RAW 方式,但11gR2后OCR和VOTE都可以使用ASM磁盘组管理。
2,共享存储通过光纤网络连接到ORACLE数据库服务器,连接方式可以是NAS (Network Attached Storage),SAN(Storage Area Network),DAS(Direct Attached Storage),如果对存储网络类型感兴趣自己去了解,不文档不做详细说明。
运维手册_数据库_Oracle11gRAC日常运维手册(352)
Oracle运维手册恒生电子客服总部系统服务部本文所述内容(包括文字和图片),恒生电子股份有限公司(以下简称“恒生”或“恒生公司”)拥有完全独立的唯一版权。
未经恒生公司书面同意或授权,任何单位和个人都不得将其复制、影印或引用。
目录第一章通过SQL*Plus管理Oracle系统 (3)**. 登录oracle系统 (3)**. 退出SQL*Plus (3)**. 在sqlplus下得到帮助信息 (3)第二章Oracle11gR2 RAC日常管理 4**. 监控oracle (4)**. 监控Oracle日志 (4)**. 监控oracle状态 (5)**. 监控表空间使用情况 (6)**. 监控主机 (8)**. 监控CPU (8)**. 使用vmstat 命令监控cpu使用情况 (8)**. 监控主机日志 (9)**. 监控OS文件系统使用情况 (9)**. 启动、关闭数据库 (9)**. 启动数据库 (9)**. 关闭数据库 (11)**. 监听器启动、关闭 (13)**. 表统计信息维护 (14)**. 修改主机系统时间 (15)**. 时间管理原则 (15)**. 时间修改方法 (15)**. 数据库日志收集 (15)**. OS日志 (16)**. DB日志 (16)**. grid日志 (16)**. AWR和ASH报告生成 (16)**. AWR报告生成(同10g) (16)**. ASH报告生成(同10g) (19)**. Recyclebin管理 (23)**. 归档日志的清理 (23)**. 查看回收站中的对象 (23)**. 指定删除某些特定对象 (23)**. 指定删除某表空间的所有回收站对象 (23)**. 清除某用户下的回收站对象 (23)**. 清除所有回收站对象 (23)**. 数据库性能监控 (24)**. 查看系统当前等待事件 (24)**. 通过sid查看sql语句24第一章通过SQL*Plus管理Oracle 系统登录oracle系统以oracle用户登录主机1)以sys用户登录oracle系统[oracle@rac1 ~]$ sqlplus / as sysdba2)其他用户登录oracle系统[oracle@rac1 ~]$ sqlplus hs_user/handsome@jsswdb1退出SQL*PlusSQL>exit在sqlplus下得到帮助信息列出全部SQL命令和SQL*Plus命令SQL> help index列出某个特定的命令的信息SQL>help 命令名或者SQL>? 命令名第二章Oracle11gR2 RAC日常管理监控oracle2.1.1.监控Oracle日志2.1.1.1. DB日志以oracle用户登录该日志文件在每个节点主机的$ORACLE_BASE/diag/rdbms/<dbname>/<sid>/trace目录下,文件名为:alert_XXXX.log (节点1)例如:/u01/app/oracle/diag/rdbms/hsdb/hsdb1/trace/alert_hsdb1.log在出现oracle故障前或故障时,数据库会将一些警告、错误信息写入该文件,交易时应随时监控该文件,及时发现警告、错误信息。
oracle11gr2dataguard日常维护及故障处理
Oracle 11G R2 DataGuard日常维护及故障处理1.关于Forced Logging模式有一些DDL语句可以通过指定NOLOGGING子句的方式避免写redo log(目的是提高速度,某些时候确实有效),指定数据库为FORCE LOGGING模式后,数据库将会记录除临时表空间或临时回滚段外所有的操作而忽略类似NOLOGGING之类的指定参数。
如果在执行force loggi ng时有nologging之类的语句在执行,则force logging会等待直到这类语句全部执行。
F ORCE LOGGING是做为固定参数保存在控制文件中,因此其不受重启之类操作的影响(只执行一次即可)打开force loggingSQL > alter database force logging;关闭force loggingSQL > alter database no force logging;查看force logging的状态:SQL > select FORCE_LOGGING from v$database;2.关于主备库的密码密码文件位置$Oracle_HOME/dbs/orapwSID,主备库的密码必须要一致,否则可能出现日志无法传输故障,最好是使用scp传过去较为方便3.关于listener.ora和tnsnames.oralistener.ora为数据库的监听配置文件,tnsnames.ora为网络服务名配置文件修改listener.ora是需要重启监听程序,而tnsnames.ora是不需要重启的,我们可以使用默认的listener.oraLISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521)) ))ADR_BASE_LISTENER = /opt/oracle以上是动态注册,如果是静态注册的话,则是SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = PLSExtProc)(ORACLE_HOME = /opt/oracle/product/11.2.0/db_1)(PROGRAM = extproc))(SID_DESC =(GLOBAL_DBNAME =db1)(ORACLE_HOME = /opt/oracle/product/11.2.0/db_1)(SID_NAME = db1)))tnsnames.ora则只需要添加服务名db1 =(DEST_NAME(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = db1)(PORT = 1521)) )(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = db1)))db2=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = db2)(PORT = 1521)) )(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = db2)))以上按照自己的实际情况进行修改以上配置好了,就可以相互的tnsping db1或tnsping db2进行测试4.参数文件说明参数文件说明:增加以下参数,如果在初始化参数已经有配置,则看需要做相应的修改。
ORACLE数据库日常运维操作手册(带有具体代码2017)
数据库日常运维操作手册目录1.日维护过程1.1 确认所有的INSTANCE状态正常1.2 检查文件系统的使用(剩余空间)1.3 检查日志文件和trace文件记录1.4 检查数据库当日备份的有效性。
1.5 检查数据文件的状态1.6 检查表空间的使用情况1.7 检查剩余表空间1.8 监控数据库性能1.9 检查数据库系统性能1.10 日常出现问题的处理。
2.每周维护过程2.1 监控数据库对象的空间扩展情况2.2 监控数据量的增长情况2.3 系统健康检查2.4 检查无效的数据库对象2.5 检查不起作用的约束2.6 检查无效的trigger3.月维护过程3.1 Analyze Tables/Indexes/Cluster3.2 检查表空间碎片3.3 寻找数据库性能调整的机会3.4 数据库性能调整3.5 提出下一步空间管理计划数据库日常运维操作手册主要针对ORACLE数据库管理员对数据库系统做定期监控:(1). 每天对ORACLE数据库的运行状态日志文件、备份情况、数据库的空间使用情况、系统资源的使用情况进行检查,发现并解决问题。
(2). 每周对数据库对象的空间扩展情况、数据的增长情况进行监控、对数据库做健康检查、对数据库对象的状态做检查。
(3). 每月对表和索引等进行Analyze、检查表空间碎片、寻找数据库性能调整的机会、进行数据库性能调整、提出下一步空间管理计划。
对ORACLE数据库状态进行一次全面检查1.日维护过程1.1 确认所有的INSTANCE状态正常登陆到所有数据库或例程,检测ORACLE后台进程:$ps –ef|grep ora1.2 检查文件系统的使用(剩余空间)如果文件系统的剩余空间小于20%,需删除不用的文件以释放空间。
#df –k1.3 检查日志文件和trace文件记录检查相关的日志文件和trace文件中是否存在错误。
A 连接到每个需管理的系统使用secureCRT远程登陆工具B 对每个数据库,进入到数据库的bdump目录,unix系统中BDUMP目录通常是$ORACLE_BASE/<SID>/bdump#$ORACLE_BASE/<SID>/bdumpC 使用Unix 和linux ‘tail’命令来查看alert_<SID>.log文件#tail $ORACLE_BASE/<SID>/bdump/alert_<SID>.logD 如果发现任何新的ORA-错误,记录并解决1.4 检查数据库当日备份的有效性。
Oracle11g常用基本操作命令
Oracle11g常⽤基本操作命令 这⾥是单实例数据库情况下:1、启动监听 启动监听,即启动1521监听端⼝号:lsnrctl start #启动监听lsnrctl stop #停⽌监听lsnrctl status #查看监听状态 监听端⼝1521修改:# su - oracle$ lsnrctl stop$ echo $ORACLE_HOME$ cd $ORACLE_HOME/network/admin$ vim listener.ora# listener.ora Network Configuration File: /home/data/oracle/product/11.2.0/db_1/network/admin/listener.ora# Generated by Oracle configuration tools.LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC6666))(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 6666))))ADR_BASE_LISTENER = /home/data/oracle直接在此处修改是不⽣效的,我们还需要修改local_listener参数$ sqlplus / as sysdbaSQL> show parameter local_listener #登录并查看local_listener参数//由于开始的时候使⽤的是默认值,这个时候VALUE这个值应该是空的,这⾥修改local_listener参数SQL> alter system set local_listener="(address = (protocol = tcp)(host = 10.10.16.245)(port = 6666))";SQL> show parameter local_listener #查看local_listener参数$ lsnrctl start #重新启动监听$ netstat -an|grep 6666 #查看状态$ lsnrctl status$ su - root #防⽕墙端⼝开放# /sbin/iptables -I INPUT -p tcp --dport 6666 -j ACCEPT# /etc/rc.d/init.d/iptables save#到此oracle的监听端⼝号就已经由原来的1521变成6666View Code2、启动数据库 启动数据库有两种⽅式,⼀种是登录sqlplus执⾏startup;另⼀种是使⽤dbstart //启动数据库脚本⽤oracle⽤户进⼊# su - oracle$ sqlplus /nolog #运⾏sqlplus命令,进⼊sqlplus环境,nolog参数表⽰不登录;SQL> conn /as sysdba #以管理员模式进⼊SQL > startup; #启动数据库SQL > SHUTDOWN IMMEDIATE #停⽌数据库远程连接数据库sqlplus /nologconn sys/sys@IP:1521/orainstance as sysdba也可以直接运⾏:dbstart //启动数据库脚本dbshut //停⽌数据库脚本3、⽤户管理 创建普通⽤户,权限相关:创建⽤户:SQL> create user "username" identified by "userpasswd" ; #注:后⾯可带表空间删除⽤户:SQL> drop user “username” cascade; #注:cascade 参数是级联删除该⽤户所有对象,经常遇到如⽤户有对象⽽未加此参数则⽤户删不了的问题,所以习惯性的加此参数授权⽤户:SQL> grant connect,resource,dba to "username" ;查看当前⽤户的⾓⾊SQL> select * from user_role_privs;SQL> select * from session_privs;查看当前⽤户的系统权限和表级权限SQL> select * from user_sys_privs;SQL> select * from user_tab_privs;查询⽤户表SQL> select username from dba_users;修改⽤户⼝令SQL> alter user "username" identified by "password";显⽰当前⽤户SQL> show user;4、表和表空间创建表空间SQL> CREATE TABLESPACE data01 DATAFILE '/oracle/oradata/db/DATA01.dbf' SIZE 500M;删除表空间SQL> DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES;修改表空间⼤⼩SQL> alter database datafile '/path/NADDate05.dbf' resize 100M;增加表空间SQL> ALTER TABLESPACE NEWCCS ADD DATAFILE '/u03/oradata/newccs/newccs04.dbf' SIZE 4896M;查询数据库⽂件SQL> select * from dba_data_files;查询当前存在的表空间SQL> select * from v$tablespace;表空间情况SQL> select tablespace_name,sum(bytes)/1024/1024 from dba_data_files group by tablespace_name;查询表空间剩余空间SQL> select tablespace_name,sum(bytes)/1024/1024 from dba_free_space group by tablespace_name;查看表结构SQL> desc table;修改连接数:要重启数据库SQL> alter system set processes=1000 scope=spfile;SQL> shutdown immediate;SQL> startup;查看⽤户当前连接数SQL> select count(*) from sys.v_$session;5、修改字符集相关 将数据库启动到RESTRICTED模式下做字符集更改:$ sqlplus / as sysdbaSQL> select * from v$nls_parameters; #查看当前系统使⽤的各种字符集SQL> select * from nls_database_parameters where parameter ='NLS_CHARACTERSET'; #精确查询NLS_CHARACTERSET值SQL> shutdown immediate; #关闭数据库SQL> startup mount #启动实例,可以加载数据库,不运⾏数据库DBA在做⼀些操作的时候不希望有⼈登⼊数据库可以使⽤restrict模式:SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION; #开启限制会话模式Oracle job进程,包含协调进程(主进程)以及奴⾪进程(⼦进程),job_queue_processes取值范围为0到1000,总共可创建多少个job进程由job_queue_processes参数来决定。
ORACLE及UNIX日常维护
commit;
end loop;
close c1;
end;
/
#cat srch_spid
#!/bin/ksh
/usr/bin/touch /oracle/check/srch_spid.res
/usr/bin/chmod 777 /oracle/check/srch_spid.res
sum(bytes/1024/1024) as sum_free_m
from dba_free_space
group by tablespace_name)
where tbs_name=fs_ts_name;
四、需管理员人工检查并清理的文件
/oracle/……/bdump/alert_SID.log
sh /dev/null > /oracle/check/srch_spid.res
/usr/bin/date >>/oracle/check/srch_spid.log
su - oracle "-c sqlplus system/manager @/oracle/check/run_obj.sql |grep proc >>/oracle/check/srch_spid.log"
su - oracle "-c sqlplus curcar/curcar @/oracle/check/clr_brk_job.sql"
su - oracle "-c sqlplus ljxd/ljxd @/oracle/check/clr_brk_job.sql"
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章:日志管理1.forcing log switchessql> alter system switch logfile;2.forcing checkpointssql> alter system checkpoint;3.adding online redo log groupssql> alter database add logfile [group 4]sql> ('/disk3/log4a.rdo','/disk4/log4b.rdo') size 1m;4.adding online redo log memberssql> alter database add logfile membersql> '/disk3/log1b.rdo' to group 1,sql> '/disk4/log2b.rdo' to group 2;5.changes the name of the online redo logfilesql> alter database rename file 'c:/oracle/oradata/oradb/redo01.log'sql> to 'c:/oracle/oradata/redo01.log';6.drop online redo log groupssql> alter database drop logfile group 3;7.drop online redo log memberssql> alter database drop logfile member 'c:/oracle/oradata/redo01.log';8.clearing online redo log filessql> alter database clear [unarchived] logfile 'c:/oracle/log2a.rdo';ing logminer analyzing redo logfilesa. in the init.ora specify utl_file_dir = ' 'b. sql> execute dbms_logmnr_d.build('oradb.ora','c:\oracle\oradb\log');c. sql> execute dbms_logmnr_add_logfile('c:\oracle\oradata\oradb\redo01.log',sql> dbms_logmnr.new);d. sql> execute dbms_logmnr.add_logfile('c:\oracle\oradata\oradb\redo02.log',sql> dbms_logmnr.addfile);e. sql> execute dbms_logmnr.start_logmnr(dictfilename=>'c:\oracle\oradb\log\oradb.ora');f. sql> select * from v$logmnr_contents(v$logmnr_dictionary,v$logmnr_parameterssql> v$logmnr_logs);g. sql> execute dbms_logmnr.end_logmnr;第二章:表空间管理1.create tablespacessql> create tablespace tablespace_name datafile 'c:\oracle\oradata\file1.dbf' size 100m,sql> 'c:\oracle\oradata\file2.dbf' size 100m minimum extent 550k [logging/nologging] sql> default storage (initial 500k next 500k maxextents 500 pctinccease 0)sql> [online/offline] [permanent/temporary] [extent_management_clause]2.locally managed tablespacesql> create tablespace user_data datafile 'c:\oracle\oradata\user_data01.dbf'sql> size 500m extent management local uniform size 10m;3.temporary tablespacesql> create temporary tablespace temp tempfile 'c:\oracle\oradata\temp01.dbf'sql> size 500m extent management local uniform size 10m;4.change the storage settingsql> alter tablespace app_data minimum extent 2m;sql> alter tablespace app_data default storage(initial 2m next 2m maxextents 999); 5.taking tablespace offline or onlinesql> alter tablespace app_data offline;sql> alter tablespace app_data online;6.read_only tablespacesql> alter tablespace app_data read only|write;7.droping tablespacesql> drop tablespace app_data including contents;8.enableing automatic extension of data filessql> alter tablespace app_data add datafile 'c:\oracle\oradata\app_data01.dbf'size 200msql> autoextend on next 10m maxsize 500m;9.change the size fo data files manuallysql> alter database datafile 'c:\oracle\oradata\app_data.dbf'resize 200m;10.Moving data files: alter tablespacesql> alter tablespace app_data rename datafile 'c:\oracle\oradata\app_data.dbf'sql> to 'c:\oracle\app_data.dbf';11.moving data files:alter databasesql> alter database rename file 'c:\oracle\oradata\app_data.dbf'sql> to 'c:\oracle\app_data.dbf';第三章:表1.create a tablesql> create table table_name (column datatype,column datatype]....)sql> tablespace tablespace_name [pctfree integer] [pctused integer]sql> [initrans integer] [maxtrans integer]sql> storage(initial 200k next 200k pctincrease 0 maxextents 50)sql> [logging|nologging] [cache|nocache]2.copy an existing tablesql> create table table_name [logging|nologging] as subquery3.create temporary tablesql> create global temporary table xay_temp as select * from xay;on commit preserve rows/on commit delete rows4.pctfree = (average row size - initial row size) *100 /average row sizepctused = 100-pctfree- (average row size*100/available data space)5.change storage and block utilization parametersql> alter table table_name pctfree=30 pctused=50 storage(next 500ksql> minextents 2 maxextents 100);6.manually allocating extentssql> alter table table_name allocate extent(size 500k datafile 'c:/oracle/data.dbf');7.move tablespacesql> alter table employee move tablespace users;8.deallocate of unused spacesql> alter table table_name deallocate unused [keep integer]9.truncate a tablesql> truncate table table_name;10.drop a tablesql> drop table table_name [cascade constraints];11.drop a columnsql> alter table table_name drop column comments cascade constraints checkpoint 1000;alter table table_name drop columns continue;12.mark a column as unusedsql> alter table table_name set unused column comments cascade constraints;alter table table_name drop unused columns checkpoint 1000;alter table orders drop columns continue checkpoint 1000data_dictionary : dba_unused_col_tabs第四章:索引1.creating function-based indexessql> create index summit.item_quantity on summit.item(quantity-quantity_shipped);2.create a B-tree indexsql> create [unique] index index_name on table_name(column,.. asc/desc) tablespace sql> tablespace_name [pctfree integer] [initrans integer] [maxtrans integer]sql> [logging | nologging] [nosort] storage(initial 200k next 200k pctincrease 0sql> maxextents 50);3.pctfree(index)=(maximum number of rows-initial number of rows)*100/maximum number of rows4.creating reverse key indexessql> create unique index xay_id on xay(a) reverse pctfree 30 storage(initial 200k sql> next 200k pctincrease 0 maxextents 50) tablespace indx;5.create bitmap indexsql> create bitmap index xay_id on xay(a) pctfree 30 storage( initial 200k next 200k sql> pctincrease 0 maxextents 50) tablespace indx;6.change storage parameter of indexsql> alter index xay_id storage (next 400k maxextents 100);7.allocating index spacesql> alter index xay_id allocate extent(size 200k datafile 'c:/oracle/index.dbf');8.alter index xay_id deallocate unused;第五章:约束1.define constraints as immediate or deferredsql> alter session set constraint[s] = immediate/deferred/default;set constraint[s] constraint_name/all immediate/deferred;2. sql> drop table table_name cascade constraintssql> drop tablespace tablespace_name including contents cascade constraints3. define constraints while create a tablesql> create table xay(id number(7) constraint xay_id primary key deferrablesql> using index storage(initial 100k next 100k) tablespace indx);primary key/unique/references table(column)/check4.enable constraintssql> alter table xay enable novalidate constraint xay_id;5.enable constraintssql> alter table xay enable validate constraint xay_id;第六章:LOAD数据1.loading data using direct_load insertsql> insert /*+append */ into emp nologgingsql> select * from emp_old;2.parallel direct-load insertsql> alter session enable parallel dml;sql> insert /*+parallel(emp,2) */ into emp nologgingsql> select * from emp_old;ing sql*loadersql> sqlldr scott/tiger \sql> control = ulcase6.ctl \sql> log = ulcase6.log direct=true第七章:reorganizing dataing expoty$exp scott/tiger tables(dept,emp) file=c:\emp.dmp log=exp.log compress=n direct=y ing import$imp scott/tiger tables(dept,emp) file=emp.dmp log=imp.log ignore=y3.transporting a tablespacesql>alter tablespace sales_ts read only;$exp sys/.. file=xay.dmp transport_tablespace=y tablespace=sales_tstriggers=n constraints=n$copy datafile$imp sys/.. file=xay.dmp transport_tablespace=y datafiles=(/disk1/sles01.dbf,/disk2/sles02.dbf)sql> alter tablespace sales_ts read write;4.checking transport setsql> DBMS_tts.transport_set_check(ts_list =>'sales_ts' ..,incl_constraints=>true);在表transport_set_violations 中查看sql> dbms_tts.isselfcontained 为true 是,表示自包含第八章:managing password security and resources1.controlling account lock and passwordsql> alter user juncky identified by oracle account unlock;er_provided password functionsql> function_name(userid in varchar2(30),password in varchar2(30),old_password in varchar2(30)) return boolean3.create a profile : password settingsql> create profile grace_5 limit failed_login_attempts 3sql> password_lock_time unlimited password_life_time 30sql>password_reuse_time 30 password_verify_function verify_functionsql> password_grace_time 5;4.altering a profilesql> alter profile default failed_login_attempts 3sql> password_life_time 60 password_grace_time 10;5.drop a profilesql> drop profile grace_5 [cascade];6.create a profile : resource limitsql> create profile developer_prof limit sessions_per_user 2sql> cpu_per_session 10000 idle_time 60 connect_time 480;7. view => resource_cost : alter resource costdba_Users,dba_profiles8. enable resource limitssql> alter system set resource_limit=true;第九章:Managing users1.create a user: database authenticationsql> create user juncky identified by oracle default tablespace userssql> temporary tablespace temp quota 10m on data password expiresql> [account lock|unlock] [profile profilename|default];2.change user quota on tablespacesql> alter user juncky quota 0 on users;3.drop a usersql> drop user juncky [cascade];4. monitor userview: dba_users , dba_ts_quotas第十章:managing privileges1.system privileges: view => system_privilege_map ,dba_sys_privs,session_privs2.grant system privilegesql> grant create session,create table to managers;sql> grant create session to scott with admin option;with admin option can grant or revoke privilege from any user or role;3.sysdba and sysoper privileges:sysoper: startup,shutdown,alter database open|mount,alter database backupcontrolfile,alter tablespace begin/end backup,recover databasealter database archivelog,restricted sessionsysdba: sysoper privileges with admin option,create database,recover database until4.password file members: view:=> v$pwfile_users5.O7_dictionary_accessibility =true restriction access to view or tables in other schema6.revoke system privilegesql> revoke create table from karen;sql> revoke create session from scott;7.grant object privilegesql> grant execute on dbms_pipe to public;sql> grant update(first_name,salary) on employee to karen with grant option;8.display object privilege : view => dba_tab_privs, dba_col_privs9.revoke object privilegesql> revoke execute on dbms_pipe from scott [cascade constraints];10.audit record view :=> sys.aud$11. protecting the audit trailsql> audit delete on sys.aud$ by access;12.statement auditingsql> audit user;13.privilege auditingsql> audit select any table by summit by access;14.schema object auditingsql> audit lock on summit.employee by access whenever successful;15.view audit option : view=> all_def_audit_opts,dba_stmt_audit_opts,dba_priv_audit_opts,dba_obj_audit_opts16.view audit result: view=> dba_audit_trail,dba_audit_exists,dba_audit_object,dba_audit_session,dba_audit_statement第十一章:manager role1.create rolessql> create role sales_clerk;sql> create role hr_clerk identified by bonus;sql> create role hr_manager identified externally; 2.modify rolesql> alter role sales_clerk identified by commission; sql> alter role hr_clerk identified externally;sql> alter role hr_manager not identified;3.assigning rolessql> grant sales_clerk to scott;sql> grant hr_clerk to hr_manager;sql> grant hr_manager to scott with admin option; 4.establish default rolesql> alter user scott default role hr_clerk,sales_clerk; sql> alter user scott default role all;sql> alter user scott default role all except hr_clerk; sql> alter user scott default role none;5.enable and disable rolessql> set role hr_clerk;sql> set role sales_clerk identified by commission; sql> set role all except sales_clerk;sql> set role none;6.remove role from usersql> revoke sales_clerk from scott;sql> revoke hr_manager from public;7.remove rolesql> drop role hr_manager;8.display role informationview: =>dba_roles,dba_role_privs,role_role_privs,dba_sys_privs,role_sys_privs,role_tab_privs,session_roles第十二章: BACKUP and RECOVERY1. v$sga,v$instance,v$process,v$bgprocess,v$database,v$datafile,v$sgastat2. Rman need set dbwr_IO_slaves or backup_tape_IO_slaves and large_pool_size3. Monitoring Parallel Rollback> v$fast_start_servers , v$fast_start_transactions4.perform a closed database backup (noarchivelog)> shutdown immediate> cp files /backup/> startup5.restore to a different location> connect system/manager as sysdba> startup mount> alter database rename file '/disk1/../user.dbf'to '/disk2/../user.dbf';> alter database open;6.recover syntax--recover a mounted database>recover database;>recover datafile '/disk1/data/df2.dbf';>alter database recover database;--recover an opened database>recover tablespace user_data;>recover datafile 2;>alter database recover datafile 2;7.how to apply redo log files automatically>set autorecovery on>recover automatic datafile 4;plete recovery:--method 1(mounted databae)>copy c:\backup\user.dbf c:\oradata\user.dbf>startup mount>recover datafile 'c:\oradata\user.dbf;>alter database open;--method 2(opened database,initially opened,not system or rollback datafile) >copy c:\backup\user.dbf c:\oradata\user.dbf (alter tablespace offline)>recover datafile 'c:\oradata\user.dbf' or>recover tablespace user_data;>alter database datafile 'c:\oradata\user.dbf' online or>alter tablespace user_data online;--method 3(opened database,initially closed not system or rollback datafile) >startup mount>alter database datafile 'c:\oradata\user.dbf' offline;>alter database open>copy c:\backup\user.dbf d:\oradata\user.dbf>alter database rename file 'c:\oradata\user.dbf'to 'd:\oradata\user.dbf'>recover datafile 'e:\oradata\user.dbf' or recover tablespace user_data;>alter tablespace user_data online;--method 4(loss of data file with no backup and have all archive log)>alter tablespace user_data offline immediate;>alter database create datafile 'd:\oradata\user.dbf'as 'c:\oradata\user.dbf''>recover tablespace user_data;>alter tablespace user_data online9.perform an open database backup> alter tablespace user_data begin backup;> copy files /backup/> alter database datafile '/c:/../data.dbf' end backup;> alter system switch logfile;10.backup a control file> alter database backup controlfile to 'control1.bkp';> alter database backup controlfile to trace;11.recovery (noarchivelog mode)> shutdown abort> cp files> startup12.recovery of file in backup mode>alter database datafile 2 end backup;13.clearing redo log file>alter database clear unarchived logfile group 1;>alter database clear unarchived logfile group 1 unrecoverable datafile;14.redo log recovery>alter database add logfile group 3 'c:\oradata\redo03.log'size 1000k; >alter database drop logfile group 1;>alter database open;or >cp c:\oradata\redo02.log' c:\oradata\redo01.log>alter database clear logfile 'c:\oradata\log01.log';。