放置新建的用户的数据表,D:\app\Administrator\oradata\orcl
一、
首先启动Oracle服务,然后配置数据库登录包括本机和远程的Oracle实例
D:\app\Administrator\product\11.1.0\db_1\NETWORK\ADMIN\tnsnames.ora
例子为
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = WIN-ACER)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
CXPT70 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.70)(PORT = 1521))
)
(CONNECT_DATA =
(SID = orcl)
)
)
CXPT45 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.45)(PORT = 1521))
)
(CONNECT_DATA =
(SID = orcl)
)
)
上面这三个就可以在pl/sql工具中登录,比如第二个,pl/sql中填写的四项为:
CXPT70 -- orcl -- ORCL -- SYSDBA
这是用数据库的默认的管理员的密码和身份登录的,之后再新建表空间和用户等,退出管理员身份,用新建的用户登录,进行对相应用户的各种操作。
二、
在(本机)数据库实例上放置新建用户以及他的相关数据文件--D:\app\Administrator\oradata\orcl
sql语句为(创建表空间和用户)
create tablespace wqxspjc
datafile 'D:\app\Administrator\oradata\orcl\wqxspjc.dbf'
size 50m autoextend on next 10m maxsize unlimited
logging extent management local segment space management auto;
create user wqxspjc
identified by wqxspjc default tablespace wqxspjc
temporary tablespace temp;
grant "CONNECT" to wqxspjc;
grant "RESOURCE" to wqxspjc;
grant create table,create view,create synonym to wqxspjc;
grant dba to wqxspjc;
目前本机上有的即本机的实例---数据库:ORCL
用户名--口令--数据库--身份(pl/sql的连接的填写项)
scott--tiger--ORCl--SYSDBA---Oracle自带数据库
orcl -- orcl -- ORCL -- SYSDBA-----本机的管理员用户
sys -- orcl -- ORCL -- SYSDBA-----本机的管理员用户
opi -- opi -- ORCL -- (Normal、SYSDBA)-----安安的农村医疗
cxpt -- cxpt -- ORCL -- (Normal、SYSDBA)-----河北蔬菜产销平台--产销
vecp -- vecp -- ORCL -- (Normal、SYSDBA)-----河北蔬菜产销平台--电子商务
hsspjc -hsspjc -ORCL -- (Normal、SYSDBA)-----衡水审批监察--公文交换
shopping-shopping-ORCL -- (Normal、SYSDBA)-----衡水审批监察--公文交换
MyOrcl--MyOrcl--ORCL -- (Normal、SYSDBA)-----myeclipse数据库连接
wq_spjc--wq_spjc--ORCL -- (Normal、SYSDBA)-----万全县审批监察(关联了三个表空间:wq_spjc dzjc hs_spjc)
hebtsw--hebtsw--ORCL -- (Normal、SYSDBA)-----青春直通车网络服务平台
三、数据库的常用操作
设置自增
--我们常常在表中需要插入一些自动增长的值;
--一方面,我们可以手动添加这些值,
--另一方面,oracle提供的sequence可以帮助我们实现插入的值自动增长,
--而不需要我们手动的提供值,我们需要做的就是设置好sequence的初值和增长值即可。
--关于序列的定义和参数设置,
drop table goods
create table goods(
goods_id Number(5) primary key, --goods_id varchar2(5) primary key, --String型时用的
goods_name varchar2(20),
store_date date,
goods_num number(5));
drop sequence seq_goods_id
create sequence seq_goods_id
start with 1 --10001 --String型时用10001
increment by 1
nomaxvalue
nocycle
nocache
order;
--1.通过before insert触发器
--drop trigger tri_goods_id
create or replace trigger tri_goods_id
before insert on goods
for each row
begin
select seq_goods_id.nextval into :new.goods_id from dual;
end tri_goods_id;
insert into goods(goods_name,store_date,goods_num)
values('银鹭八宝粥',to_date('2011-03-26','yyyy-mm-dd'),100);
--2.在insert语句中,直接使用sequence.nextval引用;
insert into goods(goods_id,goods_name,store_date,goods_num)
values(seq_goods_id.nextval,'圣爽矿泉水',to_date('2011-01-01','yyyy-mm-dd'),500)
删除用户
drop user wqxspjc cascade
oracle 一个用户如何分配多个表空间。
合法用途
alter user username
quota 100m on tsname;
或
alter user username
quota unlimited on tsname;
万全县项目用到的:
--删除
drop user wq_spjc cascade
drop tablespace wq_spjc
drop tablespace dzjc
drop tablespace hs_spjc
--操作
create tablespace wq_spjc
datafile 'D:\oracle\oradata\orcl\wq_spjc.dbf'
size 50m autoextend on next 10m maxsize unlimited
logging extent management local segment space management auto;
create tablespace dzjc
datafile 'D:\oracle\oradata\orcl\dzjc.dbf'
size 50m autoextend on next 10m maxsize unlimited
logging extent management local segment space management auto;
create tablespace hs_spjc
datafile 'D:\oracle\oradata\orcl\hs_spjc.dbf'
size 50m autoextend on next 10m maxsize unlimited
logging extent management local segment space management auto;
create user wq_spjc
identified by wq_spjc
grant "CONNECT" to wq_spjc;
grant "RESOURCE" to wq_spjc;
grant create table,create view,create synonym to wq_spjc;
grant dba to wq_spjc;
alter user wq_spjc
quota unlimited on wq_spjc
quota unlimited on dzjc
quota unlimited on hs_spjc
PL/SQL连接数据库
注:此oracleclient支持的Oracle的版本是11g,10g好像也行
一、 配置服务器tnsnames.ora文件,如果本机上没有安装oracle,可以从安装了oracle的机上拷贝一个(tnsnames.ora文件)放在指定目录下,因为我已安装oracle,所以直接配置该文件。
# tnsnames.ora Network Configuration File: D:\Oracle11g\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.25.224)(PORT = 1521)
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
orcl为远程Oracle数据库的实例名,IP地址和端口也要配置正确。
配置完成后,Oracle客户端应该可以连接到远程Oracle 数据库上。
cmd--
sqlplus sys/oracle@192.168.100.70/orcl as SYSDBA
二、未验证:
免安装客户第一种方法:
1、 oracle不用安装客户端也可以用plsql远程连接
首先,在安装ORACLE服务器的机器上搜索下列文件,
oci.dll
ocijdbc10.dll
ociw32.dll
orannzsbb10.dll
oraocci10.dll
oraociei10.dll(可能服务器没有,如果没有则pl sql 随便用户名密码可以登陆)
sqlnet.ora
tnsnames.ora
classes12.jar
ojdbc14.jar 放到一个文件夹,如 oraclient
2、配置tnsnames.ora,如果本机上没有安装oracle,可以从安装了oracle的机上拷贝一个(tnsnames.ora文件 在%ORACLE_HOME%\network\admin下)放在上面的目录D:\oraclient下。
oracledata =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.58)(PORT = 1521)) )
(CONNECT_DATA = (SERVICE_NAME = oracledata) )
)
3、添加一个环境变量,名为TNS_ADMIN,值为tnsnames.ora文件所在路径(如:D:\oraclient, 特别是重装后或其它操作,忘了TNS_ADMIN变量,plsql登陆就会报无法解析指定的连接标识符),这是为了能够找到上面说的tnsnames.ora。如果本机上安装了ORACLE,并且设置了ORACLE_HOME环境变量,那么会自动在%ORACLE_HOME%/network/admin/位置查找tnsnames.ora文件。
4、设置ORACLE的语言,添加环境变量: “NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,(AMERICAN_AMERICA.US7ASCII 是 ASCII编码类型,其它类型可自己到服务器看一下或网上查找一下) (本步骤暂时要做对,如果编码不对,会产生乱码)
5、下载并安装PL.SQL.Developer配置应用 配置tools->preferences->connection Oracle Home=D:\oracleclient OCI library=D:\oracleclient\oci.dll 6、再次打开plsql则会在database中有oracledata 选项输入用户名密码就可以登陆。
免安装客户第二种方法:
1. 在 Oracle 下载一个叫 Instant Client Package 的软件,不需要安装,解压到一个目录中即可,例如在本机上解压到了E:\OracleClient下边,实际上Oracle客户端的路径是E:\OracleClient\instantclient_10_2
2. 配置操作系统环境变量
NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
TNS_ADMIN=C:\oracleclient
3.进入instantclient_10_2文件夹,新建一个network文件夹,并在network文件夹下新建admin文件夹,在admin文件夹中新建名为tnsnames.ora文件,文件内容如下:databasename =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ip address)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = database name)
)
)
注意database name 和ip 根据实际填写。
4.安装PL/SQL Developer
5.进入PL/SQL Developer,(虽不能登录,但可以进入)
选择Tools->Preferences,在Oracle Home、OCI Library两栏中分别填入Oracle客户端的路径和OCI文件的路径,我在这两个选项中填写的内容是“E:\OracleClient\instantclient_10_2”和“E:\OracleClient\instantclient_10_2\oci.dll”。
6.重启一下PL/SQL,登录。
oracle导入导出数据
该命令在“开始菜单>>运行>>CMD”中执行
一、数据导出(exp.exe)
1、将数据库orcl完全导出,用户名system,密码accp,导出到d:\daochu.dmp文件中;
exp system/accp@orcl file=d:\daochu.dmp full=y //注意,一般不加full否则会把所有的导出来,会上G的水平
2、将数据库orcl中scott用户的对象导出
exp scott/accp@orcl file=d:\daochu.dmp owner=(scott)
3、将数据库orcl中的scott用户的表emp、dept导出
exp scott/accp@orcl file= d:\daochu.dmp tables=(emp,dept)
4、将数据库orcl中的表空间testSpace导出
exp system/accp@orcl file=d:\daochu.dmp tablespaces=(testSpace)
二、数据导入(imp.exe)
1、将d:\daochu.dmp 中的数据导入 orcl数据库中。
imp system/accp@orcl file=d:\daochu.dmp full=y
2、如果导入时,数据表已经存在,将报错,对该表不会进行导入;加上ignore=y即可,表示忽略现有表,在现有表上追加记录。
imp scott/accp@orcl file=d:\daochu.dmp full=y ignore=y
3、将d:\daochu.dmp中的表emp导入
imp scott/accp@orcl file=d:\daochu.dmp tables=(emp)
三、拷贝
把test1.bmp文件拷贝到test2数据库的电脑上
imp 用户名/密码 file=test1.bmp log=test.log fromuser= .... touser =....