oracle安装后部署

oraclemch 2020-04-19

1.oracle 启停服务

停止

oracle
su - oracle
lsnrctl stop;
sqlplus / as sysdba
shutdown 

启动

oracle

su - oracle
sqlplus / as sysdba
startup
quit
lsnrctl start

--查看数据库监听状态
lsnrctl status

 2.oracle部署

--建立表空间
CREATE TABLESPACE UDAS_COMM DATAFILE ‘/home/oracle/app/oradata/orcl/UDAS_COMM_01.DBF‘ SIZE 20480M AUTOEXTEND ON NEXT 1024M MAXSIZE 30960M;
--建立用户
create user udas identified by udas default tablespace UDAS_COMM temporary tablespace TEMP ;
create user etl identified by etl default tablespace UDAS_COMM temporary tablespace TEMP ;
--用户授权 有dba权限
grant connect,dba,select any table,unlimited tablespace,resource,create table to udas;
grant connect,dba,select any table,unlimited tablespace,resource,create table to etl;

---删除表空间

drop user udas cascade;

drop tablespace blpt including contents and datafiles;

select * from v$session;

SELECT * FROM V$SESSION WHERE USERNAME=‘UDAS‘;

alter system kill session ‘133,101‘;

---导入数据dmp

imp udas/:1521/orcl  file=/oracfile/datafile/wts20190220.dmp log=/oracfile/datafile/wts20190220.log touser=scott|full=y buffer=353330  inctype=restore

简洁版 imp test/:1521/orcl file=/oracfile/datafile/wts20190220.dmp log=/oracfile/datafile/wts20190220.log  full=y

------导出数据

exp udas/ file=/file/daochu0207002.dmp owner=(udas)  log=d:\2016.log

3.oracle常用表

--查看用户下所有的表

select * from user_tables;

--查看用户下所有的表的列属性

select * from USER_TAB_COLUMNS where table_name=upper(‘:table_name‘);

--查看某表的创建时间

select object_name,created from user_objects where object_name=upper(‘:table_name‘);

--查看某表的大小

select sum(bytes)/(1024*1024) as "size(M)" from user_segments where segment_name=upper(‘:table_name‘);

--查看所有视图名称及创建视图的select语句

select view_name,text from user_views;

--查看函数和过程等的源代码

select * from user_source

--查看表注释

select * from user_tab_comments where table_name=upper(‘:table_name‘);

--查看表的字段的注释

select * from user_col_comments where table_name=upper(‘:table_name‘);

4.系统级别常用表

 1、用户:

 select username from dba_users;

改口令

 alter user spgroup identified by spgtest;

2、表空间:

 select * from dba_data_files;

 select * from dba_tablespaces;//表空间

 select tablespace_name,sum(bytes), sum(blocks)

  from dba_free_space group by tablespace_name;//空闲表空间

 select * from dba_data_files

  where tablespace_name=‘RBS‘;//表空间对应的数据文件

 select * from dba_segments

  where tablespace_name=‘INDEXS‘;

3、数据库对象:

 select * from dba_objects;

 CLUSTER、DATABASE LINK、FUNCTION、INDEX、LIBRARY、PACKAGE、PACKAGE BODY、

 PROCEDURE、SEQUENCE、SYNONYM、TABLE、TRIGGER、TYPE、UNDEFINED、VIEW。

4、表:

 select * from dba_tables;

 analyze my_table compute statistics;->dba_tables后6列

 select extent_id,bytes from dba_extents

 where segment_name=‘CUSTOMERS‘ and segment_type=‘TABLE‘

 order by extent_id;//表使用的extent的信息。segment_type=‘ROLLBACK‘查看回滚段的空间分配信息

 列信息:

  select distinct table_name

  from user_tab_columns

  where column_name=‘SO_TYPE_ID‘;

5、索引: 

 select * from dba_indexes;//索引,包括主键索引

 select * from dba_ind_columns;//索引列

 select i.index_name,i.uniqueness,c.column_name

  from user_indexes i,user_ind_columns c

   where i.index_name=c.index_name

   and i.table_name =‘ACC_NBR‘;//联接使用

6、序列:

 select * from dba_sequences;

7、视图:

 select * from dba_views;

 select * from all_views;

text 可用于查询视图生成的脚本

8、聚簇:

 select * from dba_clusters;

9、快照:

 select * from dba_snapshots;

快照、分区应存在相应的表空间。

10、同义词:

 select * from dba_synonyms

  where table_owner=‘SPGROUP‘;

  //if owner is PUBLIC,then the synonyms is a public synonym.

   if owner is one of users,then the synonyms is a private synonym.

11、数据库链:

 select * from dba_db_links;

在spbase下建数据库链

 create database link dbl_spnew

 connect to spnew identified by spnew using ‘jhhx‘;

 insert into _spnew

 select * from acc_nbr where nxx_nbr=‘237‘ and line_nbr=‘8888‘;

12、触发器:

 select * from dba_trigers;

存储过程,函数从dba_objects查找。

其文本:select text from user_source where name=‘BOOK_SP_EXAMPLE‘;

建立出错:select * from user_errors;

oracle总是将存储过程,函数等软件放在SYSTEM表空间。

13、约束:

(1)约束是和表关联的,可在create table或alter table table_name add/drop/modify来建立、修改、删除约束。

可以临时禁止约束,如:

 alter table book_example

 disable constraint book_example_1;

 alter table book_example

 enable constraint book_example_1;

(2)主键和外键被称为表约束,而not null和unique之类的约束被称为列约束。通常将主键和外键作为单独的命名约束放在字段列表下面,而列约束可放在列定义的同一行,这样更具有可读性。

(3)列约束可从表定义看出,即describe;表约束即主键和外键,可从dba_constraints和dba_cons_columns 查。

 select * from user_constraints

 where table_name=‘BOOK_EXAMPLE‘;

 select owner,CONSTRAINT_NAME,TABLE_NAME

  from user_constraints

  where constraint_type=‘R‘

  order by table_name;

(4)定义约束可以无名(系统自动生成约束名)和自己定义约束名(特别是主键、外键)

如:create table book_example

  (identifier number not null);

  create table book_example

  (identifier number constranit book_example_1 not null);

5.oracle系统级表

 dba_开头..... 
   dba_users      数据库用户信息 
   dba_segments 表段信息 
   dba_extents    数据区信息 
   dba_objects    数据库对象信息 
   dba_tablespaces   数据库表空间信息 
   dba_data_files    数据文件设置信息 
   dba_temp_files   临时数据文件信息 
   dba_rollback_segs   回滚段信息 
   dba_ts_quotas   用户表空间配额信息 
   dba_free_space 数据库空闲空间信息 
   dba_profiles   数据库用户资源限制信息 
   dba_sys_privs   用户的系统权限信息 
   dba_tab_privs 用户具有的对象权限信息 
   dba_col_privs 用户具有的列对象权限信息 
   dba_role_privs 用户具有的角色信息 
   dba_audit_trail 审计跟踪记录信息 
   dba_stmt_audit_opts 审计设置信息 
   dba_audit_object   对象审计结果信息 
   dba_audit_session 会话审计结果信息 
   dba_indexes 用户模式的索引信息 
user_开头 
   user_objects   用户对象信息 
   user_source   数据库用户的所有资源对象信息 
   user_segments   用户的表段信息 
   user_tables    用户的表对象信息 
   user_tab_columns   用户的表列信息 
   user_constraints   用户的对象约束信息 
   user_sys_privs   当前用户的系统权限信息 
   user_tab_privs   当前用户的对象权限信息 
   user_col_privs   当前用户的表列权限信息 
   user_role_privs   当前用户的角色权限信息 
   user_indexes   用户的索引信息 
   user_ind_columns 用户的索引对应的表列信息 
   user_cons_columns   用户的约束对应的表列信息 
   user_clusters   用户的所有簇信息 
   user_clu_columns 用户的簇所包含的内容信息 
   user_cluster_hash_expressions   散列簇的信息 
v$开头 
   v$database    数据库信息 
   v$datafile   数据文件信息 
   v$controlfile 控制文件信息 
   v$logfile   重做日志信息 
   v$instance   数据库实例信息 
   v$log   日志组信息 
   v$loghist 日志历史信息 
   v$sga   数据库SGA信息 
   v$parameter 初始化参数信息 
   v$process   数据库服务器进程信息 
   v$bgprocess   数据库后台进程信息 
   v$controlfile_record_section   控制文件记载的各部分信息 
   v$thread   线程信息 
   v$datafile_header   数据文件头所记载的信息 
   v$archived_log 归档日志信息 
   v$archive_dest   归档日志的设置信息 
   v$logmnr_contents   归档日志分析的DML DDL结果信息 
   v$logmnr_dictionary   日志分析的字典文件信息 
   v$logmnr_logs   日志分析的日志列表信息 
   v$tablespace   表空间信息 
   v$tempfile   临时文件信息 
   v$filestat   数据文件的I/O统计信息 
   v$undostat   Undo数据信息 
   v$rollname   在线回滚段信息 
   v$session   会话信息 
   v$transaction 事务信息 
   v$rollstat    回滚段统计信息 
   v$pwfile_users   特权用户信息 
   v$sqlarea     当前查询过的sql语句访问过的资源及相关的信息 
   v$sql           与v$sqlarea基本相同的相关信息 
   v$sysstat    数据库系统状态信息 
all_开头 
   all_users   数据库所有用户的信息 
   all_objects   数据库所有的对象的信息 
   all_def_audit_opts   所有默认的审计设置信息 
   all_tables   所有的表对象信息 
   all_indexes 所有的数据库对象索引的信息 
session_开头 
     session_roles   会话的角色信息 
     session_privs   会话的权限信息 
index_开头 
    index_stats   索引的设置和存储信息 
伪表 
   dual   系统伪列表信息Oracle基于SQL几个常用的几个系统表 
1、sysobjects 
  系统对象表。 保存当前数据库的对象,如约束、默认值、日志、规则、存储过程等 
  sysobjects 重要字段解释: 
  sysObjects ( 
  Name sysname, ——object 名称 
  id int, ——object id 
  xtype char(2), —— object 类型 
  type char(2), —— Object 类型(与xtype 似乎一模一样? 有点郁闷…) 
  uid smallint, —— object 所有者的ID 
  …… ——其他的字段不常用到。 
  ) 
  注:需要解释的是 xtype 和type 是一模一样的,他的数据为: 
  C = CHECK 约束 
  D = 默认值或 DEFAULT 约束 
  F = FOREIGN KEY 约束 
  FN = 标量函数 
  IF = 内嵌表函数 
  K = PRIMARY KEY 或 UNIQUE 约束 
  L = 日志 
  P = 存储过程 
  R = 规则 
  RF = 复制筛选存储过程 
  S = 系统表 
  TF = 表函数 
  TR = 触发器 
  U = 用户表 
  V = 视图 
  X = 扩展存储过程 
  该表中包含该数据库中的所有对象,如有那些表 存储过程 视图 等信息 
  2、sysColumns 数据库字段表。 当前数据库的所有字段都保留在里面。 
  重要字段解释: 
  sysColumns ( 
  name sysname, ——字段名称 
  id int, ——该字段所属的表的ID 
  xtype tinyInt, ——该字段类型,关联sysTypes表 
  length smallint, ——该字段物理存储长度 
  …… 
  ) 
  比如要查询某一个张表的有那些字段和这些字段的长度 
  3、sysUsers 
  当前数据库的系统组,以及用户。 
  sysUsers( 
  uid smallint, ——用户id 
  name smallint , ——名称 
  uid varbinary(85) , ——属于一个登陆 
  …… 
  ) 
  对数据库的用户进行管理 
  4、sysdenpends 
  当前数据库的依赖关系。 比如我要修改某一张的结构时,怕修改后会影响到其它的视图 函数 存储过程 ,这是在修改之前可以查询一下。那些视图 函数 存储过程调用了这个表的 
  这样在修改后就可以修改的视图 函数 存储过程, 
  一般程序员用到的系统表,基本也就这几个 其他的特殊的系统表(主要都在master 或者 tempdb )里面了 
一个有用的例子:(查询表的创建者) 
SELECT   owner   FROM    DBA_ALL_TABLES   WHERE   table_name=upper(‘表名‘);

Oracle数据库的系统参数都存储在数据库中,可以通过SQLPLUS,以用户SYSYTEM进行查询。

1.几个重要的表或者视图如下:

v$controlfile:控制文件的信息;

v$datafile:数据文件的信息;

v$log:日志文件的信息;

v$process:处理器的信息;

v$session:会话信息;

v$transaction:事务信息;

v$resource:资源信息;

v$sga:系统全局区的信息。

上面的视图名中的‘v$’,只是视图名字中的字符。类似于上面的视图或表还有很多,位于:

$ORACLE_HOME/RDBMS/ADMIN/CATALOG.SQL文件中。

这些视图或表可以在SQLPLUS中用SELECT语句进行查询。

2.数据字典视图

表和列

DBA_TABLES、ALL_TABLES和USER_TABLES显示了有关数据库表的一般信息。

DBA_TAB_COLUMNS、ALL_TAB_COLUMNS和USER_TAB_COLUMNS显示了每个数据库表的列的信息。

注意:DBA_OBJECTS、ALL_OBJECTS和USER_OBJECTS显示了模式对象的信息,包括表。

完整性约束

DBA_CONSTRAINTS、ALL_CONSTRAINTS和USER_CONSTRAINST显示有关约束的一般信息。

DBA_CONS_COL

相关推荐