匯入匯出統計資訊一例
阿新 • • 發佈:2019-02-16
下面以匯入匯出索引的統計資訊為例進行說明:
Microsoft Windows XP [版本 5.1.2600]
(C) 版權所有 1985-2001 Microsoft Corp.
C:\Documents and Settings\Administrator>oradim -startup -sid demo
C:\Documents and Settings\Administrator>set oracle_sid=demo
C:\Documents and Settings\Administrator>sqlplus "/ as sysdba"
SQL*Plus: Release 9.2.0.4.0 - Production on 星期五 9月 14 09:19:53 2007
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
連線到:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production
SQL> create tablespace my_ts datafile 'C:\oracle\oradata\demo\my_ts01.dbf' size 10m;
表空間已建立。
SQL> create user my_user identified by my_user default tablespace my_ts;
使用者已建立
SQL> grant connect,resource to my_user;
授權成功。
SQL> conn my_user/my_user
已連線。
SQL> create table my_table(id number,name varchar2(20),ads varchar2(50));
表已建立。
SQL> insert into my_table values(1,'name1','ads1');
已建立 1 行。
SQL> insert into my_table values(2,'name2','ads2');
已建立 1 行。
SQL> l
1* insert into my_table values(2,'name2','ads2')
SQL> c /2/3
1* insert into my_table values(3,'name2','ads2')
SQL> c /2/3
1* insert into my_table values(3,'name3','ads2')
SQL> c /2/3
1* insert into my_table values(3,'name3','ads3')
SQL> /
已建立 1 行。
SQL> commit;
提交完成。
SQL> create index my_table_idx_name on my_table(name);
索引已建立。
SQL> exec dbms_stats.gather_table_stats('MY_USER','MY_TABLE');
PL/SQL 過程已成功完成。
SQL> exec dbms_stats.gather_index_stats('MY_USER','MY_TABLE_IDX_NAME');
PL/SQL 過程已成功完成。
SQL> select index_name,last_analyzed from user_indexes;
INDEX_NAME LAST_ANALY
------------------------------ ----------
MY_TABLE_IDX_NAME 14-9月 -07
SQL> exec dbms_stats.create_stat_table('MY_USER','MY_STAT_TABLE');
PL/SQL 過程已成功完成。
SQL> exec dbms_stats.export_index_stats(ownname=>'MY_USER',indname=>'MY_TABLE_IDX_NAME',stattab=>'MY_STAT_TABLE');
PL/SQL 過程已成功完成。
SQL> exec dbms_stats.delete_index_stats('MY_USER','MY_TABLE_IDX_NAME');
PL/SQL 過程已成功完成。
SQL> select index_name,last_analyzed from user_indexes;
INDEX_NAME LAST_ANALY
------------------------------ ----------
MY_STAT_TABLE
MY_TABLE_IDX_NAME
SQL> exec dbms_stats.import_index_stats(ownname=>'MY_USER',indname=>'MY_TABLE_IDX_NAME',stattab=>'MY_STAT_TABLE');
PL/SQL 過程已成功完成。
SQL> select table_name,index_name,last_analyzed from user_indexes;
TABLE_NAME INDEX_NAME LAST_ANALY
------------------------------ ------------------------------ ----------
MY_STAT_TABLE MY_STAT_TABLE
MY_TABLE MY_TABLE_IDX_NAME 14-9月 -07
SQL> select table_name,tablespace_name from user_tables;
TABLE_NAME TABLESPACE_NAME
------------------------------ ------------------------------
MY_STAT_TABLE MY_TS
MY_TABLE MY_TS
SQL>
Microsoft Windows XP [版本 5.1.2600]
(C) 版權所有 1985-2001 Microsoft Corp.
C:\Documents and Settings\Administrator>oradim -startup -sid demo
C:\Documents and Settings\Administrator>set oracle_sid=demo
C:\Documents and Settings\Administrator>sqlplus "/ as sysdba"
SQL*Plus: Release 9.2.0.4.0 - Production on 星期五 9月 14 09:19:53 2007
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
連線到:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production
SQL> create tablespace my_ts datafile 'C:\oracle\oradata\demo\my_ts01.dbf' size 10m;
表空間已建立。
SQL> create user my_user identified by my_user default tablespace my_ts;
使用者已建立
SQL> grant connect,resource to my_user;
授權成功。
SQL> conn my_user/my_user
已連線。
SQL> create table my_table(id number,name varchar2(20),ads varchar2(50));
表已建立。
SQL> insert into my_table values(1,'name1','ads1');
已建立 1 行。
SQL> insert into my_table values(2,'name2','ads2');
已建立 1 行。
SQL> l
1* insert into my_table values(2,'name2','ads2')
SQL> c /2/3
1* insert into my_table values(3,'name2','ads2')
SQL> c /2/3
1* insert into my_table values(3,'name3','ads2')
SQL> c /2/3
1* insert into my_table values(3,'name3','ads3')
SQL> /
已建立 1 行。
SQL> commit;
提交完成。
SQL> create index my_table_idx_name on my_table(name);
索引已建立。
SQL> exec dbms_stats.gather_table_stats('MY_USER','MY_TABLE');
PL/SQL 過程已成功完成。
SQL> exec dbms_stats.gather_index_stats('MY_USER','MY_TABLE_IDX_NAME');
PL/SQL 過程已成功完成。
SQL> select index_name,last_analyzed from user_indexes;
INDEX_NAME LAST_ANALY
------------------------------ ----------
MY_TABLE_IDX_NAME 14-9月 -07
SQL> exec dbms_stats.create_stat_table('MY_USER','MY_STAT_TABLE');
PL/SQL 過程已成功完成。
SQL> exec dbms_stats.export_index_stats(ownname=>'MY_USER',indname=>'MY_TABLE_IDX_NAME',stattab=>'MY_STAT_TABLE');
PL/SQL 過程已成功完成。
SQL> exec dbms_stats.delete_index_stats('MY_USER','MY_TABLE_IDX_NAME');
PL/SQL 過程已成功完成。
SQL> select index_name,last_analyzed from user_indexes;
INDEX_NAME LAST_ANALY
------------------------------ ----------
MY_STAT_TABLE
MY_TABLE_IDX_NAME
SQL> exec dbms_stats.import_index_stats(ownname=>'MY_USER',indname=>'MY_TABLE_IDX_NAME',stattab=>'MY_STAT_TABLE');
PL/SQL 過程已成功完成。
SQL> select table_name,index_name,last_analyzed from user_indexes;
TABLE_NAME INDEX_NAME LAST_ANALY
------------------------------ ------------------------------ ----------
MY_STAT_TABLE MY_STAT_TABLE
MY_TABLE MY_TABLE_IDX_NAME 14-9月 -07
SQL> select table_name,tablespace_name from user_tables;
TABLE_NAME TABLESPACE_NAME
------------------------------ ------------------------------
MY_STAT_TABLE MY_TS
MY_TABLE MY_TS
SQL>