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