oracle开发的数据库管理工作

/**
 *author:erick
 *time:20090810-20090920
 *修改com.conn文件
 *刚安装好的数据库只有默认的库
 *而且DBA用户是不能代码连接的
 *所以要新建库--名字空间--用户---授权
 *
**/


//序列
-- Create sequence
create sequence ADMIN.CUSTOMER_SEQUENCE
minvalue 1
maxvalue 10000
start with 1
increment by 1
nocache;


//触发器
create or replace trigger ADMIN.TRI_CUSTOMER
  before insert on ADMIN.CUSTOMER
  for each row
 
declare
begin
  select ADMIN.CUSTOMER_SEQUENCE.nextval into :new.FID from dual;
end TRI_CUSTOMER;

 

 

//------------------库--名字空间--用户---授权-------------------
Oracle安装完后,其中有一个缺省的数据库,除了这个缺省的数据库外,我们还可以创建自己的数据库。

    对于初学者来说,为了避免麻烦,可以用'Database Configuration Assistant'向导来创建数据库。

    创建完数据库后,并不能立即在数据库中建表,必须先创建该数据库的用户,并且为该用户指定表空间。

    下面是创建数据库用户的具体过程:

 

    1.假如现在已经建好名为'news'的数据库,此时在F:\oracle\product\10.1.0\oradata\目录下已经存在news目录(注意:我的Oracle10g安装在F:\oracle下,若你的Oracle安装在别的目录,那么你新建的数据库目录就在*\product\10.1.0\oradata\目录下)。

 

    2.在创建用户之前,先要创建表空间:

    其格式为:格式:  create tablespace 表间名 datafile '数据文件名' size 表空间大小;

    如:

    SQL> create tablespace news_tablespace datafile 'F:\oracle\product\10.1.0\oradata\news\news_data.dbf' size 500M;

    其中'news_tablespace'是你自定义的表空间名称,可以任意取名;'F:\oracle\product\10.1.0\oradata\news\news_data.dbf'是数据文件的存放位置,'news_data.dbf'文件名也是任意取;'size 500M'是指定该数据文件的大小,也就是表空间的大小。

 

    3.现在建好了名为'news_tablespace'的表空间,下面就可以创建用户了:

    其格式为:格式:  create user  用户名 identified by 密码  default tablespace 表空间表;

    如:

    SQL> create user news identified by news default tablespace news_tablespace;

    默认表空间'default tablespace'使用上面创建的表空间。

 

    4.接着授权给新建的用户:

    SQL> grant connect,resource to news;  --表示把 connect,resource权限授予news用户

    SQL> grant dba to news;  --表示把 dba权限授予给news用户

    授权成功。

 

    ok! 数据库用户创建完成,现在你就可以使用该用户创建数据表了!
//------------------------------------------------

--1:导出数据库:
exp username/password@databasename file =d:\test.dmp
eg:exp jxpt/jxpt@jxpt file =d:\jxpt.dmp
注:databasename为oracle\ora92\network\admin\tnsnames.ora下的名字。

--2:创建数据库
开始菜单====>"oraHome92"===> "datebase configuration assistant"===>创建数据库jxpt

--3:启动服务
注意设置"管理工具"====>"服务"===>相应的数据库服务"OracleServiceJXPT"和监听"OracleOraHome92TNSListener"
为自动启动

--select * from dba_data_files
--4:创建表空间,  临时表空间可以不用创建了(本来自动会创建)
create tablespace tablespace1 datafile 'D:\ORACLE\ORADATA\JXPT\tablespace1.DBF' size 20M;
create temporary tablespace temp1 tempfile 'D:\ORACLE\ORADATA\JXPT\temp1.DBF' size 10M;

--5:创建用户

CREATE USER jxpt IDENTIFIED BY jxpt
DEFAULT TABLESPACE tablespace1
TEMPORARY TABLESPACE TEMP

--6:给用户权限

grant resource,connect to jxpt

--7:导入数据库
imp jxlt/jxlt@jxlt fromuser=jxpt touser=jxlt  file=d:\jxlt.dmp
    说明:当前用户名/密码@数据库名 fromuser=当初导出时的用户 touser=导入的新用户  file=d:\test.dmp

=====================================================
定时导出导入备份数据库
=====================================================
1、导出数据库1的数据
exp jxpt/jxpt@jxpt tables=(tb_inv_invoicecode,tb_inv_firwindetail) file=jxpt_copyData.dmp
2、执行删除表结构及数据的脚本
sqlplus outinvoice/psw@ORADB_192.168.2.94 @deltb.sql
3、导入数据到另外一个数据库
imp outinvoice/psw@ORADB_192.168.2.94 fromuser=zhengguan touser=outinvoice file=tb52.dmp ignore=y log=y
注:ignore=y 表示忽略表的创建
    log=y 日志文件为y.log
见附件

========生成随机名=====================================
1: windows2000 DOS下得到当前日期 c:\%date:~4,13%   如:2008-05-07
2: windowsXP DOS下得到当前日期 %date:0~10%
exp jxpt/jxpt@JXPT file=%date:~4,13%.dmp log=%date:~4,13%
======================================================
将数据库中的表table1中的字段filed1以"00"打头的数据导出
   exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"
   http://blog.sina.com.cn/s/blog_5719dd0501009fis.html

 

你可能感兴趣的:(数据结构,oracle,sql,工作,dos)