oracle命令行执行工具,Oracle命令行工具基本操作及SQL 命令

1. 基本概念

1.1. 数据类型

基本数据类型(NUMBER,VARCHAR2,DATE)

O RACEL支持下列内部数据类型:

VARCHAR2 变长字符串,最长为2000 字符。

NUMBER 数值型。

LONG 变长字符数据,最长为2G字节。

DATE 日期型。

RAW 二进制数据,最长为255字节。

LONG RAW 变长二进制数据,最长为2G字节。

ROWID 二六进制串,表示表的行的唯一地址。

CHAR 定长字符数据,最长为255。

2. SQL*PLUS

这是个Oracle提供的最常用,也是最好用的sql命令执行工具。

2.1. 数据库系统管理

2.1.1. 登录

C:> sqlplusw

C:> sqlplus /nolog

SQL> conn

username/password@Oranet

如,system登录

第 2 页 共 9 页

SQL> conn

system/systempwd@whfc

如果要行一些只有sysdba才能执行的命令,必须以sysdba特权登录:

SQL> conn

sys/syspwd@whfc as sysdba

2.1.2. 创建表空间

必须有CREATE TABLESPACE 特权的用户才能创建表空间,比如system

和sys用户。

SQL> conn

system@whfc01 请输入口令: 已连接。 SQL> create tablespace ts_test datafile '/data2/oradata/ciis/ts_test01.dbf' size 10m ; 表空间已创建。 2.1.3. 添加数据文件 SQL> alter tablespace ts_test add datafile '/data2/oradata/ciis/ts_test02.dbf' size 10m ; 表空间已更改。 2.1.4. 查看表空间大小 SQL> DESC DBA_DATA_FILES 名称 是否为空? 类型 -------------------- -------- -------------- FILE_NAME VARCHAR2(513) FILE_ID NUMBER TABLESPACE_NAME VARCHAR2(30) BYTES NUMBER BLOCKS NUMBER 第 3 页 共 9 页 STATUS VARCHAR2(9) RELATIVE_FNO NUMBER AUTOEXTENSIBLE VARCHAR2(3) MAXBYTES NUMBER MAXBLOCKS NUMBER INCREMENT_BY NUMBER USER_BYTES NUMBER USER_BLOCKS NUMBER SQL> SELECT TABLESPACE_NAME,SUM(BYTES)/1024/1024 M 2 FROM DBA_DATA_FILES 3 GROUP BY TABLESPACE_NAME; TABLESPACE_NAME M -------------------- ---------- DEVELOP1 8000 DEVELOP2 14336 DEVELOPINDEX 4106 DRSYS 20 EXAMPLE 145.625 INDX 25 ODM 20 SYSTEM 1024 TOOLS 10 TS_CI_13 4094 TS_CI_32 4094 TS_CI_33 2047 TS_II_13 2047 TS_II_32 2047 TS_PI_1301 2047 第 4 页 共 9 页 TS_PI_1302 2047 TS_PI_3201 2047 TS_TEST 20 UNDOTBS1 5048 USERS 25 XDB 38.125 已选择21 行。 SQL> SELECT TABLESPACE_NAME,SUM(BYTES)/1024/1024 M 2 FROM DBA_DATA_FILES 3 WHERE TABLESPACE_NAME='TS_TEST' 4 GROUP BY TABLESPACE_NAME; TABLESPACE_NAME M -------------------- ---------- TS_TEST 20 2.1.5. 查看自由(剩余)表空间大小 SQL> desc DBA_FREE_SPACE 名称 是否为空? 类型 ---------------------- -------- --------------- TABLESPACE_NAME VARCHAR2(30) FILE_ID NUMBER BLOCK_ID NUMBER BYTES NUMBER BLOCKS NUMBER RELATIVE_FNO NUMBER 第 5 页 共 9 页 SQL> SELECT TABLESPACE_NAME,SUM(BYTES)/1024/1024 M 2 FROM DBA_FREE_SPACE 3 WHERE tablespace_name='TS_TEST' 4 GROUP BY TABLESPACE_NAME; TABLESPACE_NAME M -------------------- ---------- TS_TEST 19.6875 2.1.6. 创建新用户 SQL> create user test identified by test default tablespace ts_test temporary tablespace temp; 用户已创建 2.1.7. 给用户角色特权 SQL> grant connect,resource to test; 授权成功。 2.2. 用户数据对象 2.2.1. 查看当前用户表名 SQL> select * from tab; TNAME TABTYPE CLUSTERID ------------------------------ ------- ---------- BONUS TABLE CC TABLE DEPT TABLE 第 6 页 共 9 页 EMP TABLE EMP_IOT TABLE SALGRADE TABLE 已选择6 行。 2.2.2. 创建数据表 SQL> CREATE TABLE book ( 2 bookid NUMBER(18), 3 bookname VARCHAR2(80) NOT NULL, 4 author VARCHAR2(40), 5 price NUMBER(6,2) 6 ); 表已创建。 2.2.3. 创建索引 SQL> CREATE INDEX idx_book_bookid ON book(bookname); 索引已创建。 2.2.4. 创建主键约束 SQL> ALTER TABLE book ADD CONSTRAINT pk_book_bookid PRIMARY KEY (bookid); 表已更改。 2.2.5. 显示表结构 SQL> desc book 名称 是否为空? 类型 ------------------------------ -------- ---------------------- 第 7 页 共 9 页 BOOKID NOT NULL NUMBER(18) BOOKNAME NOT NULL VARCHAR2(80) AUTHOR VARCHAR2(40) PRICE NUMBER(6,2) 2.2.6. 查看表的索引 SQL> column index_name format a30 SQL> select table_name, index_name from user_indexes; TABLE_NAME INDEX_NAME ------------------------------ ------------------------ BOOK IDX_BOOK_BOOKNAME BOOK PK_BOOK_BOOKID 2.2.7. 查看索引列 SQL> select table_name, index_name, column_name, column_position from user_ind_columns; TABLE_NAME INDEX_NAME COLUMN_NAME COLUMN_POSITION -------------- ------------------- -------------- --------------- BOOK PK_BOOK_BOOKID BOOKID 1 BOOK IDX_BOOK_BOOKNAME BOOKNAME 1 2.2.8. 查看数据段占空间大小 数据段包括表、索引、分区等。 SQL> desc user_segments 名称 是否为空? 类型 -------------------- -------- ------------------------ 第 8 页 共 9 页 SEGMENT_NAME VARCHAR2(81) PARTITION_NAME VARCHAR2(30) SEGMENT_TYPE VARCHAR2(18) TABLESPACE_NAME VARCHAR2(30) BYTES NUMBER BLOCKS NUMBER EXTENTS NUMBER INITIAL_EXTENT NUMBER NEXT_EXTENT NUMBER MIN_EXTENTS NUMBER MAX_EXTENTS NUMBER PCT_INCREASE NUMBER FREELISTS NUMBER FREELIST_GROUPS NUMBER BUFFER_POOL VARCHAR2(7) SQL> select segment_name,segment_type,bytes from user_segments; SEGMENT_NAME SEGMENT_TYPE BYTES ------------------------------ --------------- --------- BOOK TABLE 65536 IDX_BOOK_BOOKNAME INDEX 65536 PK_BOOK_BOOKID INDEX 65536 第 9 页 共 9 页 2.2.9. 查看表占空间大小 SQL> select segment_name,segment_type,bytes from user_segments where segment_type='TABLE'; SEGMENT_NAME SEGMENT_TYPE BYTES ------------------------------ ---------------- -------- BOOK TABLE 65536

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值