1、tns命令台
lsnrctl
2、检查tns是否可用
tnsping
3、查询SQL历史记录
select * from v$sql where parsing_schema_name='USERID' order by last_active_time desc
4、查询所有配置
show parameter
Learn and share.
1、tns命令台
lsnrctl
2、检查tns是否可用
tnsping
3、查询SQL历史记录
select * from v$sql where parsing_schema_name='USERID' order by last_active_time desc
4、查询所有配置
show parameter
今天使用DSN时,发现了一个问题:
在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配
原来是需要32位的DSN驱动,只要使用
C:\Windows\SysWOW64\odbcad32.exe
新建DSN就好了。
Oracle密码忘了,怎么办?
sqlplus/as sysdba alter user sys identified by xxx;
CREATE TEMPORARY TABLESPACE ATS_TEMP TEMPFILE 'D:\Oracle11g\oradata\orcl\ATS_TEMP.DBF' SIZE 200M REUSE AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED; CREATE TABLESPACE ATS_PACS DATAFILE 'D:\Oracle11g\oradata\orcl\xxxx.DBF' SIZE 200M REUSE AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED LOGGING ONLINE BLOCKSIZE 8K EXTENT MANAGEMENT LOCAL AUTOALLOCATE SEGMENT SPACE MANAGEMENT MANUAL; CREATE TABLESPACE ATS_AIGATE DATAFILE 'D:\oracle\product\10.2.0\db_1\oradata\orcl\xxxxx.DBF' SIZE 200M REUSE AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED LOGGING ONLINE BLOCKSIZE 8K EXTENT MANAGEMENT LOCAL AUTOALLOCATE SEGMENT SPACE MANAGEMENT MANUAL; CREATE USER AIGATE IDENTIFIED BY AIGATE DEFAULT TABLESPACE ATS_AIGATE TEMPORARY TABLESPACE ATS_TEMP PROFILE DEFAULT; GRANT DBA TO AIGATE WITH ADMIN OPTION;
前几天用OB9导入导出表空间的时候,发现一个问题,
如果RAC连接字符串写的不全,是无论如何都导不进去的,
而OB9大哥的连接字符串却又有长度限制,可怜我一个晚上啊。
最后改用监听,OK了。
(DESCRIPTION=(ADDRESS_LIST= (ADDRESS=(PROTOCOL=TCP)(HOST=192.168.120.220)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.120.221)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.120.222)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.120.223)(PORT=1521))(LOAD_BALANCE=yes)(FAILOVER=on))(CONNECT_DATA=(SERVICE_NAME=ractest)))
OB9导入导出数据库,也是用了oracle自带的命令行工具(imp.exe和exp.exe)
导入时,其调用命令行就是:
D:\oracle\product\10.2.0\db_1\BIN\imp.exe 'user2/pass2@(DESCRIPTION=(ADDRESS_LIST= (ADDRESS=(PROTOCOL=TCP)(HOST=192.168.120.220)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.120.221)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.120.222)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.120.223)(PORT=1521))(LOAD_BALANCE=yes)(FAILOVER=on))(CONNECT_DATA=(SERVICE_NAME=ractest)))' PARFILE="D:\OB9\temp\Imp.PRM"
而Imp.PRM是一个配置文件
FILE="D:\OB9\XXX.DMP" LOG="D:\OB9\IMP.LOG" BUFFER=4096 RECORDLENGTH=1024 GRANTS=Y INDEXES=Y ROWS=Y IGNORE=Y COMMIT=N DESTROY=N FROMUSER=( "user1" ) TOUSER=( "user2" )
导出时,其调用命令行就是:
D:\oracle\product\10.2.0\db_1\BIN\exp.exe 'user1/pass1@(DESCRIPTION=(ADDRESS_LIST= (ADDRESS=(PROTOCOL=TCP)(HOST=192.168.120.220)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.120.221)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.120.222)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.120.223)(PORT=1521))(LOAD_BALANCE=yes)(FAILOVER=on))(CONNECT_DATA=(SERVICE_NAME=ractest)))' PARFILE="D:\OB9\temp\Exp.PRM"
而Exp.PRM是一个配置文件
FILE="D:\OB9\xxx.DMP" LOG="D:\OB9\EXP.LOG" BUFFER=4096 RECORDLENGTH=1024 COMPRESS=Y GRANTS=Y INDEXES=Y ROWS=Y CONSTRAINTS=Y RECORD=Y CONSISTENT=N STATISTICS=NONE OWNER=( "user1" )
今天和潘潘一起测RAC,结果出现了很神奇的事情
相同配置的几台机器,有的连接RAC正常,有几台确死活连接不上
郁闷了一个下午。
开始怀疑是操作系统版本和环境变量的事情,发现没有任何规律。
后来怀疑是驱动的问题,换了n个驱动,还是不行。
管理工具和测试小程序却都很争气的连接成功。
后来改用OCI连接,结果终于返回了一个错误编码ORA-12545。
原来是Oracle RAC服务端监听的问题。(命名是个大Bug,Oracle还不承认)
解决方法:修改监听参数
--RAC服务器1 ALTER SYSTEM SET LOCAL_LISTENER = '(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.120.81)(PORT = 1521))' SID = 'ractest1'; --RAC服务器2 ALTER SYSTEM SET LOCAL_LISTENER = '(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.120.82)(PORT = 1521))' SID = 'ractest2';
修改监听后,终于好了。
后面查到还有一种修改方式,
在RAC的每个节点上编辑$ORACLE_HOME/network/admin/tnsnames.ora,增加
local_listener_rac= (ADDRESS_LIST= (ADDRESS=(PROTOCOL=tcp)(HOST=<vip>)(PORT=1521)) )
其中
然后,在rac的任意一个节点上修改数据库参数,设置local_listener为local_listener_rac
alter system set local_listener='local_listener_rac' scope=spfile;
重新启动各个节点上的数据库实例,应该就好了,这个没测过,呵呵。
mysql -u user_name -p -D db_name< path_to_sql/xxx.sql 或 mysql> source path_to_sql/xxx.sql
1.安装VS2008sp1后,安装SQLServer2008,会提示没有安装VS2008sp1,原因是所安装的VS2008为RTM版
setup.exe /ACTION=install /SkipRules=VSShellInstalledRule
2.跳过SQL2008性能计数器错误
setup.exe /ACTION=install /SKIPRULES=PerfMonCounterNotCorruptedCheck
在PL SQL>提示符下输入:
@XXX.sql
即可
方法1:
SQL> select * from v$version; BANNER ---------------------------------------------------------------- Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production PL/SQL Release 9.2.0.1.0 - Production CORE 9.2.0.1.0 Production TNS for 32-bit Windows: Version 9.2.0.1.0 - Production NLSRTL Version 9.2.0.1.0 - Production
方法2:
SQL> select * from product_component_version; PRODUCT VERSION STATUS ------------------------------ ------------------------------ ------------------------------ NLSRTL 9.2.0.1.0 Production Oracle9i Enterprise Edition 9.2.0.1.0 Production PL/SQL 9.2.0.1.0 Production TNS for 32-bit Windows: 9.2.0.1.0 Production