数据库


Oracle常用操作

<h3>Oracle操作列表</h3> <pre><code class="language-bash"> 1、修改Oracle用户密码 2、创建表空间 3、创建Oracle用户名 4、Oracle数据库导入、导出操作 4.1、创建备份数据库存放目录 4.2、impdp用法 4.3、impdp参数schemas=原用户:目标用户(Linux)应用 4.4、expdp用法 4.5、impdp用法(Windows) 4.6、imp用法(Linux) 5、Oracle查看、修改最大连接数与当前连接数 5.1、登录数据库 5.2、查看当前的连接数 5.3、数据库允许的最大连接数 5.4、修改最大连接数 5.5、重启数据库</code></pre> <h4>1、修改Oracle用户密码</h4> <p>在命令行下登录数据库</p> <pre><code class="language-bash">[oracle@etdb expdpbak]$ sqlplus / as sysdba SQL&gt; alter user system identified by Hzsun310012;</code></pre> <p>再用plsql工具以system登录即可。</p> <h4>2、创建表空间</h4> <pre><code class="language-bash">create tablespace ZYTK_AC datafile 'ZYTK_AC.DBF' size 100M reuse autoextend on next 50M maxsize UNLIMITED FORCE LOGGING online flashback on extent management local autoallocate;</code></pre> <h4>3、创建Oracle用户名</h4> <pre><code class="language-bash">--创建用户 CREATE USER zytk35 IDENTIFIED BY “password”; --给用户授予权限 GRANT CREATE SESSION, CREATE ANY TABLE, CREATE ANY VIEW ,CREATE ANY INDEX, CREATE ANY PROCEDURE,ALTER ANY TABLE, ALTER ANY PROCEDURE,DROP ANY TABLE, DROP ANY VIEW, DROP ANY INDEX, DROP ANY PROCEDURE,SELECT ANY TABLE, INSERT ANY TABLE, UPDATE ANY TABLE, DELETE ANY TABLE TO zytk35; --将连接和DBA这个角色授于zytk35,也就是说,使zytk35这个用户可以管理和使用connect,DBA所拥有的资源 GRANT connect,DBA TO zytk35;</code></pre> <h4>4、Oracle数据库导入、导出操作</h4> <p>参数说明:</p> <pre><code class="language-bash">schemas=原用户名:目标用户名 #目标用户需提前创建 schemas=usr_tucao:lzutucao #当目标用户名不存时,相当于下面这行 schemas=usr_tucao table_exists_action=replace #覆盖导入 directory=expdpbak #固定写法,可自己创建,登录plsql工具,找到Directories,右键创建新路径和名称,或命令创建</code></pre> <h5>4.1、创建备份数据库存放目录</h5> <p>在Linux命令行下操作如下</p> <h6>4.1.1、创建Oracle可访问的目录并赋予oracle:oinstall的权限</h6> <pre><code class="language-bash">[root@oracle/]# mkdir –p /oradb_impdp_expdp/expdp_dir [root@oracle/]# chown -R oracle:oinstall /oradb_impdp_expdp/expdp_dir</code></pre> <h6>4.1.2、切换到oracle用户</h6> <p>[root@oracle/]# su - oracle</p> <h6>4.1.3、创建expdp目录</h6> <pre><code class="language-bash">[oracle@ETDB24 oradb_impexp]$ cd /oradb_impdp_expdp [oracle@ETDB24 expdp_impexp]$ cd expdp_dir/ [oracle@ETDB24 expdp_dir]$ pwd /oradb_impdp_expdp/expdp_dir</code></pre> <h6>4.1.4、关联目录</h6> <pre><code class="language-bash">[oracle@ETDB24 expdp]$ sqlplus / as sysdba SQL&gt; create directory expdp_dir as '/oradb_impdp_expdp/expdp_dir'; 目录已创建。</code></pre> <h6>4.1.5、赋予数据库用户easytong可直接读写的权限</h6> <pre><code class="language-bash">SQL&gt; grant read,write on directory expdp_dir to easytong; 授权成功。</code></pre> <h6>4.1.6、执行备份数据库命令</h6> <p>通过easytong用户导出数据库EasyTongDB对象的数据,将其存放到/oradb/expdp_dir 目录下。(注意:切换到操作系统命令行执行)</p> <pre><code class="language-bash">[oracle@ETDB24 expdp]$ expdp easytong/310012@EasyTongDB schemas=easytong dumpfile=EasyTondDB.dmp DIRECTORY=expdp_dir version=11.2.0.4.0</code></pre> <h5>4.2、impdp用法</h5> <h6>4.2.1、以system用户导入的步骤</h6> <p>1、以system用户登录plsql执行创建表空间脚本(EasyTong_oracle_01_CreateTblSpace.sql),脚本中可以不创建用户; 2、在Linux中执行导入</p> <pre><code class="language-bash">impdp system/310012@easytongDB directory=impdp_dir transform=segment_attributes:n remap_schema=easytong:hzqsn dumpfile=easytongdb.dmp logfile=easytongdb.dmp.txt</code></pre> <h6>4.2.2、以普通用户导入</h6> <p>注意:关联目录参考 步骤4.1.4 1、以system用户登录plsql执行创建表空间脚本(EasyTong_oracle_01_CreateTblSpace.sql) 2、修改easytong密码(脚本中为空,设置密码为310012) 3、在Linux中,执行导入命令:</p> <pre><code class="language-bash">impdp easytong/310012@EasyTongDB directory=impdp_dir dumpfile=EasyTongDB.dmp logfile=EasyTongDB.dmp.log</code></pre> <p>其它说明:</p> <pre><code class="language-bash">SQL&gt; select * from dba_directories; SQL&gt; drop directory backup;</code></pre> <h5>4.3、impdp参数schemas=原用户:目标用户(Linux)应用</h5> <p>schemas=usr_tucao:lzutucao #当目标用户名不存时,相当于下面这行 schemas=usr_tucao</p> <pre><code class="language-bash">impdp system/Hzsun310012@192.168.1.237/etdb transform=segment_attributes:n directory=expdpbak schemas=usr_tucao:lzutucao table_exists_action=replace dumpfile=USR_TUCAO_20191120.dmp logfile=impdp_USR_TUCAO_20191120.log</code></pre> <h5>4.4、expdp用法</h5> <pre><code class="language-bash">expdp system/hz310012@192.168.1.237/easytongdb directory=data_pump_dir schemas=easytong dumpfile=easytongdb_20190829.dmp logfile=easyotngdb20190829.log</code></pre> <h5>4.5、impdp用法(Windows)</h5> <pre><code class="language-bash">impdp.exe system/310012@192.168.1.237/zytk35 transform=segment_attributes:n directory=data_pump_dir schemas=easytong dumpfile=etbak_expdp_20171107_140942.dmp logfile=impeasytong.log</code></pre> <h5>4.6、imp用法(Linux)</h5> <pre><code class="language-bash">imp system/hz310012@192.168.1.94:1521/easytongdb file=/u01/app/oracle/admin/easytongdb/dpdump/zytk35.dmp tablespaces=\(ZYTK35_OP,ZYTK35_AC,ZYTK35_ID\) full=y log=/u01/app/oracle/admin/easytongdb/dpdump/zytk35.log</code></pre> <pre><code class="language-bash">imp zytk35/310012@192.168.1.94:1521/easytongdb file=/u01/app/oracle/admin/easytongdb/dpdump/zytk35.dmp tablespaces=\(ZYTK35_OP,ZYTK35_AC,ZYTK35_ID\) full=y log=/u01/app/oracle/admin/easytongdb/dpdump/zytk35.log</code></pre> <pre><code class="language-bash">imp system/hz310012@192.168.1.94:1521/easytongdb fromuser=zytk35 touser=zytk35 file=/u01/app/oracle/admin/easytongdb/dpdump/zytk35.dmp tablespaces=\(ZYTK35_OP,ZYTK35_AC,ZYTK35_ID\) full=y log=/u01/app/oracle/admin/easytongdb/dpdump/zytk35.log</code></pre> <h4>5、Oracle 查看、修改最大连接数与当前连接数</h4> <p>修改数据库最大连接数后,需要重启Oracle。</p> <h5>5.1、登录数据库</h5> <p><code>sqlplus / as sysdba</code></p> <h5>5.2、查看当前的连接数</h5> <p><code>SQL&gt; select count(*) from v$process;</code></p> <h5>5.3、数据库允许的最大连接数</h5> <p><code>SQL&gt; select value from v$parameter where name = 'processes';</code></p> <h5>5.4、修改最大连接数</h5> <p><code>SQL&gt; alter system set processes = 300 scope = spfile;</code></p> <h5>5.5、重启数据库</h5> <pre><code class="language-bash">shutdown immediate startup</code></pre> <h4>6.关闭监听日志</h4> <pre><code class="language-bash">lsnrctl set log_status off</code></pre>

页面列表

ITEM_HTML