oracle有sysdata,Oracle基础

1、默认事例:

用户名:scott密码:tiger 主机字符串:本机可以为空

2、启动方法:

运行:sqlplusscott/tiger@lhd

3、SQLPLUS基本命令:

Desc:显示表、视图结构  desc 表名,视图

List:列出SQL缓冲区区中的一行或多行命令语句

Exit:退出

4、常用的数据字典(三种前缀:USER,ALL,DBA)

USER_TABLES:用户所有表信息

USER_VIEWS:用户所有视图

USER_CONSTRAINTS:记录创建表结构的约束

USER_DEPENDENCIES:记录用户表之间的关系及自定义类型之间的关系

USER_TAB_COLUMNS:有关各表的列信息

USER_TRIGGERS:用户触发器的信息

5、显示控制:

set linesize 500

set pagesize 100

"/"与"run"执行刚才执行的语句、也可以用“r”

"分号"代表语句结束提交到后台执行

6、设置时间输出格式:

alter session set NLS_date_format='YYYY-MM-DD'

7、清屏:clear screen

8、查询某用户下的表名:

SELECT * FROM dba_tables WHERE owner='HSA6'

9、查询有几个用户

select * from dba_users

10、导入DMP格式数据:

1).新建成表空间和用户名

2).impsystem/123456@orclfile='d:/data/test.dmp' log='d:/data/test.log' fromuser='hsa6' touser='hsa7'

fromuser是指dmp格式包中的某表空间的用户,TOUSER 是指要导入的表空间的用户

11、更改某值:

sqlserver:

update ca_company set dwmc=substring(dwmc,1,2)+'B'+substring(dwmc,4,10)

oracle:

UPDATE ca_company SET c4='b'|| substr(c4,2,LENGTH(c4)) WHERE c4 LIKE 'a%'

查询系统所有用户:select distince owner from dba_segments;

查看与多少个表空间:select   tablespace_name from dba_tablespaces;

查看表空间有多少个表:select   tablespace_name,bytes/1024/1024 file_size_mb file_name    from dba_data_files;

1.连接:sqlplusscott/tiger@oracle或者 sqlplus / as sysdba;

2.退出:quit或exit;

3.查看当前用户:show user;

4.重新连接:/ as sysdba;

5.创建表空间:create tablespace sales datafile 'd:/hello.dbf' size 4m;

6.查看当前时间:select sysdata from daul(有select   必有from);

7.查看表结构:desc dual (虚表);

8.创建用户名和密码:create user rose identified by rose;

9.授权( 使用oracle的资源): grant dba,connect,resource to rose;

10.用户登陆:connect   rose/rose;

11.锁定用户:alter user rose account lock;

12.解锁用户:alter user rose account unlock;

13. 删除用户:drop user rose;

14.在线:alter tablespace sales online;

15.离线:alter tablespace sales offline;

16.修改密码:alter user rose identified by rose "012";

17.将表放到指定的表空间里:create table dept(did int) tablespace sales;

18.查询指定的表在哪个表空间里:select tablespace_name from user_table where table_name="DEPT"(这里表空间的名字要大写);

19.给表空间增加数据文件:alter tablespace sales add datafile 'd:/hello02.dbf' size 2m autoextend on next 6m;

20.修改大小:alter tablespace   datafile 'd:/hello.dbf' resize 30m;

21.只读:alter tablespace sales read only;

22. 可读可写:alter tablespace sales read write;

23.移动表空间数据文件步骤:(1):使表空间脱机

(2):修改数据文件的名称

(3):执行 olter tablespace rename datafile 'c:/sales01.dbf'to 'd:/*.dbf'

可以有多个数据文件,但是源文件,要在to的左边,目的文件要在to的右边,文件名之间用逗号分割

(4):使用表空间连机

(5):查询dba_data_files 确认成功

24.创建用户指定默认的表空间磁盘配额:

create user rose identified by rose default tablespace sales quota 10m on sales;

25.删除表空间同时删除数据文件:drop tablespace sales including contents and datafiles;

26.查看当前用户每个表占用空间的大小:

create segment_name,sum(bytes)/1024/1024 mb from user_extents group by segment name;

27.查看每个表空间占用空间的大小:

select tablespace_name,sum(bytes)/1024/1024 mb from dba_segments group by tablespace_name;

-- 查看ORACLE 数据库中本用户下的所有表

SELECT table_name FROM user_tables;

-- 查看ORACLE 数据库中所有用户下的所有表

select user,table_name from all_tables;

-- 查看ORACLE 数据库中本用户下的所有列

select table_name,column_name from user_tab_columns;

-- 查看ORACLE 数据库中所有用户下的所有列

select user,table_name,column_name from all_tab_columns;

-- 查看ORACLE 数据库中的序列号

select * from user_sequences;

-- 上面的所有对象,都可以通过下面的SQL语句查询得到

-- 查询所有的用户生成的ORACLE对象

SELECT * FROM user_objects;

-- 查看ORACLE 数据库中所有表的注释

select table_name,comments from user_tab_comments;

-- 查看ORACLE 数据库中所有列的注释

select table_name,column_name,comments from user_col_comments;

-- 给表加ORACLE的注释

COMMENT ON TABLE aa10 IS '系统参数表';

-- 给列加ORACLE的注释

COMMENT ON COLUMN aa10.aaa100 IS '参数类别';

-- 查看表中列的属性,包括 数据类型,是否非空等

DESC aa10;

-- 通过系统表,查看表中列的属性,包括 数据类型,是否非空等

SELECT table_name,COLUMN_ID,column_name,data_type,data_length, DATA_PRECISION,NULLABLE

FROM user_tab_columns

ORDER BY table_name,COLUMN_ID;

-- 查看数据库中表、索引占用的数据库空间大小

SELECT * FROM user_segments;

-- 查看所有表的记录数

CREATE TABLE table_count(table_name VARCHAR2(50),columns NUMBER(20));

-- 通过PB运行下面的语句,得到结果集,将结果集在PB下执行,最后提交

select 'insert into table_count values('''||table_name||''', (select count(1) from '||table_name||'));//'||comments from user_tab_comments;

-- 所有表的记录都在table_count了

SELECT * FROM table_count;

// 将ORACLE数据库的注释同步到PB中 代码开始

DELETE FROM PBCATCOL WHERE PBC_TNAM LIKE '%';

DELETE FROM PBCATTBL WHERE PBT_TNAM LIKE '%';

INSERT INTO PBCATTBL

( PBT_TNAM,

PBT_OWNR ,

PBT_CMNT)

SELECT ALL_TAB_COMMENTS.TABLE_NAME,

ALL_TAB_COMMENTS.OWNER,

ALL_TAB_COMMENTS.COMMENTS

FROM ALL_TAB_COMMENTS

WHERE ALL_TAB_COMMENTS.OWNER = 'LH'

AND TABLE_NAME LIKE '%';

// 同步字段名

INSERT INTO PBCATCOL

( PBC_TNAM,

PBC_OWNR,

PBC_CNAM,

PBC_LABL,

PBC_CMNT,

PBC_HDR)

SELECT ALL_COL_COMMENTS.TABLE_NAME,

ALL_COL_COMMENTS.OWNER,

ALL_COL_COMMENTS.COLUMN_NAME,

ALL_COL_COMMENTS.COMMENTS ,

ALL_COL_COMMENTS.COMMENTS ,

ALL_COL_COMMENTS.COMMENTS

FROM ALL_COL_COMMENTS

WHERE ALL_COL_COMMENTS.OWNER = 'LH'

AND TABLE_NAME LIKE '%';

COMMIT;

-- 将ORACLE数据库的注释同步到PB中 代码结束

--将PB注释同步到ORACLE中

select 'comment on table '||pbt_tnam||' is '''||pbt_cmnt||''';' from pbcattbl where pbt_tnam not like 'PB%'

UNION

select 'comment on column '||pbc_tnam||'.'||pbc_cnam||' is '''||pbc_cmnt||''';' from pbcatcol where pbC_tnam not like 'PB%';

--查进程

select object_id,session_id,locked_mode from v$locked_object;

select t2.username,t2.sid,t2.serial#,t2.logon_time

from v$locked_object t1,v$session t2

where t1.session_id=t2.sid order by t2.logon_time;

--杀进程 alter system kill session '3,6666';

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值