oracle

来源:互联网 发布:ld矢量制图软件 编辑:程序博客网 时间:2024/05/01 08:10

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;

原创粉丝点击