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

来源:互联网 发布:海量数据存储 书 编辑:程序博客网 时间:2024/05/08 10:08
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
------------------------------ ---------------- --------
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 鱼咸了怎么办怎么补救 工作干不下去了怎么办 长治限行外地车怎么办 低压电工证丢了怎么办 秘讯密语是骗局,怎么办 公司不给小产假怎么办? 吃饭要发票不给怎么办 客厅吊灯买大了怎么办 贝聊等登不上去怎么办 酒店订错了时间怎么办 辞职后奖金不发怎么办 小孩被水母蛰了怎么办 被剧毒水母蛰了怎么办 被水母蛰了很痒怎么办 ipo被否了将来怎么办 科技布沙发裂了怎么办 35岁皮肤皱纹多怎么办 22岁皮肤皱纹多怎么办 腿上皮肤皱纹多怎么办 16岁皮肤有皱纹怎么办 28岁皮肤有皱纹怎么办 眼睛上有血管翳怎么办 鸽子家飞时间短怎么办 宝宝吃母乳不吃奶瓶怎么办 邮件群发超50人怎么办 鸽子拉白色水便怎么办 进京没办进京证怎么办 吃海鲜喝牛奶了怎么办 煎牛排油少了怎么办 网上订酒店去后怎么办 澳洲语言班没过怎么办 照片粘在玻璃上怎么办 照片粘玻璃上怎么办啊 个人3月旅游签证怎么办 澳洲签证拒签了怎么办 我想买房子可是没钱怎么办 微信身份证17位怎么办 身份证后4位泄露怎么办 车牌照掉了一个怎么办 车牌螺丝孔坏了怎么办 借了贷款还不起怎么办