Sql*Plus登陆方式
1.本地用户登录
C:>Sqlplus / as sysdba(同 C:>sqlplus “/as sysdba”其中10G版本之前需要加单或双引号),注未加双引号的需要在斜杠后加空格 或C:>sqlplus /nolog SQL>conn / as sysdba (连接本机数据库)
2.网络用户登录
C:>sqlplus username/password
3.远程用户登录
C:>sqlplus username/password@orcl—使用别名登陆
例:sqlplus klerp/klym2014@192.168.0.166(注:orcl为Net Manager中设置的服务名)
Oracle HANG后可能导致sqlplus无法连接数据库,可使用prelim选项连接。
语法如下:sqlplus -prelim “/as sysdba”
用户切换登陆
Conn 用户名/密码[AS SYSDBA]其中在中括号内为可选内容
新建用户
- 以管理员登陆:
sqlplus / as sysdba
(新建用户只能以数据库管理员权限进行)
2. 创建新的用户:create user xxx(用户名) identified by xxx(密码)
3. 授权新用户:grant connect,resource,dba to xxx
(用户名)—授予权的时候系统权限和对象权限不能同时写
Oracle中四个主要用户:
a. 超级管理员: sys/change_on_install
b. 普通管理员:system/manager
c. 普通用户:scott/tiger
d. 大数据用户:sh/sh
修改用户密码
1.打开cmd,输入sqlplus / as sysdba回车;
2.输入alter user sys identified by 新密码。
注意:新密码最好以字母开头,否则可能出现错误Ora-00988。有了这个方法后,只要自己对oracle服务器有管理员权限,不记得密码的时候就可以随意修改密码了。
解锁用户
SQL> ALTER USER scott ACCOUNT UNLOCK;
Oracle用户密码过期
处理方法及步骤:
1、查看用户的proifle是哪个,一般是default:
SELECT username,PROFILE FROM dba_users;
2、查看指定概要文件(如default)的密码有效期设置:
SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
3、将密码有效期由默认的180天修改成“无限制”:
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
修改之后不需要重启动数据库,会立即生效
查看oracle datafile存放路径命令:sql>select from v$datafile
查看oracle archive的存放路路径命令:SQL> select from v$archived_log;
查看control file文件存放路径命令:SQL> select * from v$controlfile;
Oracle创建表空间
/第1步:创建临时表空间 /
create temporary tablespace ncerp_temp
tempfile 'D:\oracle\oradata\Oracle10g\ncerp_temp.dbf'
size 1024m
autoextend on
next 50m maxsize 204800m
extent management local;
/第2步:创建数据表空间 /
create tablespace DATAHUB_TEST
logging
datafile 'D:\app\Lquid\oradata\datahub_test\DATAHUB_TEST.dbf'
size 1024m
autoextend on
next 50m maxsize 20480m
extent management local;
/第3步:创建用户并指定表空间 /
create user klerp identified by KLerp2013 default tablespace ncerp_data
temporary tablespace ncerp_temp;
/第4步:给用户授予权限 /
grant connect,resource,dba to klerp;
Oracle表空间使用情况
select b.file_id file_id,
b.tablespace_name tablespace_name,
b.bytes bytes,
(b.bytes - sum(nvl(a.bytes, 0))) used,
sum(nvl(a.bytes, 0)) last,
round(sum(nvl(a.bytes, 0)) / (b.bytes) * 100,3) || '%' last_pct
from dba_free_space a, dba_data_files b
where a.file_id = b.file_id
group by b.tablespace_name, b.file_id, b.bytes
order by b.file_id;
授予用户使用表空间的权利
alter user 用户名 quota unlimited on 表空间;
或 alter user 用户名 quota *M on 表空间
注意点:
1.如果在PL/SQL 等工具里打开的话,直接修改下面的代码中[斜体加粗部分]执行
2.确保路径存在,比如【D:\oracle\oradata\Oracle9i\】也就是你要保存文件的路径存在
Oracle增加表空间
Meathod1:给表空间增加数据文件
ALTER TABLESPACE app_data ADD DATAFILE
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF' SIZE 50M;
Meathod2:新增数据文件,并且允许数据文件自动增长
ALTER TABLESPACE app_data ADD DATAFILE
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP04.DBF' SIZE 50M
AUTOEXTEND ON NEXT 5M MAXSIZE 100M;
Meathod3:允许已存在的数据文件自动增长
ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF'
AUTOEXTEND ON NEXT 5M MAXSIZE 100M;
Meathod4:手工改变已存在数据文件的大小
ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP02.DBF'
RESIZE 100M;
0、以oracle用户登陆数据库对应的IP
1、以sysdba登陆数据库
sqlplus / as sysdba
2、查询出表空间数据文件列表
select file_name from dba_data_files where tablespace_name=’表空间名称’;
3、可另开一窗口查看某一表空间数据文件的大小,以便增加指定大小的表空间。
ll /TABLESPACE/ORADATA/XXXXXXXXXXXX.dbf
4、对指定文件进行RESIZE扩充大小
alter database datafile ‘/TABLESPACE/ORADATA/XXXXXXXXXXXX.dbf’ RESIZE 1G;
附表空间管理语句:
—增加数据文件
alter tablespace 表空间名称 add datafile ‘表空间文件路径如:/path/file_name.dbf’ size 128M;
—删除数据文件
alter tablespace 表空间名称 drop datafile ‘表空间文件路径’;
—删除整个表空间
drop tablespace 表空间名称 including contents(同时删除表空间文件增加’ and datafiles ‘) cascade constraints;
—自动扩展表空间格式, 需要定义最大扩展到多少
alter database datafile ‘表空间文件全路径’ autoextend on next 每次自动扩展的大小 MAXSIZE 定义最大扩展到多少;
数据库导出导入
数据导出:
exp klerp/klym2014@klerp full=y file=g:\bgerp.dmp log=D:\export\bgerp.log
exp klerp_cs/klym2014@klerp owner=klerp_cs file=g:\bgerp.dmp
导出注意事项:导出的是当前用户的的数据,当前用户如果有DBA的权限,则导出所有数据!
—用system 用户登录
create user erpcs identified by zhangpeng; —创建用户 erpcs 为用户名 zhangpeng 为密码
grant connect,resource,dba to erpcs; —用户授权
imp usename/password@SID full=y file= d:\data\xxxx.dmp ignore=y; —导入数据
同名用户之间的数据导入:
查看用户所使用的表空间
select username, default_tablespace, temporary_tablespace from dba_users;
imp hkb/hkb@xe file=c:\orabackup\hkbfull.dmp log=c:\orabackup\hkbimp.log full=y
不同名之间的数据导入:
imp bgerp/bgerp@klerp112 file=g:\bgerp.dmp log=d:\lzerp.log full=y
log=c:\orabackup\hkbimp.log;
imp bgerp/bgerp@klerp112 fromuser=klerp_cs touser=bgerp file=g:\bgerp.dmp
imp kelunyyfp/KELUNYYFP2016@klerp fromuser=kelunyyfp touser=kelunyyfp file=g:\klerp.dmp
log=c:\orabackup\hkbimp.log;
导入数据库命令
imp sftlmis_nck(用户名)/sftlmis_nck(密码)@192.168.0.170 file=d:\sftlmis_kf.dmp full=y
Oracle启动、关闭数据库
启动数据库
1.启动实例
使用startup nomount命令启动实例,这样仅启动实例(启动后台进程+分配了内存),如果以这种方式打开数据库,将不打开控制文件,而且数据文件不打开。
2.装载数据库
Alter database mount;加载控制文件controlfile(安装模式直接启动,使用如下命令:startup mount)
3.打开数据库
Alter database open;加载数据文件和redo日志(更常见的是使用startup命令同时装载实例和打开数据库)
关闭数据库
Shutdown immediate
查看数据库状态
Select open_mode from V$database;
Oracle查看监听状态
Select status from V$instance;
监听分为动态注册和静态注册。PL/SQL连接时提示ORA-12514,该问题可能为监听服务未启动,或监听文件配置问题,oracle本地网络服务配置