扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
来源:Oracle技术网 2007年10月22日
关键字:ORACLE 可管理性 新特性 Oracle 10g
asmcmd -p使用 -p 选项可以在提示中显示当前路径。
ASMCMD [+] > ls DGROUP1/ DGROUP10/ DGROUP2/ DGROUP3/ DGROUP4/ DGROUP5/ DGROUP6/ DGROUP7/ DGROUP8/ DGROUP9/可以在此处看到在 ASM 实例中创建和挂载的所有磁盘组(DGROUP1 至 DGROUP10)。
ASMCMD [+] > cd dgroup1甚至可以像在类 UNIX 或 Windows 这样的操作系统中那样,通过键入 cd .. 转到父目录。现在,确认在该磁盘组中创建了哪些文件。
ASMCMD [+dgroup1] > ls ORCL/好了,该磁盘组的下面增加了一个目录 ORCL。从它后面的正斜线 (/) 即可看出它是一个目录。使用 cd 命令进入该目录,然后执行命令 ls 显示内容。
ASMCMD [+dgroup1] > cd orcl ASMCMD [+dgroup1/orcl] > ls CONTROLFILE/ PARAMETERFILE/ control01.ctl => +DGROUP1/ORCL/CONTROLFILE/Current.256.551928759 spfileorcl.ora => +DGROUP1/ORCL/PARAMETERFILE/spfile.257.551932189 ASMCMD [+dgroup1/orcl] >除了 cd 和 ls 命令外,还可以使用其他类 UNIX 的命令,如 rm(用于删除目录或文件)、mkdir(用于创建目录)和 find(用于查找文件和目录)。
ASMCMD [+] > lsdg State Type Rebal Unbal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Name MOUNTED EXTERN N N 512 4096 1048576 100 40 0 40 0 DGROUP1/ MOUNTED EXTERN N N 512 4096 1048576 100 33 0 33 0 DGROUP10/ MOUNTED EXTERN N N 512 4096 1048576 100 41 0 41 0 DGROUP2/ MOUNTED EXTERN N N 512 4096 1048576 1000 787 0 787 0 DGROUP3/ MOUNTED EXTERN N N 512 4096 1048576 1000 537 0 537 0 DGROUP4/ MOUNTED EXTERN N N 512 4096 1048576 1000 928 0 928 0 DGROUP5/ MOUNTED EXTERN N N 512 4096 1048576 1000 742 0 742 0 DGROUP6/ MOUNTED EXTERN N N 512 4096 1048576 1000 943 0 943 0 DGROUP7/ MOUNTED EXTERN N N 512 4096 1048576 1000 950 0 950 0 DGROUP8/ MOUNTED EXTERN N N 512 4096 1048576 100 33 0 33 0 DGROUP9/除了显示磁盘名称以外,lsdg 还显示了其他相关信息,如已分配的空间大小、可用空间大小和脱机磁盘。该信息简化了问题的诊断。
ASMCMD [+] > du /dgroup1 Used_MB Mirror_used_MB 9 9以上命令显示已经使用了 9MB。由于您已经使用了外部镜像,因此所使用的磁盘空间总大小仍为 9MB (Mirror_used_MB)。如果使用了 ASM 磁盘的标准冗余参数,则该数字将有所不同。
ASMCMD [+] > help mkalias mkalias <system_alias> <user_alias> Create the specified user_alias for the system_alias.The user_alias must reside in the same diskgroup as the system_alias, and only one user_alias is permitted per file.The SQLPLUS equivalent is "alter diskgroup <dg_name> add alias <user_alias> for <system_alias>".您可以看到,这个丰富的命令集使 ASM 成为一个可管理性很高的文件系统,您甚至不需要研究 SQL 接口或 Oracle Enterprise Manager。还可以将这些命令轻松置于 shell 脚本中,从而为更多用户所接受。
alter tablespace users drop datafile '/tmp/users01.dbf' /但存在一些限制:1数据文件必须为空才能删除。无法删除表空间中的最后一个数据文件;必须删除表空间本身。同时,表空间必须处于联机和读写状态。 针对挂起/低速系统的直连 SGA 访问
SQL> create table accounts_int 2 tablespace accdata 3 as 4 select * from accounts 5 where 1=2 6 /
SQL> select partition_name, tablespace_name, num_rows 2 from user_tab_partitions 3 / PARTITION_NAME TABLESPACE_NAME NUM_ROWS ------------------------------ ------------------------------ ---------- P1 USERS 1014 P2 USERS 1042 P3 USERS 1002 P4 USERS 964 P5 USERS 990 P6 USERS 1042 P7 USERS 915 P8 USERS 983 P9 USERS 1047 P10 USERS 1001 PMAX USERS 0 11 rows selected.
SQL> begin 2 dbms_redefinition.start_redef_table ( 3 uname => 'ARUP', 4 orig_table => 'ACCOUNTS', 5 int_table => 'ACCOUNTS_INT', 6 part_name => 'P1' 7 ); 8 end; 9 / PL/SQL procedure successfully completed.
SQL> begin 2 dbms_redefinition.sync_interim_table ( 3 uname => 'ARUP', 4 orig_table => 'ACCOUNTS', 5 int_table => 'ACCOUNTS_INT', 6 part_name => 'P1' 7 ); 8 end; 9 / PL/SQL procedure successfully completed.最后,完成重新定义过程。
SQL> begin 2 dbms_redefinition.finish_redef_table ( 3 uname => 'ARUP', 4 orig_table => 'ACCOUNTS', 5 int_table => 'ACCOUNTS_INT', 6 part_name => 'P1' 7 ); 8 end; 9 / PL/SQL procedure successfully completed.确认分区 P1 确已移到表空间 ACCDATA 中。
SQL> select partition_name, tablespace_name, num_rows 2 from user_tab_partitions 3 / PARTITION_NAME TABLESPACE_NAME NUM_ROWS ------------------------------ ------------------------------ ---------- P1 ACCDATA 1014 P2 USERS 1042 P3 USERS 1002 P4 USERS 964 P5 USERS 990 P6 USERS 1042 P7 USERS 915 P8 USERS 983 P9 USERS 1047 P10 USERS 1001 PMAX USERS 0 11 rows selected.
audit_file_dest = '/auditfs' audit_trail = xml并重新启动该实例。但这两个参数不是动态的;一旦设置,将把审计跟踪写入目录 /auditfs 中。参数 audit_file_dest 是可选的;默认为 $ORACLE_HOME/rdbms/audit 目录。这些审计跟踪文件将为扩展名为 .xml 的 XML 文件。
- <Audit xmlns="http://xmlns.oracle.com/oracleas/schema/dbserver_audittrail-10_2.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/oracleas/schema/dbserver_audittrail-10_2.xsd"> <Version>10.2</Version> - <AuditRecord> <Audit_Type>8</Audit_Type> <EntryId>1</EntryId> <Extended_Timestamp>2005-03-05T20:52:51.012045</Extended_Timestamp> <DB_User>/</DB_User> <OS_User>oracle</OS_User> <Userhost>oradba</Userhost> <OS_Process>18067</OS_Process> <Terminal>pts/0</Terminal> <Instance_Number>0</Instance_Number> <Returncode>0</Returncode> <OS_Privilege>SYSDBA</OS_Privilege> <Sql_Text>CONNECT</Sql_Text> </AuditRecord> </Audit>这些跟踪文件可被 XML 分析器轻松分析,从中提取有用的信息。您甚至可以将它们作为 XML 类型加载到数据库中,然后使用 XML 查询在 SQL 内部查询它们。
select * from table (dbms_space.asa_recommendations());由于列数较多,因此看清楚输出不太容易。以下只是一个以垂直格式显示的记录。
TABLESPACE_NAME :USERS SEGMENT_OWNER :ARUP SEGMENT_NAME :ACCOUNTS SEGMENT_TYPE :TABLE PARTITION PARTITION_NAME :P7 ALLOCATED_SPACE : 0 USED_SPACE : 0 RECLAIMABLE_SPACE : 0 CHAIN_ROWEXCESS : 17 RECOMMENDATIONS :The object has chained rows that can be removed by re-org. C1 : C2 : C3 : TASK_ID : 261 MESG_ID : 0此处您将看到,模式 ARUP 中表 ACCOUNTS 的分区 P7 包含链接行。执行重新组织将帮助加快该分区全表扫描的速度。
begin dbms_scheduler.create_event_schedule ( schedule_name => 'accadmin.acc_mgr_change', start_date => systimestamp, event_condition => 'tab.user_data.event_name = ''acc_mgr_change''', queue_spec => 'proc_queue'); end;接着,您将创建一个作业以遵循此调度。您也可以直接调度一个作业而不用先创建一个调度。
begin dbms_scheduler.create_job ( job_name => acc_mgr_change, program_name => acc_mgr_change_procs, start_date => 'systimestamp, event_condition => 'tab.user_data.event_name = ''acc_mgr_change''', queue_spec => 'proc_queue' enabled => true); end;默认值是 UNLIMITED。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。