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数据库中常用到,记录一下,可能不全面,请勿见怪。
--删除表空间
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数据库中常用到,记录一下,可能不全面,请勿见怪。
相关文章推荐
- (转+整理) oracle authid definer 与 authid current_user
- oracle去除重复记录 去重 sql去重 记录
- Oracle内连接、外连接、右外连接、全外连接小总结
- oracle latch工作原理
- oracle安装数据库
- AWS挑战数据库市场 Oracle不以为意
- 甲骨文推出全新Oracle Cloud at Customer
- Ubuntu 14.04 LTS 64位安装Oracle 11g (二)
- Ubuntu 14.04 LTS 64位安装Oracle 11g (一)
- Oracle、MySql数据分页查询
- Linux安装Oracle
- Oracle ERP 的前世今生
- Oracle插入特殊字符 “&” 和 空格
- oracle修改表信息
- Oracle Study之-AIX6.1构建Oracle 10gR2 RAC(2)
- Oracle Study之-AIX6.1构建Oracle 10gR2 RAC(2)
- Jmeter之JDBC Request使用方法(oracle)
- oracle查询语句
- Oracle:Ora-01791 不是Selected表达式
- oracle中with的用法及用处