我们知道,对数据库的维护是数据库保证数据库安全稳定运行中必不可少的一个环节。本文我们总结了一些Oracle数据库的一些常用的维护操作,包括一些常规的维护操作,一些系统的维护操作以及命名空间的维护操作等,接下来就让我们来一起了解一下吧!
常规:
Oracle在sqlplus命令行下,执行完数据库操作以后,需要跟上commit才能生效。
主要监听两个端口,1521是数据库连接端口,8080是服务器端口。
Oracle默认安装完毕,会自带一个http服务器,以web的形式提供用户管理界面,该服务器端口8080与tomcat的默认端口一样,是导致tomcat启动不了的常见原因,我一般是修改tomcat的配置文件server.xml,把http1.1的端口改成8081。
系统维护:
登录
sqlplus username/password@addr [as sysdba,sysoper]
不写地址默认是localhost 不写身份默认是sysoper
查询sid
select instance_name from v$instance
查询数据库版本
Select version FROM Product_component_version Where SUBSTR(PRODUCT,1,6)='Oracle';
查询监听:lsnrctl status--在cmd下而不是sqlplus下
启动监听:lsnrctl start--在cmd下而不是sqlplus下
停止监听:lsnrctl stop--在cmd下而不是sqlplus下
创建用户
- create user weinianjie identified by "123" default tablespace sheep temporary tablespacetemp profile default;
- grant resource,connect,dba to weinianjie;
查询当前用户
show user;
命名空间:
解释:
百度百科原话:“ORACLE数据库被划分成称作为表空间的逻辑区域——形成ORACLE数据库的逻辑结构。一个ORACLE数据库能够有一个或多个Oracle,而一个表空间则对应着一个或多个物理的数据库文件。表空间是ORACLE数据库恢复的最小单位,容纳着许多数据库实体,如表、视图、索引、聚簇、回退段和临时段等。
每个ORACLE数据库均有SYSTEM表空间,这是数据库创建时自动创建的。SYSTEM表空间必须总要保持联机,因为其包含着数据库运行所要求的基本信息(关于整个数据库的数据字典、联机求助机制、所有回退段、临时段和自举段、所有的用户数据库实体、其它ORACLE软件产品要求的表)。”
我的理解,表空间跟库的概念差不多,一个表空间对应一个或者多个物理文件,每个用户属于一个或多个表空间,其中有一个是默认的。连接数据库的时候不需要制定表空间,用户创建的对象会在用户默认的表空间里存放着。
命名空间定义了一组对象类型,在命名空间里,对象的名字必须是唯一的,当然,在不同的命名空间里,是可以使用相同的的名字的。
下面的对象类型共享同一个命名空间:
- ? Tables
- ? Views
- ? Sequences
- ? Private synonyms
- ? Stand-alone procedures
- ? Stand-alone stored functions
- ? Packages
- ? Materialized views
- ? User-defined types
创建数据表空间:create tablespace sheep datafile 'c:/sheep.dbf' size 20m autoextend on;
创建临时表空间:create temporary tablespace sheep tempfile 'c:/sheep.dbf' size 20m autoextend on;
查询空间:
- select tablespace_name from dba_tablespaces;
- select tablespace_name from user_tablespaces;
查询表空间的物理情况:
- select * from dba_data_files where tablespace_name='SYSTEM';--这里一定要是全大写的,哪怕你建空间的时候没有使用大写
- select * from dba_temp_files where tablespace_name='TEMP';--这里一定要是全大写的,哪怕你建空间的时候没有使用大写
查询表空间内的表:
select table_name from dba_all_tables where tablespace_name='USERS';
表:
查询当前用户空间的所有表:
select tname from tab
序列:
查询当前用户空间的所有序列:
select squence_name from seq
创建序列:
create sequence user_seq minvalue 1 maxvalue 99999 start with 1 increment by 1 nocache nocycle
使用序列:
insert into user values(user_seq.nextval);
脚本:
- begin--必须以begin开头。
- for column_ in (select * from tb1) loop
- insert into tb2 values(column_.field1);
- end loop;
- end;
java交互:
驱动名称:oracle.jdbc.driver.OracleDriver
连接字符串:jdbc:oracle:thin:@localhost:1521:xe,其中***一个量是sid 。
关于Oracle数据库的常用维护就介绍到这里,如果您想了解更多的关于Oracle数据库的知识,可以看一下这里的文章:http://database.51cto.com/oracle/,相信一定可以带给您收获的。
【编辑推荐】