您的位置:首页 > 数据库 > Oracle

oracle数据库常用操作

2016-03-28 14:17 375 查看
一:oracle数据库建库操作

--删除表空间

DROP TABLESPACE TSOA_D INCLUDING CONTENTS AND DATAFILES;

DROP TABLESPACE TSOA_D_TEMP INCLUDING CONTENTS AND DATAFILES;

--删除用户

drop user ncrsj_oa cascade;

/*分为四步,注意修改文件所在路径为你本地保存路径*/

/*第1步:创建临时表空间 */

create temporary tablespace TSOA_D_TEMP 

tempfile 'E:\oradata\orcl\TSOA_D_TEMP.dbf'

size 200m 

autoextend on 

next 200m maxsize UNLIMITED

extent management local; 

 

/*第2步:创建数据表空间  */

create tablespace TSOA_D

logging 

datafile 'E:\oradata\orcl\TSOA_D_data.dbf'

size 200m 

autoextend on 

next 200m maxsize UNLIMITED

extent management local; 

 

/*第3步:创建用户并指定表空间  */

create user ncrsj_oa identified by password

default tablespace TSOA_D

temporary tablespace TSOA_D_TEMP; 

 

/*第4步:给用户授予权限  */

grant connect,resource,dba to ncrsj_oa;

 

二:查询oracle用户实例名:

select name from v$database

 

三:查询表空间使用情况:

 SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size

FROM dba_tablespaces t, dba_data_files d

WHERE t.tablespace_name = d.tablespace_name

GROUP BY t.tablespace_name;

 

四:清空数据库的数据:

 truncate table+ 表名;

 

五:创建索引查询脚本,增加查询效率

-- 索引搜索的相关脚本

-- system用户登录进去给ctxsys解锁赋权

alter user ctxsys account unlock;

-- system用户登录进去给当前用户赋权

grant execute on ctx_ddl to xynsh(当前数据库用户名,记得修改);

grant execute any procedure to xynsh(当前数据库用户名,记得修改);

-- 当前用户登陆进去以下脚本按照顺序依次拷贝执行(切忌不能一下全部拷贝进去执行,在SQL模式下执行就好)--------------------------------------------------------

-- 1.创建词法分析器

BEGIN

    CTX_DDL.CREATE_PREFERENCE('CONTENT_LEXER', 'chinese_vgram_lexer');

END;

-- 2.创建可自动同步的索引

create index search_idx on T_OA_INFOPUBLISH_ARTICLES(ARTICLES_ARTICLECONTENT) INDEXTYPE IS CTXSYS.CONTEXT parameters('lexer CONTENT_LEXER sync(on commit)');

-- 3.同步和优化索引的存储过程

create or replace procedure p_lexer_movie is

begin

 ctx_ddl.sync_index('search_idx');

 ctx_ddl.optimize_index('search_idx','FULL');

end;

-- 4.每隔一天定期同步和优化索引

declare  

      job_id   pls_integer;

begin

sys.dbms_job.submit(job => job_id,

                      what => 'p_lexer_movie;',

                      next_date => SYSDATE,

                      interval => 'TRUNC(SYSDATE+1)');

     

end;

begin

sys.dbms_job.submit(job => :job,

what => ‘DPC_EXCUTE_HOUR;’,

next_date => to_date(‘01-08-2006 16:20:00’, ‘dd-mm-yyyy hh24:mi:ss’),

interval => ’trunc(sysdate,’‘hh’‘) + 1/24+20/(60*24)’

commit;

end;

六:oracle数据库文件导入导出:

导出通常有两种方式,一种是直接在CMD命令里面直接操作,输入:exp userName/password@数据库实例名 file=“文件名”,注意,数据库实例名不是对方的实例名,而是你通过转化之后,建立你跟服务器之间的连接通信的实例名,就比如:对方服务器上的实例名为oracle,你本地的服务实例名为orcl,然后你通过连接之后取的实例名为orc,那就应该是写成exp
userName/password@orc  file="文件名",因为导出的时候oracle能识别你本地的服务,识别不到服务器的服务(即oracle),所以只能通过连接适配之后才能导出;

同理导入操作,在CMD上输入imp userName/password@数据库实例名 file=“文件名”full=y, ignore=y    ,其中full=y代表全局库导入,ignore=Y代表忽略警告信息。

第二种是直接在plsql里面操作,右键导入导出。

以上oracle数据库中常用到,记录一下,可能不全面,请勿见怪。

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: