首页 > 代码库 > oracle 基础知识
oracle 基础知识
1、 AIX环境下查看oracle配置信息(service_name、SID、tnsname)。
SID:
echo $ORACLE_SID
service_name:
sqlplus / as sysdba;
show parameter instance_name;
show parameter service_names;
show parameter service;
select instance_name from v$instance;
tnsname:
netca 查看;
tnsnames.ora查看:打开network/admin下的tnsnames.ora文件:
find . –name “tnsnames.ora” ;
cat tnsnames.ora
2、 在无TNS配置时,登录到数据库。
sqlplus user/pw@ip:port/servicename
sqlplus
user/pwd@tnsname
sqlplus
user/pwd---aix
sqlplus
/nolog>connect user/pwd
sqlplus
/ as sysdba
格式一:jdbc:oracle:thin:@//<host>:<port>/<service_name>
格式二:jdbc:oracle:thin:@<host>:<port>:<SID>
格式三:jdbc:oracle:thin:@< tnsname >
3、 快速复制一张表,并在此创建索引。
复制表结构及其数据
create table table_name_new as select * from table_name_old
只复制表结构
create table table_name_new as select * from table_name_old where 1=2
只复制表数据
insert into table_name_new select * from table_name_old
表结构不一样
insert into table_name_new(column1,column2...) select column1,column2... from table_name_old
复制表结构及其数据不写日志
create table table_name_new nologging as select * from table_name_old
设置并行度
create table testa2 (t1 int) parallel;
commit;
插入数据不写日志
alter table table_name NOLOGGING;
再修改写日志
alter table table_name LOGGING;
并行度:
查看dba_tables数据字典时,可以发现有“DEGREE”字段,这个字段表示的就是数据表的并行度。这个参数的设置,关系着数据库的I/O,以及sql的执行效率。当设置表的并行度非常高的时候,sql优化器将可能对表进行全表扫描,引起 Direct Path Read 等待 。
在使用并行查询前需要慎重考虑, 因为并行查询尽管能提高程序的响应时间, 但是会
消耗比较多的资源。
alter table t parallel(degree 1);------直接指定表的并行度
alter table t parallel; ----------设置表的并行度为default
创建索引:
create [unique] index index_name on table_name(column_name[,column_name…])
4、 Oracle11g 数据库的导入导出。
导出:
全部:
exp imagesys/imagesys@orcl file=/icms/20170116.dmp full=y
用户:
exp imagesys/imagesys @orcl file=/icms/20170116.dmp owner=imagesys
exp system file=/icms/lims2017116.dmp log=/icms/icms.log owner=imagesys
表:
exp imagesys/imagesys@orcl file=/icms/lims2017116.dmp tables=(table1,table2)
导出空表sql语句
select ‘alter table ‘||table_name||‘ allocate extent;‘ from user_tables where segment_created=‘NO‘
导入:
全部:
imp imagesys/imagesys@orcl buffer=64000 file=/icms/lims2017116.dmp FULL=Y
用户:
imp imagesys/imagesys@orcl file=/icms/lims2017116.dmp fromuser=imagesys touser=imagesys
5、 命令行将表查询结果输出到txt里
spool E:\log.txt;
select id,name from users;
spool off;
6、 AIX 、WIN写脚本形式连接数据库并将查询结果输出到文本文件。
Bat:
sqlplus arch/arch@orcl @E:\runsql\log.sql>log1.txt
sh:
sqlplus imagesys/imagesys @log.sql>log1.txt
oracle 基础知识