由于经常使用到一些命令,在此记录下吧,要不每次都得baidu搜一下,太麻烦了。
1.占用端口命令(80为端口)
netstat -aon | findstr "80"
2.oracle数据库导入导出命令
1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中
exp system/manager@TEST file=d:\daochu.dmp full=y
2.将D:\daochu.dmp 中的数据导入 TEST数据库中。
imp system/manager@TEST file=d:\daochu.dmp
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
在后面加上 ignore=y 就可以了。
导出单张表(通常情况下,可以用plsql导出数据,但是如果表中有大字段的情况下,plsql就不行了,可以用此命令导出带有大字段的表,不过这里面含有创建表的语句,导入之前需要将源表删除)
imp system/manager@TEST file=d:\daochu.dmp tables=表名
3.mysql更改密码
mysqladmin -u root -p password 123
说明:在cmd下直接运行,不要在mysql> 这里面运行。123是新密码,回车后输入旧的密码然后再回车就可以更改成功了,切记password后面输入密码的时候,只输入密码就行了,如果这样写mysqladmin -u root -p password 'root'; 这样写的话,密码就是'root';
4.mysql开启远程连接服务
授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
5.如果oracle下一个用户想查询另一个用户下的信息,通常的做法是用户名.表名查询,现在有另外一种方法。
使用oracle的同义词,直接就可以通过表名去查询。
创建同义词命令如下:
create or replace synonym DIM_AJDJ for SSFXDW.DIM_AJDJ;
6.查看某个用户占用了数据库中的多少个连接
select machine,count(1)from v$session v group by machine
7.对表和索引进行分析
analyze table AA compute statistics;
analyze index PK_AA compute statistics;
8.分析后的记录查询
select * from user_tables
9.复制表结构
create table 新表 as select * from 已有table where 1=2
10.复制表数据
Insert into Table2(a, c, d) select a,c,5 from Table1;
11 复制表结构和数据
create table 新表 as select * from 已有table
12 读取模型方法:
dataObj.getMap(collection.getDataMeta());
13. 锁表命令:
查看锁表进程SQL语句1:
select sess.sid,
sess.serial#,
lo.oracle_username,
lo.os_user_name,
ao.object_name,
lo.locked_mode
from v$locked_object lo,
dba_objects ao,
v$session sess
where ao.object_id = lo.object_id and lo.session_id = sess.sid;
查看锁表进程SQL语句2:
select * from v$session t1, v$locked_object t2 where t1.sid = t2.SESSION_ID;
杀掉锁表进程:
如有記錄則表示有lock,記錄下SID和serial# ,將記錄的ID替換下面的738,1429,即可解除LOCK
alter system kill session '738,1429';