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]其中在中括号内为可选内容

新建用户

  1. 以管理员登陆: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:

  1. SELECT username,PROFILE FROM dba_users;

2、查看指定概要文件(如default)的密码有效期设置:

  1. SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';

3、将密码有效期由默认的180天修改成“无限制”:

  1. 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步:创建临时表空间 /

  1. create temporary tablespace ncerp_temp
  2. tempfile 'D:\oracle\oradata\Oracle10g\ncerp_temp.dbf'
  3. size 1024m
  4. autoextend on
  5. next 50m maxsize 204800m
  6. extent management local;

/第2步:创建数据表空间 /

  1. create tablespace DATAHUB_TEST
  2. logging
  3. datafile 'D:\app\Lquid\oradata\datahub_test\DATAHUB_TEST.dbf'
  4. size 1024m
  5. autoextend on
  6. next 50m maxsize 20480m
  7. extent management local;

/第3步:创建用户并指定表空间 /

  1. create user klerp identified by KLerp2013 default tablespace ncerp_data
  2. temporary tablespace ncerp_temp;

/第4步:给用户授予权限 /

  1. grant connect,resource,dba to klerp;

Oracle表空间使用情况

  1. select b.file_id file_id,
  2. b.tablespace_name tablespace_name,
  3. b.bytes bytes,
  4. (b.bytes - sum(nvl(a.bytes, 0))) used,
  5. sum(nvl(a.bytes, 0)) last,
  6. round(sum(nvl(a.bytes, 0)) / (b.bytes) * 100,3) || '%' last_pct
  7. from dba_free_space a, dba_data_files b
  8. where a.file_id = b.file_id
  9. group by b.tablespace_name, b.file_id, b.bytes
  10. order by b.file_id;

授予用户使用表空间的权利

  1. alter user 用户名 quota unlimited on 表空间;
  2. 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本地网络服务配置