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
谭明 阅读(759)
评论(0) 编辑 收藏 所属分类:
Oracle