隨筆-28  評論-15  文章-81  trackbacks-0

          1.有關PL/SQL監聽器的配置

              監聽器一般在下面情況下可以找到相應配置
             如:C:\Oracle\Dev6i\NET80\ADMIN   C:\DevSuiteHome_1\NETWORK\ADMIN
           其中有三個以ora作為后輟名的文件,分別是 sqlnet.ora、tnsnames.ora、listener.ora;它們的作用分別是:
          sqlnet.ora內容大致如下

          SQLNET.AUTHENTICATION_SERVICES= (NTS)

          NAMES.DIRECTORY_PATH= (LDAP, TNSNAMES, EZCONNECT, ONAMES, HOSTNAME)
          第一行是可以用計算機的名稱默認登錄,如果你的文件中沒有這一行,則不能用計算機名登錄,像我們在SQL*PLUS中,可以用這樣SQL>sqlplus / as sysdba 方式進行登錄,/ 就代表以本機;
          第二行就是用數據庫的用戶名和密碼進行登錄。

          listener.ora就是你要登錄本機數據庫時的監聽配置,當你要遠程登錄其它計算機的數據庫時這個就不用;有這個你就得開啟相應的監聽服務程序。

          tnsnames.ora 的配置就是你用像PL/SQL登錄數據庫時,彈出的登錄界面第三行可以選擇的數據庫名;我們可以在里面寫多個連接遠程數據庫的代碼段,當連接遠程數據庫時就不用開啟本機的數據庫服務和監聽服務
          給段代碼好明白

          VERSION9 =   //自己命名的,顯示在登錄數據庫時可選的數據名
            (DESCRIPTION =
              (ADDRESS_LIST =
                (ADDRESS = (PROTOCOL = TCP)(HOST = version9)(PORT = 1521))    //host計算機名,port端口號
              )
              (CONNECT_DATA =
                (SERVICE_NAME = db)     //db數據庫名
              )
            )

          2. Oracle數據導入導出 imp/exp
          功能:Oracle數據導入導出imp/exp就相當與oracle數據還原與備份。
           大多情況都可以用Oracle數據導入導出完成數據的備份和還原(不會造成數據的丟失)。
           查詢服務器的字符集
          select * from nls_database_parameters t where t.parameter = 'NLS_CHARACTERSET'
            如果 value=utf8
             則設置客戶端NLS_LANG=AMERICAN_AMERICA.UTF8
            其它的字符集
                AMERICAN_AMERICA.WE8ISO8859P1
                SIMPLIFIED CHINESE_CHINA.ZHS16GBK

          導出:
            exp scott/tiger tables=(s_region) file=d:\scott.dmp log=d:\scott.log
          導入:
              imp scott/tiger file=d:\scott.dmp tables=(s_region) ignore=y
              imp userid=dbown/dbown@db file=staff.dmp ignore=y log=staff_imp.log
            我發現沒有后面的ignore=y(忽略為yes)導入會有錯,在數據庫中查不到數據

          3. 管理數據

          /*create index*/

          example:

          /*創建一般索引*/

          create index index_name on table_name(column_name) tablespace tablespace_name;

          /*創建位圖索引*/

          create bitmap index index_name on table_name(column_name1,column_name2) tablespace tablespace_name;

          /*索引中不能用pctused*/

          create [bitmap] index index_name on table_name(column_name) tablespace tablespace_name pctfree 20 storage(inital 100k next 100k) ;

          /*大數據量的索引最好不要做日志*/

          create [bitmap] index index_name table_name(column_name1,column_name2) tablespace_name pctfree 20 storage(inital 100k next 100k) nologging;

          /*創建反轉索引*/

          create index index_name on table_name(column_name) reverse;

          /*創建函數索引*/

          create index index_name on table_name(function_name(column_name)) tablespace tablespace_name;

          /*建表時創建約束條件*/

          create table user.table_name(column_name number(7) constraint constraint_name primary key deferrable using index storage(initial 100k next 100k) tablespace tablespace_name,column_name2 varchar2(25) constraint constraint_name not null,column_name3 number(7)) tablespace tablespace_name;

          /*給創建bitmap index分配的內存空間參數,以加速建索引*/

          show parameter create_bit;

          /*改變索引的存儲參數*/

          alter index index_name pctfree 30 storage(initial 200k next 200k);

          /*給索引手工分配一個分區*/

          alter index index_name allocate extent (size 200k datafile '$ORACLE/oradata/..');

          /*釋放索引中沒用的空間*/

          alter index index_name deallocate unused;

          /*索引重建*/

          alter index index_name rebuild tablespace tablespace_name;

          /*普通索引和反轉索引的互換*/

          alter index index_name rebuild tablespace tablespace_name reverse;

          /*重建索引時,不鎖表*/

          alter index index_name rebuild online;

          /*給索引整理碎片*/

          alter index index_name COALESCE;

          /*分析索引,事實上是更新統計的過程*/

          analyze index index_name validate structure;

          desc index_state;

          drop index index_name;

          alter index index_name monitoring usage;-----監視索引是否被用到

          alter index index_name nomonitoring usage;----取消監視

          /*有關索引信息的視圖*/

          select * from dba_indexes/dba_ind_columns/dbs_ind_expressions/v$object_usage;

          ########## 數據完整性的管理(Maintaining data integrity) ##########

          alter table table_name drop constraint constraint_name;----drop 約束

          alter table table_name add constraint constraint_name primary key(column_name1,column_name2);-----創建主鍵

          alter table table_name add constraint constraint_name unique(column_name1,column_name2);---創建唯一約束

          /*創建外鍵約束*/

          alter table table_name add constraint constraint_name foreign key(column_name1) references table_name(column_name1);

          /*不效驗老數據,只約束新的數據[enable/disable:約束/不約束新數據;novalidate/validate:不對/對老數據進行驗證]*/

          alter table table_name add constraint constraint_name check(column_name like 'B%') enable/disable novalidate/validate; 
                   select 'ALTER TABLE '||TABLE_NAME||' MODIFY CONSTRAINT '||CONSTRAINT_NAME||' ENABLE   NOVALIDATE;'
          FROM USER_CONSTRAINTS
          WHERE TABLE_NAME IN ('STAFFBASE','STAFFCLAIM','STAFFJOB','STAFFPAY','STAFFREF','STAFFTIME','STAFF')

                                 /*修改約束條件,延時驗證,commit時驗證*/

          alter table table_name modify constraint constraint_name initially deferred;

          /*修改約束條件,立即驗證*/

          alter table table_name modify constraint constraint_name initially immediate;

          alter session set constraints=deferred/immediate;

          /*drop一個有外鍵的主鍵表,帶cascade constraints參數級聯刪除*/

          drop table table_name cascade constraints;

          /*當truncate外鍵表時,先將外鍵設為無效,再truncate;*/

          truncate table table_name;

          /*設約束條件無效*/

          alter table table_name disable constraint constraint_name;

          alter table table_name enable novalidate constraint constraint_name;

          /*將無效約束的數據行放入exception的表中,此表記錄了違反數據約束的行的行號;在此之前,要先建exceptions表*/

          alter table table_name add constraint constraint_name check(column_name >;15) enable validate exceptions into exceptions;

          /*運行創建exceptions表的腳本*/

          start $ORACLE_HOME/rdbms/admin/utlexcpt.sql;

          /*獲取約束條件信息的表或視圖*/

          select * from user_constraints/dba_constraints/dba_cons_columns;
          4.Devloper Form 6i 中導入Java類出現
             PDE-UJI002: Unable to find required Java importer classes 問題的解決方案
           設置classpath=.;C:\orant\TOOLS\COMMON60\JAVA\IMPORTER.JAR


          5.數據庫文件
          a.查詢數據文件
            SELECT * FROM DBA_TABLESPAC
          b.查看表空間的空余大小
             SELECT TABLESPACE_NAME,SUM(BYTES/1024/1024) MB FROM DBA_FREE_SPACE GROUP BY 
          TABLESPACE_NAME;
          c.  查看數據文件存放路徑
            SELECT TABLESPACE_NAME,BYTES/1024/1024 FILE_SIZE_MB,FILE_NAME FROM DBA_DATA_FILES;


           

          posted on 2008-01-22 10:03 譚明 閱讀(765) 評論(0)  編輯  收藏 所屬分類: Oracle
          主站蜘蛛池模板: 新竹县| 西盟| 吕梁市| 克拉玛依市| 兰州市| 三亚市| 同仁县| 都兰县| 云浮市| 寻乌县| 凤庆县| 丰镇市| 白城市| 山东| 改则县| 梅州市| 应城市| 焉耆| 临桂县| 贵溪市| 安新县| 株洲县| 锦州市| 新蔡县| 长武县| 新干县| 洛隆县| 饶阳县| 肇源县| 珠海市| 房山区| 芷江| 辛集市| 安丘市| 垫江县| 曲靖市| 益阳市| 嵩明县| 新化县| 滦平县| 安西县|