ORACLE启动关闭
1单机环境
想启动关闭ORACLE系统必须首先切换ORACLE户
su oracle
a启动ORACLE系统
oracle>svrmgrl
SVRMGR>connect internal
SVRMGR>startup
SVRMGR>quit
b关闭ORACLE系统
oracle>svrmgrl
SVRMGR>connect internal
SVRMGR>shutdown
SVRMGR>quit
启动oracle9i数库命令:
sqlplus nolog
SQL*Plus Release 92010 Production on Fri Oct 31 135353 2003
Copyright (c) 1982 2002 Oracle Corporation All rights reserved
SQL> connect as sysdba
Connected to an idle instance
SQL> startup^C
SQL> startup
ORACLE instance started
2双机环境
想启动关闭ORACLE系统必须首先切换root户
su - root
a启动ORACLE系统
hareg -y oracle
b关闭ORACLE系统
hareg -n oracle
Oracle数库种启动方式
说明:
种启动方式:
1startup nomount
非安装启动种方式启动执行:重建控制文件重建数库
读取initora文件启动instance启动SGA台进程种启动需initora文件
2startup mount dbname
安装启动种方式启动执行:
数库日志档
数库介质恢复
数文件联机脱机
重新定位数文件重做日志文件
执行nomount然开控制文件确认数文件联机日志文件位置
时数文件日志文件进行校验检查
3startup open dbname
先执行nomount然执行mount开包括Redo log文件数库文件
种方式访问数库中数
4startup等三命令
startup nomount
alter database mount
alter database open
5startup restrict
约束方式启动
种方式够启动数库允许具定特权户访问
非特权户访问时会出现提示:
ERROR:
ORA01035 ORACLE 允许具 RESTRICTED SESSION 权限户
6startup force
强制启动方式
关闭数库时startup force完成数库关闭
先关闭数库执行正常启动数库命令
7startup pfile参数文件名
带初始化参数文件启动方式
先读取参数文件参数文件中设置启动数库
例:startup pfileEOracleadminoradbpfileinitora
8startup EXCLUSIVE
二户效利数字典
ORACLE数字典数库重组成部分着数库产生产生 着数库变化变化
体现sys户表视图数字典名称写英文字符
数字典里存户信息户权限信息数象信息表约束条件统计分析数库视图等
手工修改数字典里信息
时候般ORACLE户知道效利
dictionary 全部数字典表名称解释义词dict
dict_column 全部数字典表里字段名称解释
果想查询索引关数字典时面条SQL语句
SQL>select * from dictionary where instr(comments'index')>0
果想知道user_indexes表字段名称详细含义面条SQL语句
SQL>select column_namecomments from dict_columns where table_name'USER_INDEXES'
类推轻松知道数字典详细名称解释查ORACLE文档资料
面类列出ORACLE户常数字典查询方法
1户
查前户缺省表空间
SQL>select usernamedefault_tablespace from user_users
查前户角色
SQL>select * from user_role_privs
查前户系统权限表级权限
SQL>select * from user_sys_privs
SQL>select * from user_tab_privs
2表
查户表
SQL>select * from user_tables
查名称包含log字符表
SQL>select object_nameobject_id from user_objects
where instr(object_name'LOG')>0
查某表创建时间
SQL>select object_namecreated from user_objects where object_nameupper('&table_name')
查某表
SQL>select sum(bytes)(1024*1024) as size(M) from user_segments
where segment_nameupper('&table_name')
查放ORACLE存区里表
SQL>select table_namecache from user_tables where instr(cache'Y')>0
3索引
查索引数类
SQL>select index_nameindex_typetable_name from user_indexes order by table_name
查索引索引字段
SQL>select * from user_ind_columns where index_nameupper('&index_name')
查索引
SQL>select sum(bytes)(1024*1024) as size(M) from user_segments
where segment_nameupper('&index_name')
4序列号
查序列号last_number前值
SQL>select * from user_sequences
5视图
查视图名称
SQL>select view_name from user_views
查创建视图select语句
SQL>set view_nametext_length from user_views
SQL>set long 2000 说明:根视图text_length值设定set long
SQL>select text from user_views where view_nameupper('&view_name')
6义词
查义词名称
SQL>select * from user_synonyms
7约束条件
查某表约束条件
SQL>select constraint_name constraint_typesearch_condition r_constraint_name
from user_constraints where table_name upper('&table_name')
SQL>select cconstraint_namecconstraint_typecccolumn_name
from user_constraints cuser_cons_columns cc
where cowner upper('&table_owner') and ctable_name upper('&table_name')
and cowner ccowner and cconstraint_name ccconstraint_name
order by ccposition
8存储函数程
查函数程状态
SQL>select object_namestatus from user_objects where object_type'FUNCTION'
SQL>select object_namestatus from user_objects where object_type'PROCEDURE'
查函数程源代码
SQL>select text from all_source where owneruser and nameupper('&plsql_name')
三查数库SQL
1查表空间名称
select ttablespace_name round(sum(bytes(1024*1024))0) ts_size
from dba_tablespaces t dba_data_files d
where ttablespace_name dtablespace_name
group by ttablespace_name
2查表空间物理文件名称
select tablespace_name file_id file_name
round(bytes(1024*1024)0) total_space
from dba_data_files
order by tablespace_name
3查回滚段名称
select segment_name tablespace_name rstatus
(initial_extent1024) InitialExtent(next_extent1024) NextExtent
max_extents vcurext CurExtent
From dba_rollback_segs r vrollstat v
Where rsegment_id vusn(+)
order by segment_name
4查控制文件
select name from vcontrolfile
5查日志文件
select member from vlogfile
6查表空间情况
select sum(bytes)(1024*1024) as free_spacetablespace_name
from dba_free_space
group by tablespace_name
SELECT ATABLESPACE_NAMEABYTES TOTALBBYTES USED CBYTES FREE
(BBYTES*100)ABYTES USED(CBYTES*100)ABYTES FREE
FROM SYSSMTS_AVAIL ASYSSMTS_USED BSYSSMTS_FREE C
WHERE ATABLESPACE_NAMEBTABLESPACE_NAME AND ATABLESPACE_NAMECTABLESPACE_NAME
7查数库库象
select owner object_type status count(*) count# from all_objects group by owner object_type status
8查数库版
Select version FROM Product_component_version
Where SUBSTR(PRODUCT16)'Oracle'
9查数库创建日期档方式
Select Created Log_Mode Log_Mode From VDatabase
四ORACLE户连接理
系统理员查前数库户连接:
SQL> select usernamesidserial# from vsession
果停某连接
SQL> alter system kill session 'sidserial#'
果命令行找UNIX进程数
SQL> select prospid from vsession sesvprocess pro where sessid21 and sespaddrproaddr
说明:21某连接sid数
然 kill 命令杀进程号
五SQL*PLUS
a入SQL*Plus
sqlplus 户名密码
退出SQL*Plus
SQL>exit
bsqlplus帮助信息
列出全部SQL命令SQL*Plus命令
SQL>help
列出某特定命令信息
SQL>help 命令名
c显示表结构命令DESCRIBE
SQL>DESC 表名
dSQL*Plus中编辑命令
显示SQL缓区命令
SQL>L
修改SQL命令
首先改正行变前行
SQL>n
CHANGE命令修改容
SQL>c旧新
重新确认否已正确
SQL>L
INPUT命令SQL缓区中增加行行
SQL>i
SQL>输入容
e调外部系统编辑器
SQL>edit 文件名
DEFINE命令设置系统变量EDITOR改变文编辑器类型loginsql文件中定义行
DEFINE_EDITORvi
f运行命令文件
SQL>START test
SQL>@test
常SQL*Plus语句
a表创建修改删
创建表命令格式:
create table 表名 (列说明列表)
基表增加新列命令:
ALTER TABLE 表名 ADD (列说明列表)
例:test表增加列Age存放年龄
sql>alter table test
add (Age number(3))
修改基表列定义命令:
ALTER TABLE 表名
MODIFY (列名 数类型)
例:test表中Count列宽度加长10字符
sql>alter atble test
modify (County char(10))
b张表删语句格式:
DORP TABLE 表名
例:表删时删表数表定义
sql>drop table test
c表空间创建删
六ORACLE逻辑备份SH文件
完全备份SH文件:exp_compsh
rq` date +md `
su oracle c exp systemmanager fully inctypecomplete fileoracleexportdb_comprqdmp
累计备份SH文件:exp_cumush
rq` date +md `
su oracle c exp systemmanager fully inctypecumulative fileoracleexportdb_cumurqdmp
增量备份SH文件 exp_incrsh
rq` date +md `
su oracle c exp systemmanager fully inctypeincremental fileoracleexportdb_incrrqdmp
root户crontab文件
varspoolcroncrontabsroot增加容
0 2 1 * * oracleexp_compsh
30 2 * * 05 oracleexp_incrsh
45 2 * * 6 oracleexp_cumush
然时间表根需求改变例子
七ORACLE 常SQL语法数象
数控制语句 (DML) 部分
1INSERT (数表里插入记录语句)
INSERT INTO 表名(字段名1 字段名2 ……) VALUES ( 值1 值2 ……)
INSERT INTO 表名(字段名1 字段名2 ……) SELECT (字段名1 字段名2 ……) FROM 外表名
字符串类型字段值必须单引号括起 例 ’GOOD DAY’
果字段值里包含单引号’ 需进行字符串转换 换成两单引号''
字符串类型字段值超定义长度会出错 插入前进行长度校验
日期字段字段值前数库系统时间SYSDATE 精确秒
者字符串转换成日期型函数TO_DATE(20010801’’YYYYMMDD’)
TO_DATE()种日期格式 参ORACLE DOC
年月日 时分钟秒 格式YYYYMMDD HH24MISS
INSERT时操作字符串长度等4000单字节 果插入更长字符串 请考虑字段CLOB类型
方法ORACLE里带DBMS_LOB程序包
INSERT时果1开始动增长序列号 应该先建立序列号
CREATE SEQUENCE 序列号名称 (表名+序列号标记) INCREMENT BY 1 START WITH 1
MAXVALUE 99999 CYCLE NOCACHE
中值字段长度定 果定义动增长序列号 NUMBER(6) 值999999
INSERT 语句插入字段值 序列号名称NEXTVAL
2DELETE (删数表里记录语句)
DELETE FROM表名 WHERE 条件
注意:删记录释放ORACLE里占数块表空间 删数块标成unused
果确实删表里全部记录 TRUNCATE 命令 释放占数块表空间
TRUNCATE TABLE 表名
操作回退
3UPDATE (修改数表里记录语句)
UPDATE表名 SET 字段名1值1 字段名2值2 …… WHERE 条件
果修改值N没赋值定义时 原记录容清NULL 修改前进行非空校验
值N超定义长度会出错 插入前进行长度校验
注意事项
A SQL语句表加行级锁
确认完成 必须加事物处理结束命令 COMMIT 正式生效
否改变定写入数库里
果想撤回操作 命令 ROLLBACK 复原
B 运行INSERT DELETE UPDATE 语句前估算操作记录范围
应该限定较 (万条记录) 范围 否ORACLE处理事物回退段
程序响应慢甚失响应 果记录数十万操作 SQL语句分段分次完成
间加COMMIT 确认事物处理
二数定义 (DDL) 部分
1CREATE (创建表 索引 视图 义词 程 函数 数库链接等)
ORACLE常字段类型
CHAR 固定长度字符串
VARCHAR2 变长度字符串
NUMBER(MN) 数字型M位数总长度 N数长度
DATE 日期类型
创建表时较空字段放前面 空字段放面
创建表时中文字段名 英文字段名
创建表时字段加默认值 例 DEFAULT SYSDATE
样次插入修改时 程序操作字段动作时间
创建表时字段加约束条件
例 允许重复 UNIQUE 关键字 PRIMARY KEY
2ALTER (改变表 索引 视图等)
改变表名称
ALTER TABLE 表名1 TO 表名2
表面增加字段
ALTER TABLE表名 ADD 字段名 字段名描述
修改表里字段定义描述
ALTER TABLE表名 MODIFY字段名 字段名描述
表里字段加约束条件
ALTER TABLE 表名 ADD CONSTRAINT 约束名 PRIMARY KEY (字段名)
ALTER TABLE 表名 ADD CONSTRAINT 约束名 UNIQUE (字段名)
表放取出数库存区
ALTER TABLE 表名 CACHE
ALTER TABLE 表名 NOCACHE
3DROP (删表 索引 视图 义词 程 函数 数库链接等)
删表约束条件
DROP TABLE 表名 CASCADE CONSTRAINTS
4TRUNCATE (清空表里记录 保留表结构)
TRUNCATE 表名
三查询语句 (SELECT) 部分
SELECT字段名1 字段名2 …… FROM 表名1 [表名2 ……] WHERE 条件
字段名带入函数
例 COUNT(*) MIN(字段名) MAX(字段名) AVG(字段名) DISTINCT(字段名)
TO_CHAR(DATE字段名'YYYYMMDD HH24MISS')
NVL(EXPR1 EXPR2)函数
解释
IF EXPR1NULL
RETURN EXPR2
ELSE
RETURN EXPR1
DECODE(AA﹐V1﹐R1﹐V2﹐R2)函数
解释
IF AAV1 THEN RETURN R1
IF AAV2 THEN RETURN R2
…
ELSE
RETURN NULL
LPAD(char1nchar2)函数
解释
字符char1制定位数n显示足位数char2字符串换左边空位
字段名间进行算术运算
例 (字段名1*字段名1)3
查询语句嵌套
例 SELECT …… FROM
(SELECT …… FROM表名1 [表名2 ……] WHERE 条件) WHERE 条件2
两查询语句结果做集合操作
例 集UNION(掉重复记录) 集UNION ALL(掉重复记录) 差集MINUS 交集INTERSECT
分组查询
SELECT字段名1 字段名2 …… FROM 表名1 [表名2 ……] GROUP BY字段名1
[HAVING 条件]
两表间连接查询
SELECT字段名1 字段名2 …… FROM 表名1 [表名2 ……] WHERE
表名1字段名 表名2 字段名 [ AND ……]
SELECT字段名1 字段名2 …… FROM 表名1 [表名2 ……] WHERE
表名1字段名 表名2 字段名(+) [ AND ……]
(+)号字段位置动补空值
查询结果集排序操作 默认排序升序ASC 降序DESC
SELECT字段名1 字段名2 …… FROM 表名1 [表名2 ……]
ORDER BY字段名1 字段名2 DESC
字符串模糊较方法
INSTR(字段名 字符串’)>0
字段名 LIKE 字符串’ [字符串’]
表隐含字段ROWID 标记着记录唯性
四ORACLE里常数象 (SCHEMA)
1索引 (INDEX)
CREATE INDEX 索引名ON 表名 ( 字段1 [字段2 ……] )
ALTER INDEX 索引名 REBUILD
表索引超三 (特殊表外) 单字段索引 结合SQL语句分析执行情况
建立字段组合索引基函数索引
ORACLE817字符串索引长度1578 单字节
ORACLE806字符串索引长度758 单字节
2视图 (VIEW)
CREATE VIEW 视图名AS SELECT … FROM …
ALTER VIEW视图名 COMPILE
视图仅SQL查询语句 表间复杂关系简洁化
3义词 (SYNONMY)
CREATE SYNONYM义词名FOR 表名
CREATE SYNONYM义词名FOR 表名@数库链接名
4数库链接 (DATABASE LINK)
CREATE DATABASE LINK数库链接名CONNECT TO 户名 IDENTIFIED BY 密码 USING 数库连接字符串’
数库连接字符串NET8 EASY CONFIG者直接修改TNSNAMESORA里定义
数库参数global_nametrue时求数库链接名称远端数库名称样
数库全局名称命令查出
SELECT * FROM GLOBAL_NAME
查询远端数库里表
SELECT …… FROM 表名@数库链接名
五权限理 (DCL) 语句
1GRANT 赋权限
常系统权限集合三
CONNECT(基连接) RESOURCE(程序开发) DBA(数库理)
常数象权限五
ALL ON 数象名 SELECT ON 数象名 UPDATE ON 数象名
DELETE ON 数象名 INSERT ON 数象名 ALTER ON 数象名
GRANT CONNECT RESOURCE TO 户名
GRANT SELECT ON 表名 TO 户名
GRANT SELECT INSERT DELETE ON表名 TO 户名1 户名2
2REVOKE 回收权限
REVOKE CONNECT RESOURCE FROM 户名
REVOKE SELECT ON 表名 FROM 户名
REVOKE SELECT INSERT DELETE ON表名 FROM 户名1 户名2
查询数库中第63号错误:
select orgaddrdestaddr from sm_histable0116 where error_code'63'
查询数库中开户户提交发数: select MSISDNTCOSOCOS from ms_usertable
查询数库中种错误代码总:
select error_codecount(*) from sm_histable0513 group by error_code order
by error_code
查询报表数库中话单统计种类查询
select sum(Successcount) from tbl_MiddleMt0411 where ServiceType2111
select sum(successcount)servicetype from tbl_middlemt0411 group by servicetype
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档