ORACLE实战笔记

发布 2021-05-11 23:10:28 阅读 8195

一、常用命令:

1、启动***。

c:\lsnrctl

lsnrctl>lsnrctl start

2、停止***。

c:\lsnrctl

lsnrctl>lsnrctl stop

3、查看***状态。

c:\lsnrctl

lsnrctl> status

4、启动数据库。

c:\sqlplus system/yxb as sysdba

sql>startup

5、关闭数据库。

c:\sqlplus system/yxb as sysdba

sql>shutdown immediate

6、查看归档状态。

sql>archive log list;

7、 改数据库的启动方式为archive归档方式。

sql>shutdown immediate;

sql>startup mount;

sql>alter database [database_name] archivelog;

sql>archive log list;

sql>alter database open;

备注:设置数据库开启后自动启动archive进程。

改参数文件中:

log_archive_start=true

log_archive_dest=directory or device name

log_archive_format=filename format

再重新启动数据库,即可。

常见错误:ora-01033:oracle shutdown in progress的错误提示。

原因: 是说在初始化或者在关闭中。

问题:1、为什么每次我要连接到自己的数据库的时候总是出现ora-01033:oracle initialization or shutdown in progress的错误提示啊!

解答:a、数据库正在启动或正在关闭,等一下就好了。

b、oracle 正在初始化或关闭中。

方法1. 等待。

方法2. 重来。

方法3. 控制面板 ->管理工具 ->服务 —>oracleserviceoradata 有没有启动~

oradata 是数据库名,不同的机子都不同呀,在安装数据库时定的^&^

启动就可以了~

如果有什么出错的话~ 就直接打开 dba studio 用system/manager 以 sysdba 的身份登录。

之后选例程-> 数据库 ->启动 (然后单击"应用",就可以启动啦)

3、运行sqlplus /nolog

conn username/password as sysdba

提示“oracle连接到空闲例程。”

再shutdown [abort]一次,

再startup一次。

8、 改数据库的启动方式为noarchivelog归档方式。

sql>shutdown immediate;

sql>startup mount;

sql>alter database [db_name] noarchivelog;

sql>archive log list;

sql>alter database open;

9、启动监听配置命令:cmd下输入netca

10、数据库配置命令:cmd下输入dbca

11、exp数据导出命令:

a、实例:exp 数据库登录用户名/数据库登录密码@登录的数据库实例名 grants=y(导出权限) file=g:\hybak\文件名以及文件存放的地方) owner=spborcl(导出的用户名)

b、常见问题:

exp-00002 写入导出文件时出错。

1、磁盘空间或权限不足;

2、如果磁盘空间足够,数据文件出现在4g大小的时候出错,则检查磁盘是否为fat32格式。

备注:文件写入错误,fat32文件系统中,文件最大不能超过4gb!

导数据提示:data truncation 错误。

数据库相应字段长度,根据题示信息是字符串变量在存储时被右截断了。

12、imp命令:

imp system/password file= fromuser=xx touser=xx tables=(tablename)

13、创建表空间:

create tablespace jfxt

datafile 'd:\oradata\'

size 512m autoextend on;

-创建用户。

create user yygl identified by yygl

default tablespace jfxt

temporary tablespace temp

profile default;

-用户授权。

grant aq_administrator_role to yygl with admin option;

grant dba to yygl with admin option;

grant unlimited tablespace to yygl with admin option;

14、数据库里面删表空间。

如果你的那个数据文件没有数据,则offline drop掉就可以把库open.

sql>startup mount

sql>alter database datafile ''d:\oracle\ora92\orcl\' offline drop;

sql>alter database open;

sql>drop tablespace 表空间名称 including contents;

16、修改数据库为联机和脱机状态;

sql>shutdown immediate;

sql>startup mount;

sql>alter database datafile 'sss\sss\ss\ss\' online; 联机状态;

sql>alter database datafile 'sss\sss\ss\ss\' offline; 脱机状态;

17、oracle sequence创建序列;

1、create sequence

你首先要有create sequence或者create any sequence权限,

create sequence emp_sequence

increment by 1 --每次加几个

start with 1 --从1开始计数

nomaxvalue --不设置最大值

nocycle --一直累加,不循环

cache 10;

update dual set id=emp_

18、处理重复数据。

*删除表family内重复列geoid的值*/

select * from family a

where familyid<(select max(familyid) from family

where

order by familyid

*处理重复数据*/

declare @max integer,@username varchar(16),pwd varchar(50),@id int

declare cur_rows cursor

local for select username,pwd,count(*)from uname

group by username,pwd

h**ing count(*)1

open cur_rows

fetch cur_rows into @username,@pwd,@max

while @@fetch_status=0

beginselect @max = max -1

set rowcount @max

delete from uname where username = username and pwd=@pwd

fetch cur_rows into @username,@pwd,@max

endclose cur_rows

set rowcount 0

*oracle删除重复数据rowid*/

select * from zlxmdjprice f1

where rowid in (select max(rowid) from zlxmdjprice f2

where and

and and xmid = 2000000002'

oracle笔记

1 查看表的结构 desc tabledescription 2 set timing on 打开操作表的时间记录。3 消除重复行 distinct 4 大小写不区分的是列名,而不是里面的数据。1 可以对某一列直接进行加减乘除。两列相加。2 如果有一列为null,所得结果也为空。使用nvl函数处理n...

Oracle笔记

第1页1.oracle 的使用 1.1.sqlplus 的命令 初始化表的位置 set nls lang american 设置编码才可以使用下面脚本 cd oracle home rdbms cd demo 我们目前使用的是oralce 9i 9201 版本 select from v versi...

oracle笔记

clear 清屏。col title for a20 设置title的字符最多有20个。oracle介绍。rdbsrdb 基本的存储结构是,二维表。表头。行。列。字段。sql的分类 dsl 关键字 select dml 操作 insert delete update ddl 定义 create dr...